Differentiable Ray Tracing Toolbox for Radio Propagation Simulations
Project description
Usage
WARNING: Until this package reaches version
0.1.x
, breaking changes should be expected. Checkout the ROADMAP for future features.If you have any suggestion regarding the development of this package, please open an issue.
The easiest way to install DiffeRT is through pip:
pip install differt
We provide pre-built binaries for most platforms. If you want (or need) to build the package from the source distribution, check out the requirements below.
Contributing
IMPORTANT: The current documentation is very light and a more complete guide for new contributors will be written in the near future.
Until then, do not hesitate to reach me for help with GitHub issues!
This project is built using both Python and Rust code, to provide an easy-to-use but performant program. It also heavily uses the capabilities brought by JAX for numerical arrays.
Requirements
To run build this package locally, you need:
- Python 3.10 or above;
- Rust stable toolchain;
- any modern C compiler;
- just to easily run commands listed in
justfile
s; - Maturin for building Python bindings from Rust code;
- and uv to manage this project.
This project contains justfile
s with recipes[^1] for most common
use cases, so feel free to use them instead of the commands listed below/
[^1]: just
is as alternative tool to Make, that provides more modern
user experience. Enter just
to list all available recipes.
Local development
The following commands assume that you installed the project locally with:
uv sync
and that you activated the corresponding Python virtual environment:
. .venv/bin/activate # or .venv\Scripts\activate on Windows
Documentation
To generate the documentation, please run the following:
just docs/build
Finally, you can open docs/build/html/index.html
to see the generated docs.
Other recipes are available, and you can list them with just docs/
.
Testing
Both Rust and Python codebases have their own tests and benchmarks.
Testing Rust code
You can test Rust code using Cargo:
cargo test
or benchmark it:
cargo bench
Testing Python code
Similarly, you can test Python code with Pytest:
pytest
or benchmark it:
pytest --benchmark-enable differt/tests/benchmarks
Citing
If you use this software, please cite it as detailed here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file differt-0.0.24.tar.gz
.
File metadata
- Download URL: differt-0.0.24.tar.gz
- Upload date:
- Size: 44.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34c4ac06881cd4270ae368cbfab68e08b63b8d3d6da6189197b19c4ce8218a58 |
|
MD5 | 3391344ac49952db19fc667921c59ab9 |
|
BLAKE2b-256 | e0fa9b3f1d5e29dcbf8e9e4b8db999c92dc48a801c08a3528175cf8cf71b0a41 |
Provenance
The following attestation bundles were made for differt-0.0.24.tar.gz
:
Publisher:
publish.yml
on jeertmans/DiffeRT
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
differt-0.0.24.tar.gz
- Subject digest:
34c4ac06881cd4270ae368cbfab68e08b63b8d3d6da6189197b19c4ce8218a58
- Sigstore transparency entry: 145708031
- Sigstore integration time:
- Predicate type:
File details
Details for the file differt-0.0.24-py3-none-any.whl
.
File metadata
- Download URL: differt-0.0.24-py3-none-any.whl
- Upload date:
- Size: 54.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1ddf718be78c57bdb77334391439d1812c60c76b12780688faf6bad1078dcfa |
|
MD5 | 8c5de0d4c6d1f8be0b7dc329a28665fb |
|
BLAKE2b-256 | cc7dec7dfc92542b3e43d9b50c74b51fabcb84edaaef5a5be6f461d81d70d7af |
Provenance
The following attestation bundles were made for differt-0.0.24-py3-none-any.whl
:
Publisher:
publish.yml
on jeertmans/DiffeRT
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
differt-0.0.24-py3-none-any.whl
- Subject digest:
d1ddf718be78c57bdb77334391439d1812c60c76b12780688faf6bad1078dcfa
- Sigstore transparency entry: 145708033
- Sigstore integration time:
- Predicate type: