Packages

Every package published on the ecko-lang org, installable with one command. There is no registry to search and no account to create: the repository address is the package.

30 packages

  • bisectpure

    Binary search over a sorted list: insertion points, membership, and order-preserving insert.

    import bisect

    ecko get github.com/ecko-lang/bisect
  • cachefs:read fs:write

    In-memory LRU cache with TTL over an optional disk store. get, set, and remember(key, ttl, fn).

    import cachedocs →

    ecko get github.com/ecko-lang/cache
  • clipure

    Command-line argument parsing: typed flags, options, positionals, defaults, and generated usage.

    import clidocs →

    ecko get github.com/ecko-lang/cli
  • cookiespure

    Parse and serialize HTTP cookies for client sessions: read Set-Cookie into a jar, build the Cookie header.

    import cookiesdocs →

    ecko get github.com/ecko-lang/cookies
  • datetimepure

    Calendar dates, times, and durations: components, arithmetic, and formatting over Unix-ms timestamps.

    import datetimedocs →

    ecko get github.com/ecko-lang/datetime
  • dequepure

    A double-ended queue: push, pop, and peek at both ends, amortized O(1). Immutable two-stack deque.

    import dequedocs →

    ecko get github.com/ecko-lang/deque
  • fuzzypure

    String similarity: Levenshtein, Jaro-Winkler, Dice and Jaccard, plus best-match selection over a list.

    import fuzzy

    ecko get github.com/ecko-lang/fuzzy
  • geopure

    Geospatial basics: geohash encode and decode, great-circle distance and bearing, and bounding boxes.

    import geo

    ecko get github.com/ecko-lang/geo
  • graphpure

    Adjacency-list graphs: build, traverse, and answer reachability and path questions.

    import graph

    ecko get github.com/ecko-lang/graph
  • heappure

    A priority queue (min-heap): push, pop, and peek, heapify, and top-k. Immutable skew heap.

    import heapdocs →

    ecko get github.com/ecko-lang/heap
  • htmlpure

    A tolerant HTML parser: parse to a node tree, extract text, and find elements.

    import htmldocs →

    ecko get github.com/ecko-lang/html
  • inflectpure

    String inflection: URL slugs, English pluralisation, ordinals, and identifier case conversion.

    import inflect

    ecko get github.com/ecko-lang/inflect
  • ippure

    IPv4 and IPv6 address parsing, validation, CIDR membership, and private-range checks.

    import ipdocs →

    ecko get github.com/ecko-lang/ip
  • mcpnet

    Model Context Protocol, both directions: call an MCP server's tools, or be one.

    import mcp

    ecko get github.com/ecko-lang/mcp
  • mimepure

    Build MIME messages (multipart, attachments, RFC 5322) and look up media types by file extension.

    import mime

    ecko get github.com/ecko-lang/mime
  • moneypure

    Exact currency arithmetic on Decimal: ISO 4217 minor units, and allocation that never loses a cent.

    import money

    ecko get github.com/ecko-lang/money
  • mysql-clientnet

    A MySQL and MariaDB client: classic protocol and mysql_native_password over std.net.

    import "mysql-client" as mysqldocs →

    ecko get github.com/ecko-lang/mysql-client
  • perfpure

    Benchmark and time your own code: time, measure, and bench with best-of-N stats.

    import perfdocs →

    ecko get github.com/ecko-lang/perf
  • postgresql-clientnet

    A PostgreSQL client: v3 wire protocol and SCRAM-SHA-256 over std.net.

    import "postgresql-client" as postgresqldocs →

    ecko get github.com/ecko-lang/postgresql-client
  • redactpure

    Sensitive-key detection and masking for safe logging: is_sensitive_key, mask, and recursive map_of.

    import redactdocs →

    ecko get github.com/ecko-lang/redact
  • redis-clientnet

    A Redis client (RESP2) over std.net raw sockets and TLS.

    import "redis-client" as redisdocs →

    ecko get github.com/ecko-lang/redis-client
  • semverpure

    Semantic Versioning 2.0.0: parse, compare, sort, and match version ranges.

    import semver

    ecko get github.com/ecko-lang/semver
  • smtp-clientnet

    An SMTP client (RFC 5321): send email over raw sockets and STARTTLS.

    import "smtp-client" as smtpdocs →

    ecko get github.com/ecko-lang/smtp-client
  • statspure

    Descriptive statistics: mean, median, mode, variance, stdev, and quantiles.

    import statsdocs →

    ecko get github.com/ecko-lang/stats
  • structpure

    Pack and unpack binary data with a struct-style format string, over the bytes type.

    import structdocs →

    ecko get github.com/ecko-lang/struct
  • textwrappure

    Wrap, fill, indent, dedent, and shorten text, for prompt building and terminal output.

    import textwrapdocs →

    ecko get github.com/ecko-lang/textwrap
  • tuipure

    Terminal UI composition: width-aware pad, center, and truncate, bordered boxes, and aligned tables over std.term.

    import tuidocs →

    ecko get github.com/ecko-lang/tui
  • urlpure

    URL parsing, query strings, and RFC 3986 reference resolution.

    import urldocs →

    ecko get github.com/ecko-lang/url
  • validatepure

    Composable validator functions, whole-object schemas, and collect-all errors.

    import validatedocs →

    ecko get github.com/ecko-lang/validate
  • xmlpure

    An XML parser: parse to a node tree, query by tag or path, extract text, and rebuild.

    import xmldocs →

    ecko get github.com/ecko-lang/xml

Capabilities are what a package declares it needs. What is actually enforced is the grant you give it when you import, so pure means it asks for nothing at all. How manifests work →