2026-03-23 23:34:28 +05:30
|
|
|
# Packaging and distribution
|
|
|
|
|
|
|
|
|
|
This document describes how ferro-ta is packaged and published.
|
|
|
|
|
|
|
|
|
|
## PyPI (pip)
|
|
|
|
|
|
|
|
|
|
Wheels are built by CI on release (see [RELEASE.md](RELEASE.md)).
|
2026-03-24 01:00:17 +05:30
|
|
|
Release publishing currently targets CPython 3.10, 3.11, 3.12, and 3.13 on:
|
|
|
|
|
|
|
|
|
|
- Linux x86_64 (`manylinux_2_17` / `manylinux2014`)
|
|
|
|
|
- macOS universal2 (covers Intel and Apple Silicon)
|
|
|
|
|
- Windows x86_64
|
|
|
|
|
|
|
|
|
|
Each release also publishes a source distribution (`sdist`) so compatible
|
|
|
|
|
environments outside the wheel matrix can still build from source.
|
|
|
|
|
|
2026-03-23 23:57:30 +05:30
|
|
|
Publishing uses PyPI Trusted Publishing via GitHub OIDC; no long-lived PyPI API
|
|
|
|
|
token is required.
|
2026-03-23 23:34:28 +05:30
|
|
|
|
|
|
|
|
Supported platforms and Python versions are documented in [PLATFORMS.md](PLATFORMS.md).
|
|
|
|
|
|
|
|
|
|
## npm (WASM)
|
|
|
|
|
|
|
|
|
|
The Node.js / browser WASM package is published to npm by the **wasm-publish** workflow on release.
|
|
|
|
|
|
|
|
|
|
## crates.io (Rust)
|
|
|
|
|
|
|
|
|
|
The pure-Rust library `ferro_ta_core` is published to crates.io by the CI job **publish-cratesio** on release.
|