Skip to main content

PyPI version Python License: MIT Pytest Pre-commit Build and upload to PyPI

General 4×4 Transfer-Matrix Method (TMM)

A Python library for optical simulations of isotropic and anisotropic multilayer structures using the 4×4 transfer-matrix method (Hodgkinson, Kassam & Wu, 1997).

2D electromagnetic field map of surface plasmons

See also: NonlinearTMM — extends TMM to nonlinear processes (SHG, SFG, DFG) and Gaussian beam propagation in layered structures.

Table of Contents

Features

  • Isotropic and anisotropic (birefringent) layers — full 4×4 matrix for uniaxial/biaxial crystals with arbitrary orientation
  • Parameter sweeps — over wavelength, angle (β), layer thickness, refractive index, and crystal rotation angles
  • 1D and 2D electromagnetic field profiles — E and H field distributions through the structure
  • Field enhancement and optimization — built-in simplex optimizer to find resonance conditions (e.g. SPP)
  • Wavelength-dependent materials — interpolated from measured optical data
  • Cross-polarization coefficients — R₁₂, R₂₁, T₃₂, T₄₁ for polarization coupling in anisotropic media
  • High performance — C++ core (Eigen) with Cython bindings
  • Cross-platform wheels — Linux, Windows, macOS; Python 3.10–3.14

Installation

pip install GeneralTmm

Pre-built wheels are available for most platforms. A C++ compiler is only needed when installing from source.

API Overview

The library exposes two classes: Material and Tmm.

Class / method Purpose
Material(wls, ns) Wavelength-dependent material from arrays of λ and complex n
Material.Static(n) Constant refractive index (shortcut)
Tmm(wl=…, beta=…) Create a solver; wl = wavelength (m), beta = n sin θ
tmm.AddIsotropicLayer(d, mat) Append isotropic layer (d in m, inf for semi-infinite)
tmm.AddLayer(d, matX, matY, matZ, psi, xi) Append anisotropic layer with crystal orientation angles
tmm.Sweep(param, values) Solve for an array of values of any parameter; returns dict-like results (R11, R22, R12, T31, …)
tmm.CalcFields1D(xs, pol) E, H field profiles along the layer normal
tmm.CalcFields2D(xs, ys, pol) E, H on a 2-D grid
tmm.OptimizeEnhancement(…) Simplex optimizer for field enhancement

Coordinate system (Hodgkinson convention): x = layer normal / propagation direction, y and z = in-plane, plane of incidence = xz. Crystal rotation angles: ψ around z, ξ around x.

Examples

Total Internal Reflection — ExampleTIR.py

Simulate total internal reflection at a glass/air interface:

import numpy as np
from GeneralTmm import Tmm, Material

# Materials: glass prism and air
prism = Material.Static(1.5)
substrate = Material.Static(1.0)

# Set up TMM solver at 532 nm wavelength
tmm = Tmm(wl=532e-9)
tmm.AddIsotropicLayer(float("inf"), prism)      # semi-infinite prism
tmm.AddIsotropicLayer(float("inf"), substrate)   # semi-infinite air

# Sweep over effective mode index beta = n * sin(theta)
betas = np.linspace(0.0, 1.49, 100)
result = tmm.Sweep("beta", betas)

# Reflection coefficients for p- and s-polarization
R_p = result["R11"]  # p → p reflection
R_s = result["R22"]  # s → s reflection

Total internal reflection

Surface Plasmon Polaritons — ExampleSPP.py

Kretschmann configuration (glass | 50 nm Ag | air) with wavelength-dependent silver data (Johnson & Christy, 1972). Demonstrates reflection sweeps, enhancement optimization, and 1D/2D field visualization.

SPP reflection, enhancement, and 1D field profile

Dielectric Thin-Film Filters — ExampleFilter.py

Quarter-wave stacks of TiO₂ / SiO₂ on BK7 glass at normal incidence. A Bragg mirror (HL)⁷H gives > 99.8 % reflectance across a ~160 nm stop band centered at 550 nm. Adding a half-wave SiO₂ cavity between two such mirrors creates a Fabry-Perot bandpass filter with a narrow transmission peak.

Dielectric Bragg mirror and Fabry-Perot bandpass filter

Wave Plates — ExampleAnisotropic.py

Half-wave and quarter-wave plates simulated as birefringent slabs (Δn = 0.1) at normal incidence. Sweeps the plate rotation angle ξ to show how a HWP fully converts p- to s-polarization at 45°, while a QWP produces circular polarization. A textbook result verified with the full 4×4 method.

