feat(ci): publish Python distributions to PyPI

This commit is contained in:
2026-08-11 19:56:57 +02:00
parent 1b5d7dbb20
commit a7987eb161
10 changed files with 223 additions and 29 deletions

View File

@@ -19,9 +19,8 @@ standard-model package with 20 precompiled language models.
--index-url https://leogalambos.github.io/Radixor/python/simple/ radixor
```
PyPI publication is pending, and the GitHub index becomes live with the first
Python releases. Until then, follow the source-checkout procedure on
[Installation and Builds](installation.md).
Both indexes provide the same released distributions. Use PyPI as the primary
source or the GitHub index as an independent alternative.
Radixor supports CPython 3.9 and newer. A JVM, Java dependency, and source
dictionary are not required.

View File

@@ -7,17 +7,12 @@ development or unsupported platforms.
## Install from PyPI
PyPI is the intended primary index once the Radixor projects are approved and
published there:
PyPI is the primary package index:
```bash
python -m pip install --only-binary=:all: radixor
```
PyPI publication is not live yet. Until the `radixor` and
`radixor-models-standard` project pages exist, this command cannot install the
project.
## Install compiled packages from GitHub
Python releases are published as immutable GitHub Release assets. A small
@@ -29,10 +24,7 @@ python -m pip install --only-binary=:all: \
```
The index links directly to checksummed wheel assets in GitHub Releases; Pages
does not duplicate the package files. It is not live until the first Python
model and native releases have been published. This was verified before the
initial release: the URL returned HTTP 404 and the repository contained no
Python Release assets.
does not duplicate the package files.
Do not configure the GitHub index as an `--extra-index-url`: `pip` does not
prioritize one index over another. Use it as the sole `--index-url`, as shown
@@ -93,10 +85,8 @@ gh attestation verify radixor-<version>-<wheel-tags>.whl \
Python packages do **not** reuse the OpenPGP key configured for Java/Maven
Central publications. Java's `SIGNING_KEY` and `SIGNING_PASSWORD` produce Maven
signatures; Python currently uses release checksums plus GitHub's
identity-bound build-provenance attestation. A future PyPI publication should
use PyPI Trusted Publishing and its supported attestations rather than copying
the Java signing mechanism.
signatures; Python uses release checksums, GitHub identity-bound build
provenance, and PyPI Trusted Publishing with supported digital attestations.
## Build through Gradle

View File

@@ -26,9 +26,8 @@ source .venv/bin/activate # Windows: .venv\Scripts\activate
--index-url https://leogalambos.github.io/Radixor/python/simple/ radixor
```
PyPI publication is pending. The GitHub option becomes live when the first
Python GitHub Releases populate the Pages-backed package index. See
[Installation and Builds](installation.md) for availability and source builds.
Both indexes provide the same released distributions. See
[Installation and Builds](installation.md) for provenance and source builds.
The `radixor` wheel contains code. Its required
`radixor-models-standard` dependency contains 20 precompiled models. The