Skip to main content

Differentiable Ray Tracing Toolbox for Radio Propagation Simulations

Project description

DiffeRT logo

DiffeRT

Latest Release Python version Documentation Codecov PDM

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.

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.9 or above;
  • Rust stable toolchain;
  • Maturin for building Python bindings from Rust code;
  • and PDM to manage all Python dependencies.

Building locally

You can build the project locally using:

pdm install

Documentation

To generate the documentation, please run the following:

cd docs
pdm run make html

Finally, you can open build/html/index.html to see the generated docs.

Testing

Both Rust and Python codebases have their own tests and benchmarks.

Testing Rust code

You can very easily test you code using Cargo:

cargo test

or benchmark it:

cargo bench

Testing Python code

in the same way, you can very test you code with Pytest:

pdm run pytest

or benchmark it:

pdm run pytest --benchmark-only

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

DiffeRT-0.0.10.tar.gz (144.8 kB view hashes)

Uploaded Source

Built Distributions

DiffeRT-0.0.10-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (357.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.10-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (506.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

DiffeRT-0.0.10-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (385.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.10-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (352.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.10-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (345.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.10-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (367.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

DiffeRT-0.0.10-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (357.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.10-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (506.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

DiffeRT-0.0.10-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (385.1 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.10-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (352.3 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.10-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (345.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.10-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (367.4 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

DiffeRT-0.0.10-cp312-none-win_amd64.whl (270.7 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

DiffeRT-0.0.10-cp312-none-win32.whl (253.5 kB view hashes)

Uploaded CPython 3.12 Windows x86

DiffeRT-0.0.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (355.5 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (531.0 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (383.3 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.10-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (350.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (344.3 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.10-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (366.2 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

DiffeRT-0.0.10-cp312-cp312-macosx_11_0_arm64.whl (318.1 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

DiffeRT-0.0.10-cp312-cp312-macosx_10_12_x86_64.whl (329.7 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

DiffeRT-0.0.10-cp311-none-win_amd64.whl (271.7 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

DiffeRT-0.0.10-cp311-none-win32.whl (254.4 kB view hashes)

Uploaded CPython 3.11 Windows x86

DiffeRT-0.0.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (357.3 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (509.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (384.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.10-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (352.6 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (345.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.10-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (367.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

DiffeRT-0.0.10-cp311-cp311-macosx_11_0_arm64.whl (319.7 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

DiffeRT-0.0.10-cp311-cp311-macosx_10_12_x86_64.whl (331.8 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

DiffeRT-0.0.10-cp310-none-win_amd64.whl (271.7 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

DiffeRT-0.0.10-cp310-none-win32.whl (254.3 kB view hashes)

Uploaded CPython 3.10 Windows x86

DiffeRT-0.0.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (357.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (509.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (384.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.10-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (352.5 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (345.5 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.10-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (367.6 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

DiffeRT-0.0.10-cp310-cp310-macosx_11_0_arm64.whl (319.6 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

DiffeRT-0.0.10-cp310-cp310-macosx_10_12_x86_64.whl (331.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

DiffeRT-0.0.10-cp39-none-win_amd64.whl (272.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

DiffeRT-0.0.10-cp39-none-win32.whl (254.5 kB view hashes)

Uploaded CPython 3.9 Windows x86

DiffeRT-0.0.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (357.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (510.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (385.3 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.10-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (352.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (345.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.10-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (368.2 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

Supported by

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