Modules
Overview of all kipferl runtime modules
The project and package workflows are available in
v0.7.2 and the current source checkout. Homebrew installs the stable release.
Choose a version and follow the installation guide.
kipferl includes 50+ native modules implemented in Rust for performance, safety, and a compact binary.
Standalone builds include the common core directly and add the complete runtime
when imports need an optional capability. The module APIs do not change between
profiles. See Tree-shaken builds for the
profile assigned to each module group.
| Module | Description |
|---|
| tui | Boxes, tables, progress bars, spinners, status messages |
| input | Interactive prompts: select, multiselect, confirm, password |
| term | Terminal control: size, cursor, raw mode |
| ansi | ANSI escape codes for colors and styles |
| Module | Description |
|---|
| http.client | HTTP/HTTPS client with built-in Rustls certificate verification |
| Module | Description |
|---|
| Data format guide | Complete APIs, examples, and compatibility boundaries |
| json | JSON file/string reading and writing |
| yaml | YAML 1.2 file/string reading and writing |
| toml / tomllib | TOML reading and writing (tomllib is read-only) |
| kdl | KDL 2.0 file/string reading and writing |
| xml.etree.ElementTree | Focused XML tree parsing and writing |
| csv | Focused CSV reading and writing |
| configparser | Focused INI/CFG reading and writing |
| Module | Description |
|---|
| os | OS interface (environ, path operations) |
| pathlib | Object-oriented paths |
| glob | Pathname pattern expansion |
| shutil | Shell utilities (copy, move, rmtree) |
| tempfile | Temporary files and directories |
| zipfile | ZIP archive handling |
| tarfile | TAR archive handling |
| gzip | GZIP compression |
| Module | Description |
|---|
| re | Regular expressions |
| textwrap | Text wrapping and filling |
| string | String constants |
| Module | Description |
|---|
| subprocess | Process spawning |
| signal | Signal handling |
| argparse | Argument parsing |
| logging | Logging framework |
| datetime | Date and time |
| time | Time functions |
| Module | Description |
|---|
| collections | Specialized containers |
| heapq | Heap queue |
| itertools | Iterator tools |
| functools | Functional utilities |
| Module | Description |
|---|
| hashlib | Secure hashes (md5, sha1, sha256) |
| hmac | HMAC message authentication |
| secrets | Secure random generation |
| base64 | Base64 encoding |
| Module | Description |
|---|
| sqlite3 | SQLite database |
| Module | Description |
|---|
| math | Mathematical functions |
| random | Random number generation |
| statistics | Statistical functions |
| uuid | UUID generation |
| dataclasses | Data classes |
| typing | Runtime annotation helpers and compatibility aliases; limited introspection |
These module names describe a focused runtime surface, not complete CPython
implementations. The checked-in compatibility report
records the tested APIs and baseline skips. Passing that suite does not imply
support for every standard-library module or third-party package.
The following behavior is part of the v0.7.0 runtime and was exercised in the
release candidate. v0.6.0 predates these changes. Version 0.7 also changes dynamic
dotted imports to return their root by default; see the upgrade notes.
For source changes after a release, see
runtime development and embedded assets.
| Area | Behavior to account for |
|---|
bytearray(n) | Integer zero-fill construction is limited to 64 MiB and raises ValueError above the limit. This is not a universal size cap for construction from existing bytes or lists. |
itertools.islice | Start and stop must be nonnegative; step must be at least one. |
itertools.takewhile, dropwhile | Return eager lists. A predicate that changes the input list's length raises RuntimeError. |
heapq | Keep collection lengths unchanged during comparison callbacks. Detected length mutations raise RuntimeError; callback exceptions propagate. |
copy.deepcopy | Container entries are snapshotted before invoking custom hooks. |
http.client | Timeouts must be None or finite, nonnegative values fitting the platform's duration/deadline range. Invalid values raise ValueError when making the request. Response bodies are capped at 8 MiB. |
subprocess.run | Returns a dictionary, not CPython's CompletedProcess. Captures at most the first 1 MiB of each output stream while draining the rest, so long output is truncated. |
| Numeric ranges | Out-of-range math.ldexp results and struct float32 conversions use ValueError; this runtime does not expose CPython's OverflowError. |
For file iteration, exception syntax, third-party dependencies, and actionable
failure messages, see Debugging and dependencies.