Esc

    The API is under testing and may change before release.

    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.