Half-wave and quarter-wave plate polarization conversion

Cholesteric Liquid Crystal — ExampleCholesteric.py

A helical stack of birefringent layers acts as a circular-polarization-selective Bragg reflector: one handedness is reflected in a well-defined wavelength band while the other is transmitted. This is the mechanism behind structurally colored beetle shells and cholesteric LC displays. Also a good stress test of the 4×4 method with hundreds of anisotropic layers.

Cholesteric liquid crystal Bragg reflector

Leaky Dyakonov SPP — ExampleDSPP.py

A Kretschmann-coupled surface plasmon polariton at an Ag / KTP birefringent-crystal interface. When the crystal optic axis is tilted past a critical angle φc ≈ 67°, the extraordinary wave begins to propagate and up to 36 % of the incident p-polarized light tunnels through the 60 nm silver film — the "leaky Dyakonov SPP" regime (Loot & Hizhnyakov, 2016).

Leaky Dyakonov surface plasmon polaritons

References

Hodgkinson, I. J., Kassam, S., & Wu, Q. H. (1997). Eigenequations and Compact Algorithms for Bulk and Layered Anisotropic Optical Media: Reflection and Refraction at a Crystal-Crystal Interface. Journal of Computational Physics, 133(1), 75–83.

Johnson, P. B., & Christy, R. W. (1972). Optical Constants of the Noble Metals. Physical Review B, 6(12), 4370–4379.

Loot, A., & Hizhnyakov, V. (2016). Leaky Dyakonov surface plasmon polaritons for birefringent crystals. Applied Physics A, 122, 327.

Development

Setup

git clone https://github.com/ardiloot/GeneralTmm.git
cd GeneralTmm

# Install uv if not already installed:
# https://docs.astral.sh/uv/getting-started/installation/

# Create venv, build the C++ extension, and install all dependencies
uv sync

Running tests

uv run pytest -v

Code formatting and linting

Pre-commit hooks are configured to enforce formatting (ruff, clang-format) and catch common issues. To install the git hook locally:

uvx pre-commit install

To run all checks manually:

uvx pre-commit run --all-files

Regenerating README images

uv run python docs/generate_images.py

CI overview

Workflow Trigger What it does
Pytest Push to master / PRs Tests on {ubuntu, windows, macos} × Python {3.10 – 3.14}
Pre-commit Push to master / PRs Runs ruff, clang-format, and other checks
Publish to PyPI Release published Builds wheels + sdist via cibuildwheel, uploads to PyPI
Dependabot Weekly Keeps GitHub Actions and pip dependencies up to date

Releasing

Versioning is handled automatically by setuptools-scm from git tags.

  1. Ensure CI is green on the master branch.
  2. Create a new release on GitHub:
    • Go to Releases → Draft a new release
    • Create a new tag following PEP 440 (e.g. v1.2.0)
    • Target the master branch (or a specific commit on master)
    • Click Generate release notes for auto-generated changelog
    • For pre-releases (e.g. v1.2.0rc1), check Set as a pre-release — these upload to TestPyPI instead of PyPI
  3. Publish the release — the workflow builds wheels for Linux (x86_64 + aarch64), Windows (AMD64 + ARM64), and macOS (ARM64) and uploads to PyPI.

License

MIT

Metadata

Release files for GeneralTmm 1.3.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 GeneralTmm 1.3.1
File Size Uploaded
generaltmm-1.3.1.tar.gz 1.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for GeneralTmm 1.3.1
File
generaltmm-1.3.1-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
generaltmm-1.3.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
generaltmm-1.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
generaltmm-1.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
generaltmm-1.3.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
generaltmm-1.3.1-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
generaltmm-1.3.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
generaltmm-1.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
generaltmm-1.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
generaltmm-1.3.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
generaltmm-1.3.1-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
generaltmm-1.3.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
generaltmm-1.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
generaltmm-1.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
generaltmm-1.3.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
generaltmm-1.3.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
generaltmm-1.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.24+ x86-64 Details
generaltmm-1.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.24+ ARM64, Linux glibc 2.28+ ARM64 Details
generaltmm-1.3.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
generaltmm-1.3.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
generaltmm-1.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.24+ x86-64, Linux glibc 2.28+ x86-64 Details
generaltmm-1.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.24+ ARM64 Details
generaltmm-1.3.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 77.5 MB

Release files / generaltmm-1.3.1.tar.gz

