# Python Bindings for RSESS
Python bindings for the ESS and OESS algorithms implemented in Rust.
The bindings are created using [PyO3](https://github.com/PyO3/pyo3).
- [Documentation](https://kit-cel.github.io/rsess/pyrsess.html)
- [Source](https://github.com/kit-cel/rsess)
- [Examples](https://github.com/kit-cel/rsess_examples)
## Installation
There may currently be some issues installing PyRSESS on Windows as RSESS uses GMP which can not easily be built on Windows.
### Using PIP
Type `pip install pyrsess` into your favorite command line.
### From Source
1. Make sure that Rust and its package manager `cargo` are installed
2. Clone this repository with `git clone https://github.com/kit-cel/rsess.git`
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 `pyrsess` package with `pip`: `pip install $YOUR_PATH_TO/rsess/pyrsess`
- 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`
## Project content
- `src/lib.rs`: PyO3 Rust to python bindings
- `pyess.pyi`: Python function type hints
Raw data
{
"_id": null,
"home_page": null,
"name": "pyrsess",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "communications,probabilistic,shaping,ess,oess",
"author": "Frederik Ritter <uoogk@student.kit.edu>, Andrej Rode <rode@kit.edu>, Laurent Schmalen <laurent.schmalen@kit.edu>",
"author_email": "Frederik Ritter <uoogk@student.kit.edu>, Andrej Rode <rode@kit.edu>, Laurent Schmalen <laurent.schmalen@kit.edu>",
"download_url": "https://files.pythonhosted.org/packages/f6/71/2dc7611fe162ee3634e13bc878f82bb3012de16145b8a0bd35bdc52a24a0/pyrsess-0.1.1.tar.gz",
"platform": null,
"description": "# Python Bindings for RSESS\n\nPython bindings for the ESS and OESS algorithms implemented in Rust.\nThe bindings are created using [PyO3](https://github.com/PyO3/pyo3).\n\n- [Documentation](https://kit-cel.github.io/rsess/pyrsess.html)\n- [Source](https://github.com/kit-cel/rsess)\n- [Examples](https://github.com/kit-cel/rsess_examples)\n\n## Installation\n\nThere may currently be some issues installing PyRSESS on Windows as RSESS uses GMP which can not easily be built on Windows.\n\n### Using PIP\n\nType `pip install pyrsess` into your favorite command line.\n\n### From Source\n\n1. Make sure that Rust and its package manager `cargo` are installed\n2. Clone this repository with `git clone https://github.com/kit-cel/rsess.git`\n3. Create a virtual python environment in a folder of your choice (e.g. `python -m venv $VENV_NAME`)\n4. Activate the virtual environment (e.g. `cd $VENV_NAME; source bin/activate` if you are using Bash)\n5. Install the `pyrsess` package with `pip`: `pip install $YOUR_PATH_TO/rsess/pyrsess`\n\t- If this fails, your `pip` may be to old. Try `pip install --upgrade pip`\n\n## Development\n\nBuilding can be done according to: https://pyo3.rs/v0.17.3/getting_started.html\n\nTLDR: `pip install maturin; maturin develop`\n\n## Project content\n\n- `src/lib.rs`: PyO3 Rust to python bindings\n- `pyess.pyi`: Python function type hints\n\n",
"bugtrack_url": null,
"license": "GPL-3.0",
"summary": "Implementation of the enumerative sphere shaping algorithm for probabilistic constellation shaping.",
"version": "0.1.1",
"project_urls": {
"Source Code": "https://github.com/kit-cel/rsess"
},
"split_keywords": [
"communications",
"probabilistic",
"shaping",
"ess",
"oess"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "c45c6d13316d4855f278b34ddc32d4acb658246062a541e3a31f003585ec7266",
"md5": "742095b68c66fb173c389ca3869d940d",
"sha256": "99fff28eab1d245816c813a822ac10c73c8b289bba52cb5650db347dd380b2d9"
},
"downloads": -1,
"filename": "pyrsess-0.1.1-cp39-cp39-manylinux_2_28_x86_64.whl",
"has_sig": false,
"md5_digest": "742095b68c66fb173c389ca3869d940d",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 389269,
"upload_time": "2023-09-07T22:09:16",
"upload_time_iso_8601": "2023-09-07T22:09:16.584799Z",
"url": "https://files.pythonhosted.org/packages/c4/5c/6d13316d4855f278b34ddc32d4acb658246062a541e3a31f003585ec7266/pyrsess-0.1.1-cp39-cp39-manylinux_2_28_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f6712dc7611fe162ee3634e13bc878f82bb3012de16145b8a0bd35bdc52a24a0",
"md5": "ad3a471afbbca3cf0146b2d626f866cf",
"sha256": "0685040fbc7c0a302d17fb78287073d0a4a363e23f1d3aa9c5d481082d295a1b"
},
"downloads": -1,
"filename": "pyrsess-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "ad3a471afbbca3cf0146b2d626f866cf",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 47737,
"upload_time": "2023-09-07T22:09:18",
"upload_time_iso_8601": "2023-09-07T22:09:18.972732Z",
"url": "https://files.pythonhosted.org/packages/f6/71/2dc7611fe162ee3634e13bc878f82bb3012de16145b8a0bd35bdc52a24a0/pyrsess-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-07 22:09:18",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "kit-cel",
"github_project": "rsess",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "pyrsess"
}