Skip to content

AGBV/YASF

Repository files navigation

PyPI version DOI License: MIT Unit tests Docs PYPI codecov DeepSource Codacy Badge

Yet Another Scattering Framework

YASF is a T-Matrix implementation in Python based on the Matlab framework CELES developed by Egel et al..

Install

YASF is published on PyPI as yasfpy (sadly yasf was already taken).

uv pip install yasfpy

(Alternatively: pip install yasfpy.)

Optional extras

  • GPU (CUDA): uv pip install "yasfpy[cuda]"
  • Interactive exploration (Streamlit dashboard) dependencies: uv pip install "yasfpy[explore]"

GPU (CUDA)

YASF can optionally run on NVIDIA GPUs.

  • Install the NVIDIA CUDA toolkit + driver for your system.
  • Install the package with the CUDA extras:
uv pip install "yasfpy[cuda]"

Then run your code with uv run ... (or inside the same uv environment).

Note: If you prefer pip, the same extras work: pip install "yasfpy[cuda]".

Examples

  • Small dashboard displaying various parameters calculated using YASF

Development

Quickstart (uv)

uv sync --group test --group docs
uv run pytest
uv run yasf --help

Documentation

uv run --group docs sphinx-build -b html docs/source docs/_build/html -W --keep-going

The project documentation is built with Sphinx (needed for BibTeX citations).

TODO

The pywigxjpf package is not following PEP 517 and PEP 518 standards, so it may happen, that it won't install properly as a dependency of YASF. Please install it manually if that happens using pip install pywigxjpf (before that, run pip install pycparser as stated in their pypi page). One could convert the setup.py file to a pyproject.toml file. Providing pycparser as a dependency could also solve the known issue of having to preinstall it.

About

Yet Another Scattering Framework python implementation

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •