A c++ backed python optical raytracer.
https://jmeyers314.github.io/batoid/overview.html
Batoid is known to work on MacOS and linux, using Python version 3.9+, and either the clang or gcc compiler with support for c++14.
Released versions of batoid are available on pypi as both wheels and source distributions. To compile from source, you will need a c++14 compiler available and placed such that that setup.py can find it. This should hopefully be the case on most *nix systems, in which case, the following ought to work:
pip install batoid
If PyPI doesn't work, then you can try cloning the source from github and running setup.py. Clone the repo with either
git clone git@github.com:jmeyers314/batoid.git
or
git clone https://github.com/jmeyers314/batoid.git
Once the repo has been cloned, then compile and install with
pip install .
To run the unit tests, from the batoid directory, first install the testing requirements
pip install -r test_requirements.txt
And then run the tests using pytest
pytest