Download URL generaltmm-1.3.1.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
21c1d1d456b857cc5a0997601d9ef701d708b44a94d1c60a17bc6d93a6061ee5
BLAKE2b-256 checksum
How to use checksums
89b8179aacf8143a9435f5be4ae2fe236974f82fcc524c9d0037096218319ed3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp314-cp314-win_arm64.whl

Download URL generaltmm-1.3.1-cp314-cp314-win_arm64.whl
Size 323.8 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
200147c560009432fa1b7decf21f6bb9c0b13cd352186681b34b69eb19df1ffa
BLAKE2b-256 checksum
How to use checksums
6adc886652e13a4495a335be0173e522d41e86c3c788301a2767cba1297c1191
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp314-cp314-win_amd64.whl

Download URL generaltmm-1.3.1-cp314-cp314-win_amd64.whl
Size 346.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
be399c0c6870eddc6fa6ea0d4f82cf0d406146055fe55e26ff588ae29d953da2
BLAKE2b-256 checksum
How to use checksums
fda0188daef0ad9cf95d08e7f1da17d84b136ed32cd927173ea55ca352bed641
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL generaltmm-1.3.1-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a2294434a8976aaa95bc44bb26e838d5dbf271c909325f62e089f41c53d9c91d
BLAKE2b-256 checksum
How to use checksums
e4745cb9f9e805ce3452e6284901c84f734e99c0985cd21c67a3542a8ead219d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL generaltmm-1.3.1-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.2 MB
Tags CPython 3.14 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6b02baf630434c61f19c85ea2080930becda3f4e9cb3d948c942ed44ec0baae3
BLAKE2b-256 checksum
How to use checksums
036d6b6c624aa0f7c37f8a402b8743723143ac00f75436d4d01e64b394886936
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL generaltmm-1.3.1-cp314-cp314-macosx_11_0_arm64.whl
Size 338.1 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
09900a90fa27af7bc0dc7fbd22baa4a1c73db67a99a179741ac6904d24a94c8d
BLAKE2b-256 checksum
How to use checksums
16884f6f00c7f728043fc28b7028de07e2eb13863e3cb8bc6359aa1c4422388b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp313-cp313-win_arm64.whl

Download URL generaltmm-1.3.1-cp313-cp313-win_arm64.whl
Size 315.4 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
137082ba8b729b7ef4acdea7ba39fc81a5c35fc37ada15315cfd33047adfe34c
BLAKE2b-256 checksum
How to use checksums
6d2a33e2b413c756fc0f0286bcfa01fce06e82438cbc4784866d6519e2a6b731
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp313-cp313-win_amd64.whl

Download URL generaltmm-1.3.1-cp313-cp313-win_amd64.whl
Size 338.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
3cae61771fe6484701c7ec4426500342a0527b64a5d3b18846580b294b6178bb
BLAKE2b-256 checksum
How to use checksums
a9fb9e05a8eba1916477886d1a193e6c56ae84a90648be96c4b41d8722760797
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL generaltmm-1.3.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b7b9ae1384cdfbd78b895b0b94dc6a6d4e6d0bd5bd3dc1fa30f75eb470b31e6d
BLAKE2b-256 checksum
How to use checksums
eeb420b3f11f662f495263b5f222f74ffbc058d836796c0731b3b0fc21e14228
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL generaltmm-1.3.1-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.2 MB
Tags CPython 3.13 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e27772a71ac5fa93b5678bbb9111e294540ef25227b05af0ea0010ffba516441
BLAKE2b-256 checksum
How to use checksums
9ec14dd894d92e78d1725a77d2c172395d3c01733a9a75bac495e88033e2817d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL generaltmm-1.3.1-cp313-cp313-macosx_11_0_arm64.whl
Size 335.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
30e02f19c4c621cd8246e03c6a4d7f8325c81cbcd5b8d27203d8b7d6028509b6
BLAKE2b-256 checksum
How to use checksums
0ea2d1e494ce66aae60bff6127f8f94501ae420b1fe9beccf1e95efb275471db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp312-cp312-win_arm64.whl

Download URL generaltmm-1.3.1-cp312-cp312-win_arm64.whl
Size 315.8 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
34340ed02aed20959cc06278daf77ad0552cb5ce8f63d177f93bcc79c0c6e8bb
BLAKE2b-256 checksum
How to use checksums
7bac5f82cfc82dadcb39d8a82edaa93ca8d57302b5d895e892299a0f16c77933
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp312-cp312-win_amd64.whl

