Skip to main content
The pyElli logo

PyPI - Python Version PyPI DOI status Pytest Documentation Status Ruff

pyElli

PyElli is an open source numerical solver for spectral ellipsometry employing well-known 2x2 and 4x4 algorithms. It is intended for a broad case of problems including simple fitting of layered structures, anisotropic layers and any other light interaction with layered 1D structures. It serves as a system for the day to day ellipsometry task at hand and is easily extendable with your own dispersion models, EMAs or solvers. Our goal is to provide a reproducible and flexible tool for the needs of scientists working with spectral ellipsometry.

Features

  • A multitude of models to approximate the dielectric function of your material.
  • Use the vast library of materials from refractiveindex.info as reference materials.
  • Build up your structure easily from materials and layers.
  • Simulate reflection and transmission spectra, ellipsometric parameters and Mueller matrices.
  • Utilities to quickly convert, plot and fit your measurement data.
  • Powerful when necessary, editable and expandable.

Got a question?

If you have questions using pyElli please feel free to open a discussion in the Q&A or join our discord channel.

How to get it

The installers for all releases are available at the Python Package Index (PyPI).

To install run:

pip install "pyElli[fitting]"

This installs pyElli with the additional fitting capabilities and interactive widgets. If you don't want to have this functionality just drop the [fitting] in the end.

To increase performance of the 4x4 Solver, it is recommended to install PyTorch manually, as it is too big to include in the standard installation. Installation information can be found at the PyTorch Website. The CPU variant is sufficient, if you want to save some space.

A complete environment for pyElli is also available as a Docker Container. To pull and run it directly just execute

docker run -p 8888:8888 domna/pyelli

from your local docker install. After startup a link should appear in your console. Click it and you will be directed to a jupyter server with the latest release of pyElli available.

To install the latest development version use:

pip install "pyElli[fitting] @ git+https://github.com/PyEllips/pyElli.git"

The source code is hosted on GitHub, to manually install from source, clone the repository and run pip install -e . in the folder to install it in development mode:

git clone --recurse-submodules https://github.com/PyEllips/pyElli
cd pyElli
pip install -e ".[fitting]"

How to cite

Until we have published a Paper on pyElli, we have prepared a Zenodo entry with DOIs for every pyElli Version. The can be found here.

Acknowledgements

@MarJMue received financial support from 2021 until 2025 by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation), grant No. 398143140 (FOR 2824).

Metadata

Release files for pyElli 0.23.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyElli 0.23.1
File Size Uploaded
pyelli-0.23.1.tar.gz 15.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyElli 0.23.1
File Interpreter ABI Platform
pyelli-0.23.1-py3-none-any.whl Python 3 none any Details

Total release size: 29.9 MB

Release files / pyelli-0.23.1.tar.gz

Download URL pyelli-0.23.1.tar.gz
Size 15.4 MB
Tags Source
SHA-256 checksum
How to use checksums
5ac8b0600024166cbdbca1f7b18f039cdbff5b0e99340084f97f35fba7c3cfd0
BLAKE2b-256 checksum
How to use checksums
497585756e2f75a69e5195dab764705ec9b85feb6c56c3f1dbf48157e28a2980
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release files / pyelli-0.23.1-py3-none-any.whl

Download URL pyelli-0.23.1-py3-none-any.whl
Size 14.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
9cb23948451a386db4f70b8a4b5546dd33e1c971b3a22e7eec87351f615ccef6
BLAKE2b-256 checksum
How to use checksums
8ecec48fa7bda296dcc8f4eda0cc8f09e45967cfe3aa366fd9149990d3b769b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 26, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.23.1 This release

2 release files

0.22.6

2 release files

0.22.5

2 release files

0.22.4

2 release files

0.22.3

2 release files

0.20.0

2 release files

0.19.0

2 release files

0.18.1

2 release files

0.18.0

2 release files

0.17.0

2 release files

0.16.0

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.14.1

2 release files

0.14.0

2 release files

0.13.0

2 release files

0.12.0

2 release files

0.11.0

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page