Skip to main content

Differentiable Ray Tracing Toolbox for Radio Propagation Simulations

Project description

DiffeRT

Latest Release Python version Documentation Codecov PDM

Contributing

This project is built on both Python and Rust code.

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

If you need to install development dependencies, we recommend running:

pdm install -G:all

Documentation

To generate the documentation, you first need to install an IPython kernel named DiffeRT:

pdm run ipython kernel install --user --name=DiffeRT

If you want to use another name for your kernel, please also modify the name in docs/source/conf.py:

nbsphinx_kernel_name = "DiffeRT"

Then, you can build the docs with:

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.6.tar.gz (97.6 kB view hashes)

Uploaded Source

Built Distributions

DiffeRT-0.0.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.6-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (477.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

DiffeRT-0.0.6-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (349.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.6-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.6-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (333.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

DiffeRT-0.0.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.8 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.6-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl (477.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ s390x

DiffeRT-0.0.6-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (349.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.6-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.9 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.6-pp39-pypy39_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (333.0 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

DiffeRT-0.0.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl (457.2 kB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (347.5 kB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.6-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.3 kB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (310.8 kB view hashes)

Uploaded CPython 3.13 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.6-cp312-none-win_amd64.whl (231.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

DiffeRT-0.0.6-cp312-none-win32.whl (217.6 kB view hashes)

Uploaded CPython 3.12 Windows x86

DiffeRT-0.0.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (320.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (457.2 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (347.5 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.3 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (310.8 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.6-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (332.7 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

DiffeRT-0.0.6-cp312-cp312-macosx_11_0_arm64.whl (281.4 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

DiffeRT-0.0.6-cp312-cp312-macosx_10_12_x86_64.whl (290.8 kB view hashes)

Uploaded CPython 3.12 macOS 10.12+ x86-64

DiffeRT-0.0.6-cp311-none-win_amd64.whl (230.2 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

DiffeRT-0.0.6-cp311-none-win32.whl (217.4 kB view hashes)

Uploaded CPython 3.11 Windows x86

DiffeRT-0.0.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.6 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (456.3 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (348.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.3 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.5 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.6-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (332.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

DiffeRT-0.0.6-cp311-cp311-macosx_11_0_arm64.whl (281.6 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

DiffeRT-0.0.6-cp311-cp311-macosx_10_12_x86_64.whl (291.1 kB view hashes)

Uploaded CPython 3.11 macOS 10.12+ x86-64

DiffeRT-0.0.6-cp310-none-win_amd64.whl (230.2 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

DiffeRT-0.0.6-cp310-none-win32.whl (217.4 kB view hashes)

Uploaded CPython 3.10 Windows x86

DiffeRT-0.0.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.6 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (456.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (348.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.3 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.5 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.6-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (332.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

DiffeRT-0.0.6-cp310-cp310-macosx_11_0_arm64.whl (281.6 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

DiffeRT-0.0.6-cp310-cp310-macosx_10_12_x86_64.whl (291.0 kB view hashes)

Uploaded CPython 3.10 macOS 10.12+ x86-64

DiffeRT-0.0.6-cp39-none-win_amd64.whl (230.5 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

DiffeRT-0.0.6-cp39-none-win32.whl (217.6 kB view hashes)

Uploaded CPython 3.9 Windows x86

DiffeRT-0.0.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (321.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

DiffeRT-0.0.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (456.7 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

DiffeRT-0.0.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (348.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

DiffeRT-0.0.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (315.6 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARMv7l

DiffeRT-0.0.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (311.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

DiffeRT-0.0.6-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl (333.1 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