Python bindings for AD-ESS
An implementation of arbitrary-distribution enumerative sphere shaping (AD-ESS) [1]. AD-ESS is am extension of the enumerative sphere shaping (ESS) [2] algorithm that maps uniformly distributed bits to amplitudes with a distribution tailored to the additive white Gaussian noise (AWGN) channel. In AD-ESS the output distribution of the amplitudes is adaptable, making the algorithm suitable for a wide range of channels. The algorithm is implemented in Rust, but this package contains Python bindings for the Rust library.
A second algorithm named reverse trellis shaping (RTS) is also implemented. Unlike AD-ESS it uses energy based ordering of the sequences and thus always has minimal rate loss. Its complexity is the same as Laroias 1st algorithm [3].
For examples see the example script. For documentation see here.
[1]: https://arxiv.org/pdf/2512.16808.
[2]: F. M. J. Willems and J. J. Wuijts, "A pragmatic approach to shaped coded modulation," in Proc. IEEE Symp. on Commun. and Veh. Technol. in the Benelux, 1993.
[3]: R. Laroia, N. Farvardin and S. A. Tretter, "On optimal shaping of multidimensional constellations," in IEEE Trans. Inf. Theory, vol. 40, no. 4, pp. 1044-1056, July 1994, doi: 10.1109/18.335969.
Installation
There may currently be some issues installing PyAD-ESS on Windows as AD-ESS uses GMP which can not easily be built on Windows.
Thanks to pre-built binary wheels, installation with pip should work on Windows for Python {3.10, 3.11, 3.12}.
Using PIP
Type pip install pyadess into your favourite command line.
From Source
- Make sure that Rust and its package manager
cargoare installed - Clone this repository
- Create a virtual python environment in a folder of your choice (e.g.
python -m venv $VENV_NAME) - Activate the virtual environment (e.g.
cd $VENV_NAME; source bin/activateif you are using Bash) - Install the
pyadesspackage withpip:pip install $YOUR_PATH_TO/adess/python- If this fails, your
pipmay be to old. Trypip install --upgrade pip
- If this fails, your
Development
Building can be done according to: https://pyo3.rs/v0.17.3/getting_started.html
TLDR: pip install maturin; maturin develop
Documentation
Documentation can be built using (a sufficiently recent version of) pdoc.
First run maturin develop or pip install . next build the docs with pdoc --math pyadess.
A scrip automating this process is located in mk_doc.sh.
This script additionally replaces some ugly numpy type hints with nice ones.
Project content
src/lib.rs: PyO3 Rust to python bindingspyadess.pyi: Python function type hints
Metadata
Release files for pyadess 0.1.1.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pyadess-0.1.1.post1.tar.gz | 24.0 kB | With provenance | Details for pyadess-0.1.1.post1.tar.gz |
Built distributions (wheels)
Total release size: 8.6 MB
Release files / pyadess-0.1.1.post1.tar.gz
| Download URL | pyadess-0.1.1.post1.tar.gz |
|---|---|
| Size | 24.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0bd201937c24c0cbf0ba2c7c15c699fc9d725ba2ffb1745328b853b87591eee2
|
|
BLAKE2b-256 checksum How to use checksums |
e09badb78b3ff3cfe2129820a41bb20f93c1cbfdb449dad175141898347c6672
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.1 kB |
| Tags | Linux glibc 2.17+ x86-64 PyPy 3.11 PyPy 3.11 7.3 |
|
SHA-256 checksum How to use checksums |
f7a6400ca76e1602438bd336f75fd3127c5950a7041dbbc2ad5dbe59493497ec
|
|
BLAKE2b-256 checksum How to use checksums |
b58505d4ec44c9665f99833f9133126e3b53891bf0d323579da6779916defb03
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.0 kB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
20a5a926a1d0436260220be82126aba43aca5ae3466865b38dd8a95fd94a8a62
|
|
BLAKE2b-256 checksum How to use checksums |
53f6961aa4fba008b31e0565df7c95e0a279d1322f4544814e4dfccc9b674632
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | pyadess-0.1.1.post1-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 379.7 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b418c277e18d3aa6313402632868f1f894084e3abfad10ae64118435938c6668
|
|
BLAKE2b-256 checksum How to use checksums |
af5f6d2c5a09755efd57f66a6980cb22a6cad78167cc995a8e2969d40872abb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.0 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a13b58537dce52d1088983e1d7fd1a6b915eb6d7dba15d066f3b034c5d5b1e3a
|
|
BLAKE2b-256 checksum How to use checksums |
791146e6b534f85db81f6b996807a4420526b35796474f693ecaa989cf99d6ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | pyadess-0.1.1.post1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 379.7 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5676fcc3373641028e4e3db96ec9481e18d1fba91ed6a1e76154134478f8e085
|
|
BLAKE2b-256 checksum How to use checksums |
3ca794e0613843e7e58d45b4bf2cff4d1e2e0b5aa490939f54517bbfc362dbfe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp312-cp312-win_amd64.whl
| Download URL | pyadess-0.1.1.post1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e1ca08e2dc75159dff06966a08d7b04ecdef8e1c9d04749817d45d89e8c8a8ed
|
|
BLAKE2b-256 checksum How to use checksums |
1f13814edd85f1d1716a2011baca758eb172f8297620acf06a537621363ac708
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.0 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
3f7f6a6a9ddcae169b714d215faab416bb5dfb867e2d599eb37eccf238ea48c8
|
|
BLAKE2b-256 checksum How to use checksums |
efed6d91d5239981893797824d9fbd2f3af1e0528bdd7a702f3c869601188acc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | pyadess-0.1.1.post1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 379.7 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2cd476d61d91ca010ad24a83c03cad3e980438f04ca21a559b547f36081544b7
|
|
BLAKE2b-256 checksum How to use checksums |
748762aa1fadbe3b82525bc4ab6ec9d8818355871e6c513db1daa10623c1794c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp311-cp311-win_amd64.whl
| Download URL | pyadess-0.1.1.post1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
69bbfa102f8dc03fdcf1d51f36395d57066225cef54994ed7d9d25ff9904d1e2
|
|
BLAKE2b-256 checksum How to use checksums |
60f939ea3d2095a59170351eee49201c5e677f6f11332a588503c9fab0519649
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.1 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
a8b74eb21400164d604a413a5ff051d1f33d97e34cdd8c2efce75d2d22e7ebd6
|
|
BLAKE2b-256 checksum How to use checksums |
9ebaa575f9f512cb5de3db9648288998afae22a112755adca88cf0dd824ee807
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | pyadess-0.1.1.post1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 379.8 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f0b4ea9c2f64b1d4832112db6b2740515de272ad7eacb3e418f9ac7a3b3bf11d
|
|
BLAKE2b-256 checksum How to use checksums |
91677d24223c7025acacf6ef2bb624febc4e9a45b5e7b70311a9d26ef0dfcf73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp310-cp310-win_amd64.whl
| Download URL | pyadess-0.1.1.post1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
620ece34aa70a1dba715972e650a3d71c66d10926706d80ed6f0cbcd22ba6899
|
|
BLAKE2b-256 checksum How to use checksums |
d6157417c8520e2e91ce45d9d717df7511be0aa3b156437cb44a6ca31c40612b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.1 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
1194a099e6687857b1fba1fe7e76c3eea23368a48ecdc11e44fb0a158ff1c756
|
|
BLAKE2b-256 checksum How to use checksums |
d04c4529284ddeb90d2afef60f28879c80d5e4f7622bf98a7f87cdd7ffbe20e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.4 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
6fe70e9fa99e18a3552ca2782f536d9bbada58f9db67814ce8ae9d7dd5852bf0
|
|
BLAKE2b-256 checksum How to use checksums |
60f77b10a2af505dcb75d01c8537f1abaa737bbd3082a9e7209499e2df9bf531
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logRelease files / pyadess-0.1.1.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | pyadess-0.1.1.post1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 481.7 kB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
6bf82be8e4543e04d45f9f6449d7cbbedd956c2dc957987d8073c0fee985c669
|
|
BLAKE2b-256 checksum How to use checksums |
817e163a51d5ec8e226f3f42248231a69181379d13b7f69cdbece058781f7935
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logSecurity for pyadess 0.1.1.post1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 16 files in this release have been uploaded with provenance metadata.
Attestation for pyadess-0.1.1.post1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 6, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.