EMpy - ElectroMagnetic Python
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.
Metadata
Release files for ElectroMagneticPython 2.2.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| electromagneticpython-2.2.3.tar.gz | 222.1 kB | Without provenance | Details for electromagneticpython-2.2.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| electromagneticpython-2.2.3-py3-none-any.whl | Python 3 | none | any | Details for electromagneticpython-2.2.3-py3-none-any.whl |
Total release size: 358.8 kB
Release files / electromagneticpython-2.2.3.tar.gz
| Download URL | electromagneticpython-2.2.3.tar.gz |
|---|---|
| Size | 222.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1302ec50d946e091f67c598f397f580183a301f6b686b8f95396e9a639b6c0d0
|
|
BLAKE2b-256 checksum How to use checksums |
d5b2a00f71ae9767c6bd451f2adf3011f7862cb0f8d9904a3610dc3a2a048929
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / electromagneticpython-2.2.3-py3-none-any.whl
| Download URL | electromagneticpython-2.2.3-py3-none-any.whl |
|---|---|
| Size | 136.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
309694b39bbea1840effa27b3b5ef286b2ad104fe0d9d17fba3239bd9e274b9a
|
|
BLAKE2b-256 checksum How to use checksums |
592ac683370039c884bf9a6b563653c0ed8f5e55da5dc604a5449f66e7f855a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for ElectroMagneticPython 2.2.3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.