pyRat ===== .. image:: ../_static/figs/pyrat/banner-3.svg :alt: Project-Rat-Extras pyRat banner :align: left :class: img-bottom-padding :width: 100 % \- *To me rollicking ratty dandy-o!* ----- pyRat_ defines pybind11_ bindings for Project-Rat_ group C++ libraries for magnetic simulations, allowing to use Rat objects and functions from Python. It also offers guidelines to build `Python wheels`_ to ease package distribution which is the end goal of this repository since `Python wheels`_ are the intended way of distributing Python_ modules because of their portability. pyRat_ is deeply linked to other Project-Rat-Extras_ project since they provide several ways to compile and use Rat C++ libraries on Windows and Linux, namely using vcpkg_ or SingularityCE_. It can however be used outside this context, providing Rat. .. seealso:: - Rat-vcpkg_ for Windows, using vcpkg_ - Rat-Containers_ for Linux, using SingularityCE_ It can be installed from a `Python wheel`_ file: .. code-block:: bash python -m pip install ./pyrat-....whl .. seealso:: To build a pyRat_ Python wheel: :doc:`build/index`. .. pyRat table of contents .. toctree:: :maxdepth: 2 :caption: PYRAT CONTENTS introduction module setup build/index tests use/index about_bindings/index .. Links .. _manylinux: https://github.com/pypa/manylinux .. _Ninja: https://ninja-build.org/ .. _Project-Rat: https://gitlab.com/project-rat .. _PRE Docs: https://gitlab.com/project-rat-extras/docs .. _Project-Rat: https://gitlab.com/project-rat .. _Project-Rat-Extras: https://gitlab.com/project-rat-extras .. _pybind11: https://github.com/pybind/pybind11 .. _pyRat: https://gitlab.com/project-rat-extras/pyrat .. _Python: https://www.python.org/ .. _Python wheel: https://pythonwheels.com/ .. _Python wheels: https://pythonwheels.com/ .. _Rat-Containers: https://gitlab.com/project-rat-extras/rat-containers .. _Rat-Docs: https://gitlab.com/project-rat/rat-documentation .. _Rat-vcpkg: https://gitlab.com/project-rat-extras/rat-vcpkg .. _SingularityCE: https://github.com/sylabs/singularity .. _Spyder: https://www.spyder-ide.org/ .. _UV: https://github.com/astral-sh/uv .. _vcpkg: https://vcpkg.io/en/ .. _vcpkg ports: https://learn.microsoft.com/en-us/vcpkg/concepts/ports .. _vcpkg registry: https://learn.microsoft.com/en-us/vcpkg/concepts/registries .. _VS Code: https://code.visualstudio.com/