Files
ferro-ta/PACKAGING.md
T
Pratik Bhadane 9011250f99 chore: update packaging and CI workflow for PyPI releases
Enhance the documentation in PACKAGING.md and PLATFORMS.md to clarify the supported Python versions and platforms for wheel and source distribution releases. Update the CI workflow in CI.yml to include separate jobs for building wheels on Linux, macOS, and Windows, as well as a job for building the source distribution. Ensure that the publish job verifies the presence of expected distributions before publishing to PyPI.
2026-03-24 01:00:17 +05:30

29 lines
954 B
Markdown

# 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)).
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.
Publishing uses PyPI Trusted Publishing via GitHub OIDC; no long-lived PyPI API
token is required.
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.