API reference
The reference lists every name in the library for the release this line pins, with its signature and what it is for. It covers the public API you call and the internal functions behind it. The theory lives on the content pages, and a Python entry that implements one links to it.
The three references
| Reference | What it documents | How it is built |
|---|---|---|
| Python | every name import helixio reaches, and the members of each |
from the pinned wheel's own type stub, checked against the surface the parity machinery measures |
Rust: helixrs |
the engine crate, module by module: its public API and its internal functions, types and modules | by cargo doc --document-private-items, from the pinned revision |
Python binding: helixio_core |
the Rust crate behind import helixio: how each Python name converts its arguments and calls the engine |
by cargo doc --document-private-items, from the pinned revision |
Public and internal items
The Rust references show every item, whatever its visibility. Read the signature to tell them apart:
| Signature starts with | Meaning | Can you call it? |
|---|---|---|
pub fn |
public API | yes, from your crate |
pub(crate) fn, pub(super) fn |
internal, shared inside the crate | no |
fn |
internal, private to its module | no |
Internal items are documented so you can trace a result through the engine. They are not part of
the compatibility promise. An internal function can change or disappear in any release, so build
only against pub items.
Why Python and Rust differ in size
The Python package does not reach everything the Rust crate exports. The difference is measured,
not described: the parity ledger (parity_classification.toml, checked by make parity) lists
every Rust name the package does not reach, with a reason. Where a page shows one language only,
that ledger is what justifies it.
Building the reference
The Python page is regenerated and checked by make api, which is part of make check. The Rust
references take longer to build, so they have their own target:
make api-rust # build both crates' references, internals included
make site-build # render the site and mount them under /api/rust/
If you have not run make api-rust, the site still renders, but without the Rust links.
What the reference is not
It is not where a concept is explained. A signature tells you what to pass. It does not tell you why an overnight leg telescopes to two discount factors, or which day count lets you sum a daily grid. The content pages derive those.
It is not hand-written. Every reference is generated from the pin, so an entry cannot outlive
the code it describes. The Python side fails make api if the stub and the measured surface differ
by even one name.
From the 0.0 line at revision bf7f2e2. Every printed number is that revision's own output.