Skip to content

lbolla/EMpy

Repository files navigation

EMpy - ElectroMagnetic Python

CI PyPI

EMpy - ElectroMagnetic Python is a suite of algorithms widely known and used in electromagnetic problems and optics: the transfer matrix algorithm, the rigorous coupled wave analysis algorithm and more.

Run the examples in examples/* to have an idea how EMpy works.

Visit https://lbolla.github.io/EMpy/ for more information.

Installation

pip install ElectromagneticPython

Optionally, install bvp:

pip install scikits.bvp1lg

Development

First, download the source code from https://github.com/lbolla/EMpy.

EMpy is managed with uv (https://docs.astral.sh/uv/):

Install dev environment with:

make develop

Run tests with:

make test

Run examples with, e.g.:

uv run examples/ex_APRR.py

Upgrade dependencies with uv:

make upgrade

Release process

Package version is handled by setuptools_scm/uv:

make release PART=...

GitHub actions will build and upload the package to PyPI.

Citation

If you find EMpy useful in your job, please consider adding a citation.

As reference:

Bolla, L. (2017). EMpy [Computer software]. https://github.com/lbolla/EMpy/

As text:

We used EMpy (version x.y.z) to complete our work.

About

Electromagnetic Python

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 8