Packages
Every package on the ecko-lang org. Name the repository and that address is the package: no registry, no account, nobody to ask.
40 packages
-
Binary search over a sorted list: insertion points, membership, and order-preserving insert.
pure
-
In-memory LRU cache with TTL over an optional disk store. get, set, and remember(key, ttl, fn).
fs:read fs:write
-
Resumable long-running jobs: a transactional cursor over std.sql, so a restart resumes.
pure
-
Command-line argument parsing: typed flags, options, positionals, defaults, and generated usage.
pure
-
Read and write the OS clipboard: pbcopy on macOS, clip on Windows, wl-copy or xclip on Linux.
exec env
-
Parse and serialize HTTP cookies for client sessions: read Set-Cookie into a jar, build the Cookie header.
pure
-
Cron expressions: parse the five fields, find the next fire time, and test a moment.
pure
-
Calendar dates, times, and durations: components, arithmetic, and formatting over Unix-ms timestamps.
pure
-
A double-ended queue: push, pop, and peek at both ends, amortized O(1). Immutable two-stack deque.
pure
-
String similarity: Levenshtein, Jaro-Winkler, Dice and Jaccard, plus best-match selection over a list.
pure
-
Geospatial basics: geohash encode and decode, great-circle distance and bearing, and bounding boxes.
pure
-
Adjacency-list graphs: build, traverse, and answer reachability and path questions.
pure
-
A priority queue (min-heap): push, pop, and peek, heapify, and top-k. Immutable skew heap.
pure
-
A tolerant HTML parser: parse to a node tree, extract text, and find elements.
pure
-
Durations, byte sizes, relative times, ordinals and counted words, written for people to read.
pure
-
Message catalogues: JSON files, {name} interpolation, and CLDR plural rules.
fs:read
-
Idempotency-Key store for mutating HTTP APIs, backed by std.sql.
pure
-
String inflection: URL slugs, English pluralisation, ordinals, and identifier case conversion.
pure
-
IPv4 and IPv6 address parsing, validation, CIDR membership, and private-range checks.
pure
-
Markdown to blocks and safe HTML, plus the headings, code blocks and tables in it.
pure
-
Model Context Protocol, both directions: call an MCP server's tools, or be one.
net exec
-
Build MIME messages (multipart, attachments, RFC 5322) and look up media types by file extension.
pure
-
Exact currency arithmetic on Decimal: ISO 4217 minor units, and allocation that never loses a cent.
pure
-
A MySQL and MariaDB client: classic protocol and mysql_native_password over std.net.
import mysql_client as mysqlnet
-
Transactional outbox with at-least-once relay over std.sql.
pure
-
Benchmark and time your own code: time, measure, and bench with best-of-N stats.
pure
-
A PostgreSQL client: v3 wire protocol and SCRAM-SHA-256 over std.net.
import postgresql_client as postgresqlnet
-
Durable job queue with leases over std.sql.
pure
-
Sensitive-key detection and masking for safe logging: is_sensitive_key, mask, and recursive map_of.
pure
-
A Redis client (RESP2) over std.net raw sockets and TLS.
import redis_client as redisnet
-
Semantic Versioning 2.0.0: parse, compare, sort, and match version ranges.
pure
-
An SMTP client (RFC 5321): send email over raw sockets and STARTTLS.
import smtp_client as smtpnet
-
Descriptive statistics: mean, median, mode, variance, stdev, and quantiles.
pure
-
Pack and unpack binary data with a struct-style format string, over the bytes type.
pure
-
Wrap, fill, indent, dedent, and shorten text, for prompt building and terminal output.
pure
-
Terminal UI composition: width-aware pad, center, and truncate, bordered boxes, and aligned tables over std.term.
pure
-
URL parsing, query strings, and RFC 3986 reference resolution.
pure
-
Composable validator functions, whole-object schemas, and collect-all errors.
pure
-
Web-app batteries: HTML templates that escape by default, CSRF protection, and revocable sessions.
fs:read net
-
An XML parser: parse to a node tree, query by tag or path, extract text, and rebuild.
pure
No packages match. Try a shorter word, or press Escape to clear.
31 of the 40 declare pure: they ask
for nothing at all. Capabilities are what a package declares it needs, and what
you actually enforce is the grant you give it when you import.
How manifests work →