Appearance
Implementation progress
Modules
| Module | Status | Notes |
|---|---|---|
math | Initial API complete | Typed integer, floating-point, sequence, trigonometric, and special functions. Integers use signed 64-bit WIT values. |
hashlib | Initial API complete | Incremental hashes, constructors, metadata, copy, digest, hexadecimal digest, and PBKDF2-HMAC. |
itertools | Initial finite API | Integer sequences: accumulate, chain, combinations, compress, islice, pairwise, permutations, product, and repeat. |
random | Initial API complete | Seeded generators, state, integer/sequence operations, bytes, and probability distributions; non-cryptographic only. |
| Numeric value modules | Initial typed API | statistics, exact-string fractions, and precision-controlled string decimal operations. |
| Binary transform modules | Initial typed API | One-shot hmac, base64, and binascii byte operations. |
| Collection algorithms | Initial typed API | Pure bisect and heapq operations over signed 64-bit integer arrays. |
| Text and structured data | Initial typed API | string, textwrap, in-memory csv, JSON values, html, and urllib.parse. |
| Dates and identifiers | Initial typed API | Explicit datetime, calendar, and deterministic UUID parsing and generation. |
| Other standard-library modules | Evaluating | See the module support matrix for capability-dependent exclusions. |
Explicit stubs
| API | Status | Reason |
|---|---|---|
hashlib.file_digest | Unimplemented | Arbitrary Python file-like objects cannot cross the typed WIT boundary. |
hashlib.scrypt | Unimplemented | The required native backend is unavailable in the current component runtime. |
Verification
- Adapter Python is generated from
api/adapters.jsonand checked with file snapshots. - Every exported function in the portable module expansion is compared with uv-pinned CPython 3.14.6.
- Python reference expressions are batched into one subprocess per test suite.
- Every module has a committed gzip size snapshot; the shared runtime has an 18 MiB raw build ceiling.
- All modules share one merged component and one initialization promise.