Skip to main content

No project description provided

Project description

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].

[^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.

For examples see the example script. For documentation see here.

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 $\in {\text{3.10}, \text{3.11}, \text{3.12}}$.

Using PIP

Type pip install pyadess into your favourite command line.

From Source

  1. Make sure that Rust and its package manager cargo are installed
  2. Clone this repository
  3. Create a virtual python environment in a folder of your choice (e.g. python -m venv $VENV_NAME)
  4. Activate the virtual environment (e.g. cd $VENV_NAME; source bin/activate if you are using Bash)
  5. Install the pyadess package with pip: pip install $YOUR_PATH_TO/adess/python
    • If this fails, your pip may be to old. Try pip install --upgrade pip

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 bindings
  • pyadess.pyi: Python function type hints

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyadess-0.1.0.tar.gz (23.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pyadess-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (482.5 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

pyadess-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pyadess-0.1.0-cp314-cp314-macosx_11_0_arm64.whl (379.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

pyadess-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pyadess-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (379.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

pyadess-0.1.0-cp312-cp312-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.12Windows x86-64

pyadess-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.6 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pyadess-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (379.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

pyadess-0.1.0-cp311-cp311-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.11Windows x86-64

pyadess-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

pyadess-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (379.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pyadess-0.1.0-cp310-cp310-win_amd64.whl (1.1 MB view details)

Uploaded CPython 3.10Windows x86-64

pyadess-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

pyadess-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (482.0 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

pyadess-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (481.9 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file pyadess-0.1.0.tar.gz.

File metadata

  • Download URL: pyadess-0.1.0.tar.gz
  • Upload date:
  • Size: 23.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyadess-0.1.0.tar.gz
Algorithm Hash digest
SHA256 67733b21c8b7e498ad2d81b964f9eb6f68dd0bd54f41f060398c26c8400944bd
MD5 dd6f4f586d46d9d30923349aa5a7df80
BLAKE2b-256 85966eecec00c2a5b53c5016f2a9a4598396af1e05116d7629afddff5639409a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0.tar.gz:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f31cffe21d247f8679dbf70be9839fad7a58a91f2de25b27ce43ebba54c13656
MD5 88f302f9411e1ed3cf68226fb33bfb74
BLAKE2b-256 02e25fca9797ee962dc55a652973652f122d131d3d88e01f69fff5e8767cf2b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ac0ac2a1fcf2e134dd0cd07d939a2637031bae7ae4f75804bbdee675ad4bdd9f
MD5 384f6af10b2d82e1035ef4827a437941
BLAKE2b-256 8cfe852447fbab16da5c87d80ec8b5eb583f9f856e6c9d1c2b131101dedb035e

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 96de9c9294d452728cceecc9724581ab333e4236a4e4b73a5e3046028fba569b
MD5 2f77d7b57143b776220711b11ca3b79c
BLAKE2b-256 a9890215418543e13efb116b6ac93c4ef1ee7984b35d6f681d4450d842e17960

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b75da39d3836748c7f366d0bdcf7df36027250dc41442c12240ac2670e954b6d
MD5 04d544e8f28820b2d41cef723ff2271e
BLAKE2b-256 ee41c1735069cee7c89a7bb33f772ae4878afcf4454db9123110dc3c74d72eb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a0fdae038206ff15666816fc9d54d95a17bacfc60764d549541bf4c4c63acb4
MD5 dfd77c58e7d786c6fb1011893c2b819b
BLAKE2b-256 6c4ef827bf1161b6a743530494407017c0c0a98309ba6bd1a860f7e0b7f5bb46

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: pyadess-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyadess-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ddf8729b0909aa292b7414a41e7927448047c76d0cc5bd1a80437b57634b7142
MD5 46e532312f1d8090df7769c31bcd78da
BLAKE2b-256 680ca3c0b7b3d049ef61b5b35a52c28d0782d65ea4b4cd8d1344b6e83567dc77

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1b6243d49c793c72c357ac8470533b8c7e6483ea71bea520ef36157c95875145
MD5 737a17b7669fc76c2dd080e27df582fc
BLAKE2b-256 3e4347eb7194016c5072a929cfcafb29dd6314cdcf39ef690abedee9e0641943

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef19db155442548fb75cd698703c7af192f690166846f1443b77cb62d4f690a1
MD5 c196bfaded6916913f26f9f385c3261e
BLAKE2b-256 9cca75a2024c95521cc5272672aa674053ba51f61d2ab70e6d78db69a0c8287d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: pyadess-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyadess-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b6e2cb5a9022d74adbe62bffd0abd521287d1b0967843ce9a4b922e302268f5a
MD5 338eb8b9a7335cf31e907b3d87efdc7c
BLAKE2b-256 d0769879f96c58444445f581dec3b000544f08293f11de27a58f2bd95df53a10

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 70a540371b55002b8a906d47688f432452b6ddd8e0cac27b3c088eafd53683b4
MD5 bfe7767e9bd2597bebf1a931992d428b
BLAKE2b-256 cd0c56cee49e05bcc6a87374235c3d6515e49c24569b2dd4584c5916ec08747a

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 30462e7d8ee1fce358a5cd2aeea71e88f15f9581d3fed16ade56707fefadfd0e
MD5 a23ce1f0335ca064529a90f07b75ebf9
BLAKE2b-256 0f84128d9fbfc33711a00a6826dc37d9cd1f7b0cd8a1f14e97708edc25a7b7e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: pyadess-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyadess-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 400ff5b1fe2f83e5e4902c0a16ad7c8c2ffea0860189291189589e37660b5678
MD5 e7e25f5a9cce8a1ed3981a6fe851aedb
BLAKE2b-256 d59132ca3db0dec6a1d7cae72d108cc95437b6470139fb9dfa5687a95215a256

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95d334914855862275a67c1d7dbb955021a03b45fb7876510ed0f8cffa6a9f4b
MD5 c7bf4c7588b9c430a66e7845f4761f9b
BLAKE2b-256 5d5939592b8ea3a6ba4cf66f5cc271d6b00b1e2903875f9c79542fd0f930ed94

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4e050135ab0ab1332eaf5fe110819c73f311f853555c3503e19d1a528f4273ed
MD5 cc191a26b463d6d8e44236f0101085ae
BLAKE2b-256 e5ec8aaaaf37277561bc850e5a7ed6a8ac288e614826ef3314bcc8bec6b5b822

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pyadess-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for pyadess-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 412289632e79e1df21adaef863e769d002bfb4dda50922a540c9e84ec57a3afd
MD5 69694aaec5a955b112bf1b63854156a6
BLAKE2b-256 4231401577259942cea4d13ff09d1382ed2ab1b29460ec57196bf662c70e3435

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyadess-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release-pypi.yml on kit-cel/ad-ess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page