Download URL generaltmm-1.3.1-cp312-cp312-win_amd64.whl
Size 339.0 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c589cede6047709e7ffe37c4ca2981b3946cf290bd846074a9493341f5d9d8fc
BLAKE2b-256 checksum
How to use checksums
9449753d929aaa54919a1bf83246835ffaca4e12f8a31106002d7d66ba46f127
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL generaltmm-1.3.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5b3c8a0dfb7d625431be069ac25cf28089a88af56d00f0d2459653ca8656375e
BLAKE2b-256 checksum
How to use checksums
4115de1d0fef704637bb8b01905e3e9ff585a3bb2c7ce5c11874d3022648fed8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL generaltmm-1.3.1-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.2 MB
Tags CPython 3.12 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
5adc299291277abfe89ea93fdb48b3ecb85a8e993f5a8c5a0bfa9f2c7cee3769
BLAKE2b-256 checksum
How to use checksums
e983e78579d566fc36d71515f79a99f9d976350c8fc0523e4240e0b0fd799e3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL generaltmm-1.3.1-cp312-cp312-macosx_11_0_arm64.whl
Size 335.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3b8b6ca238fb632799321e28f43abae80bbbcf3e9a356fb617a853276f386fb4
BLAKE2b-256 checksum
How to use checksums
24aac072bfce990e30d8537d732ffacb3cb266693e1c405af7a199ade640ae20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp311-cp311-win_amd64.whl

Download URL generaltmm-1.3.1-cp311-cp311-win_amd64.whl
Size 339.2 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
693832b5f164ce2640bc3d31f885e72eed18e08d7eff47eff023498f9ff7b0e0
BLAKE2b-256 checksum
How to use checksums
940e73a3f97c5aa799c6a6dedbab49253bad88794f2c6d736997bf05dd6b68cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL generaltmm-1.3.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6b550bca33b4bbce7656eab6997f5b3086a536e69e8b81e7e6a8c4ac649de51c
BLAKE2b-256 checksum
How to use checksums
869157d4e1d9156b13d22e27e58e267ef992315603a2a62d01aa8d05a1eef24e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL generaltmm-1.3.1-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.2 MB
Tags CPython 3.11 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
cd892e4f896d10b85f1da099ccf8ea8fe1ca2cdf3d3e22d45729eb02dcbd0b0f
BLAKE2b-256 checksum
How to use checksums
eeaac6eb3207f71de9f4f1485ed66ba9b1c802f0e0617e264d29ef71d739df9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL generaltmm-1.3.1-cp311-cp311-macosx_11_0_arm64.whl
Size 335.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9de92263e81b5a017f93a061fb9bb778cb046942cdbd8f93ccfe786f070d15c3
BLAKE2b-256 checksum
How to use checksums
7f4b72e0a1b720a86cff681dcaff0a17717a383efe275d570e0be69545b30fef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp310-cp310-win_amd64.whl

Download URL generaltmm-1.3.1-cp310-cp310-win_amd64.whl
Size 339.1 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
5b061a03e9f947d5985e8efa1fda7876f3ce4f9815ac8d29589e055feb4358d0
BLAKE2b-256 checksum
How to use checksums
5a5381b5d5d7ab75a3bc3d2e9f2d2592d6193be462cd68cbe28192215ea2def1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl

Download URL generaltmm-1.3.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Size 7.2 MB
Tags CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d1fc45e4795b9b97f89c9178957e3eca4f38a2401250ec6a03b4b9a12dbccfce
BLAKE2b-256 checksum
How to use checksums
6fe8110a79410c58ec200e12ae93fb284c1e1f918ed362f6c7b4e9d0b84704f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl

Download URL generaltmm-1.3.1-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Size 7.2 MB
Tags CPython 3.10 Linux glibc 2.24+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
102f3b6531ad2380e94b82e54432c6c0f016eebfea8a828d8dd83407da99bbb7
BLAKE2b-256 checksum
How to use checksums
426dc49da24542f22ad461332a64667584a161b48c60fafc59de5df9206924fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / generaltmm-1.3.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL generaltmm-1.3.1-cp310-cp310-macosx_11_0_arm64.whl
Size 335.6 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e19a1bddf3c07d5b065cb5506d9776ff44213d28b0e9524b040550c25b647221
BLAKE2b-256 checksum
How to use checksums
4004b66f1843b95dce80ee87a0ace3b2585a12fb5e29dc9a665d00b866ff7ba4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.3.1 This release

24 release files

1.3.0

24 release files

1.1.0

19 release files

1.0.6

5 release files

1.0.5

5 release files

1.0.4

5 release files

1.0.3

5 release files

1.0.1

2 release files

0.0.0

3 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