Skip to main content

DiffeRT2d

Latest Release Python version Documentation DOI JOSS Paper Codecov

DiffeRT2d Logo

Differentiable Ray Tracing Python Framework for Radio Propagation.

DiffeRT2d is built on top of the JAX library to provide a program that is differentiable everywhere. With that, performing gradient-based optimization, or training Machine Learning models with Ray Tracing (RT) becomes straightforward! Moreover, the extensive use of the object-oriented paradigm facilitates the simulation of complex objects, such as metasurfaces, and the use of more advanced path tracing methods.

The objective of this tool is to provide a simple-to-use and highly interpretable RT framework for researchers engaged in fundamental studies of RT applied to radio propagation, or any researcher interested in the various paths radio waves can take in a given environment.

IMPORTANT: For 3D scenarios at city-scales, checkout DiffeRT.

Installation

While installing DiffeRT2d and its dependencies on your global Python is fine, we recommend using a virtual environment (e.g., venv) for a local installation.

Dependencies

DiffeRT2d uses JAX for automatic differentation, which in turn may use (or not) CUDA for GPU acceleration.

If needed, please refer to JAX's installation guidelines for more details.

Pip Install

The recommended way to install the latest release is to use pip:

pip install differt2d

Install From Repository

An alternative way to install DiffeRT2d is to clone the git repository, and install from there: read the contributing guide to know how.

Usage

For a quick introduction to DiffeRT2d, check you our Quickstart tutorial!

You may find a multitude of usage examples across the documentation or the examples folder, or directly in the examples gallery.

Citing

If you use this software, please cite it as:

@article{Eertmans_DiffeRT2d_A_Differentiable_2024,
  title   = {{DiffeRT2d: A Differentiable Ray Tracing Python Framework for Radio Propagation}},
  author  = {Eertmans, Jérome and Oestges, Claude and Jacques, Laurent},
  year    = 2024,
  month   = jun,
  journal = {Journal of Open Source Software},
  volume  = 9,
  number  = 98,
  pages   = 6915,
  doi     = {10.21105/joss.06915},
  url     = {https://joss.theoj.org/papers/10.21105/joss.06915}
}

or use the Cite this repository button on this page to get other citation formats.

Contributing

Contributions are more than welcome! Please read through our contributing section.

Reporting an Issue

If you think you found a bug, an error in the documentation, or wish there was some feature that is currently missing, we would love to hear from you!

The best way to reach us is via the GitHub issues. If your problem is not covered by an already existing (closed or open) issue, then we suggest you create a new issue.

The more precise you are in the description of your problem, the faster we will be able to help you!

Seeking for help

Sometimes, you may have a question about , not necessarily an issue.

There are two ways you can reach us for questions:

Contact

Finally, if you do not have any GitHub account, or just wish to contact the author of DiffeRT2d, you can do so at: jeertmans@icloud.com.

Metadata

Release files for DiffeRT2d 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for DiffeRT2d 0.4.1
File Size Uploaded
differt2d-0.4.1.tar.gz 30.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for DiffeRT2d 0.4.1
File Interpreter ABI Platform
differt2d-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 30.7 MB

Release files / differt2d-0.4.1.tar.gz

Download URL differt2d-0.4.1.tar.gz
Size 30.7 MB
Tags Source
SHA-256 checksum
How to use checksums
9bdbc8d766573950bc66ecb0cfff2d86c0c44dbe1e1b82e9f2bd0453e8aaeeea
BLAKE2b-256 checksum
How to use checksums
0f6208b723b72f40c5fc1c30664970f3351d328b540b2733196b4154a9268a5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.

Transparency log

Release files / differt2d-0.4.1-py3-none-any.whl

Download URL differt2d-0.4.1-py3-none-any.whl
Size 33.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2efa36e78d8accde91b0f162f55233b3527ed7ce2162e8554bdbd4be1c071f4b
BLAKE2b-256 checksum
How to use checksums
3d42530b851b83042f5014e5e6c9e620a4748956f9e88d33c1ab83374f7d3a6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page