lasers
A Python library of laser physics equations for researchers and engineers.
Installation
$ pip install lasers
Usage
import lasers as lz
dnu = lz.spectral_linewidth(linewidth=168e-12, center_wavelength=777.783e-9)
BPP = lz.beam_parameter_product(beam_waist=1.5e-3, divergence=0.5e-3)
m2 = lz.m_squared(beam_parameter_product=BPP, wavelength=1064e-9)
F = lz.peak_fluence(pulse_energy=100e-3, beam_radius=1e-2)
Overview
lasers is a Python library for laser physicists and optical engineers, providing
well-documented implementations of equations and computational tools commonly
encountered in laser science and engineering.
The design philosophy prioritizes accessibility to scientists over software convention. Function signatures and parameter names reflect the terminology established in standard references — Siegman, Saleh & Teich, Boyd — so that the interface reads naturally to anyone trained in the field. Inputs and outputs use SI units throughout.
lasers is intended to serve both interactive and programmatic use cases.
Individual functions support rapid estimation and verification during
experimental work, while the broader API accommodates integration into parameter
studies, system-level models, and automated analysis pipelines.
The library is under active development. Its scope will continue to expand to reflect the breadth of analytical methods used across the optics and photonics community. Contributions, feature requests, and domain expertise are welcomed.
Contributing
Bug reports and feature requests are welcome via GitHub Issues.
Development
pip install -e ".[dev]"
Citation
If you use this package in published work, please cite it:
@software{teichmann_lasers,
author = {Teichmann, Tyler},
title = {lasers: A Python library of laser physics equations},
url = {https://github.com/tylerteichmann/lasers},
version = {0.0.2},
}
Authors
License
MIT — see LICENSE.
Release files for lasers 0.0.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lasers-0.0.4.tar.gz | 5.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lasers-0.0.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 11.0 kB
Release files / lasers-0.0.4.tar.gz
| Download URL | lasers-0.0.4.tar.gz |
|---|---|
| Size | 5.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7493a265257dc72af1e72e05fac57ed63afa265112db5310f426676299cca856
|
|
BLAKE2b-256 checksum How to use checksums |
c76f5913afd194c06299e7d3a5fdd7471715c65c5ce41af3e240e09b31d89cf6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.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 Aug 17, 2026.
Transparency logRelease files / lasers-0.0.4-py3-none-any.whl
| Download URL | lasers-0.0.4-py3-none-any.whl |
|---|---|
| Size | 5.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46235b73c35887d11fb2b0975ef04c040de19db0578068b98b6359e6b26442ca
|
|
BLAKE2b-256 checksum How to use checksums |
4623f15495bc919bcfec7bec434f93ee5a6b5562fab07992acb20b2626c31cdd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.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 Aug 17, 2026.
Transparency log