General 4x4 transfer-matrix method (TMM)
Project description
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).
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
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.
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.
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.
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.
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).
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.
- Ensure CI is green on the
masterbranch. - 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
masterbranch (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
- Publish the release — the workflow builds wheels for Linux (x86_64 + aarch64), Windows (AMD64 + ARM64), and macOS (ARM64) and uploads to PyPI.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file generaltmm-1.2.2.tar.gz.
File metadata
- Download URL: generaltmm-1.2.2.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca821a9de54761adea2601eb201c0acb881d9bafd58bbaa8d61d32d3b15e9f1a
|
|
| MD5 |
fdf51b3ae0cde9e4790adb2ee01920b6
|
|
| BLAKE2b-256 |
2807374aa8bf1ad1744c6ebc482ea82372a775fa152865ae194a524683265416
|
File details
Details for the file generaltmm-1.2.2-cp314-cp314-win_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp314-cp314-win_arm64.whl
- Upload date:
- Size: 315.4 kB
- Tags: CPython 3.14, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15e4300579fccc7e13d8585b0fd2a7e748a13329ccd149b1f242e875aa7b7a46
|
|
| MD5 |
066ef60dd0c06e93f84e759bb4cf5a99
|
|
| BLAKE2b-256 |
ea346e90c5673da82b8c98fef9c0c600ae57fb25477dffd12d618e017e8bcd2d
|
File details
Details for the file generaltmm-1.2.2-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 336.5 kB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e8e58e5603953472cc80aedddc04312ef740b1d3ec9e15e06dc5d126a7b65dc
|
|
| MD5 |
4c8d681287c629152e03cca046fd2f0e
|
|
| BLAKE2b-256 |
79c1aedf80574867e636f83ca1567aaae9c9f3f26f7d5546b40cb9427c107477
|
File details
Details for the file generaltmm-1.2.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.14, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
014f0c554ebab3ca1acfdb5105e8d9bf6bcdf59323f8864ef3b3da5b700e2ea2
|
|
| MD5 |
1f044af734c2589407e6b06b958db1bd
|
|
| BLAKE2b-256 |
1fa28b7c0ca8a513141aad6a27a5cc7e07fc1f5e2753530893117bda90f25084
|
File details
Details for the file generaltmm-1.2.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.14, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de707f4d412c8550ee0dd073a587046d4dd56a100e96b3ea3167d30b88821798
|
|
| MD5 |
afc94a623d474e4ff3d46a36d8ad55cc
|
|
| BLAKE2b-256 |
b7aab64a1553f197b08122bf08d51bb13b9a6b05c1d19f6b2073adcae90161e3
|
File details
Details for the file generaltmm-1.2.2-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 327.4 kB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ebc4dd996e455dfc08984674bfe9646891894604390c3ac24eb13eef847929d
|
|
| MD5 |
473799f28a3a0ad8a02cbd7d7b9f4aed
|
|
| BLAKE2b-256 |
c9906ff3fe6e2a376836540c9af1880bdae44c5a40bd2d3e561d0f4f5a2558cc
|
File details
Details for the file generaltmm-1.2.2-cp313-cp313-win_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp313-cp313-win_arm64.whl
- Upload date:
- Size: 307.3 kB
- Tags: CPython 3.13, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
607c9b017896e4378362859939feeba32a5c3c2c1b1cde3c354dc553535b7fea
|
|
| MD5 |
d88cbd2185fd9e0c47e2b33ecef2ca2f
|
|
| BLAKE2b-256 |
4597aba4dae6727e320fd1796bc3caadaa81dd752e9726e0564328136d7fa5be
|
File details
Details for the file generaltmm-1.2.2-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 328.9 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fdc9eb21a0f3ba2cec9cfb58c4796e283ed07d8752c0d0a6b6d6c3e3836eb51
|
|
| MD5 |
041e794315a20b7b5fd26c27b10f04b6
|
|
| BLAKE2b-256 |
8753174b4998aa8d863d5cbbe9b70a5b93d5d1258e02f37db470d945b9d96be3
|
File details
Details for the file generaltmm-1.2.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.13, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7c34bcd62553b2dd34af8bcc7baa2b4839bf4d155a2938363bd417dfbfe059f9
|
|
| MD5 |
786bef7b43f283e121cf79e4f7614de8
|
|
| BLAKE2b-256 |
5e72323a1e03836be71221f2ac18c0e670fd735b22acd1996d3787002602915b
|
File details
Details for the file generaltmm-1.2.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76b1dab45ebb4f4d12326c3ac29b782de32704d632611ccad9d789543354f19c
|
|
| MD5 |
c8f73aad8e800c5f59439a3d06dfd73a
|
|
| BLAKE2b-256 |
4970f2b7cb140d47869dd7ae275d1b2be0e804c39f21cdbdeedfbe59a8425a1c
|
File details
Details for the file generaltmm-1.2.2-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 324.2 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b12bf81b918047e797b232c3eb4cd97f84998ae3c551b4e0c3620f8f7976a0a3
|
|
| MD5 |
fc6f9054f39c80110e9aed151075ea2a
|
|
| BLAKE2b-256 |
d7cec5c5f4eb0d5ff97f1db5988902daea90426da1f80ece5718ba8ccf5cb201
|
File details
Details for the file generaltmm-1.2.2-cp312-cp312-win_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp312-cp312-win_arm64.whl
- Upload date:
- Size: 307.8 kB
- Tags: CPython 3.12, Windows ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
71a596782694fda49fe87a253a2c19c01f413c4e058297af34587ad9f41a0c1d
|
|
| MD5 |
c9ff4cddbf3b0feb5baebd4470d4d5c7
|
|
| BLAKE2b-256 |
38cd421558e707beb952c7cb2e0be6ab21e7b892ce69a1b655db040e7cd10979
|
File details
Details for the file generaltmm-1.2.2-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
445f82372a3cda63461af439402bbb54fd8fefd9c1d14581ab00bdd68ff7ef04
|
|
| MD5 |
3eaa44ae5621150f75cba8d58ad9269d
|
|
| BLAKE2b-256 |
82c51363f1b30a504ef7724fa826bd1a5f93150054461b8af26741dc04490a8b
|
File details
Details for the file generaltmm-1.2.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ca39dd91afb0bf89ef80df3cfae1757348d793b8cfb9b3086b382f429b977c2
|
|
| MD5 |
556fd30161f133b0788fe491869c38e6
|
|
| BLAKE2b-256 |
b90812a8610bd3e6956b23190a06a7d7f3d95af4f44932acd448118d73a59917
|
File details
Details for the file generaltmm-1.2.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11031dabb8dbd7f35dc3ef9f34f2bddb5f5e2fce2f720f3bff37d44d6c915f67
|
|
| MD5 |
bfd2869d60da879ca3226ba487c0d5c9
|
|
| BLAKE2b-256 |
7a4103d9e1f0f16ff4813d61599437663a15191e8b585374bba34edb9d0304f5
|
File details
Details for the file generaltmm-1.2.2-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 324.9 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6efd7790160d85289e65d44946841239c9171d36b46db08579cde8df83ecfd3e
|
|
| MD5 |
9106cced917ded198e6222dc7bdcdaaa
|
|
| BLAKE2b-256 |
e04f58b5d83f3d26f24263a2355ffcb5a1561292d0327ae498f652260d1a8a60
|
File details
Details for the file generaltmm-1.2.2-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 329.3 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15c299edc9c4498cf829a24ab56134f0e62e614c3e516b5e491c0335668d6291
|
|
| MD5 |
a73fca01369de8e3a931ab5efd1ebd1e
|
|
| BLAKE2b-256 |
ecf1f896bd41d963c8c20e2b95c606435e028c559c0ad10c6812cb462114960b
|
File details
Details for the file generaltmm-1.2.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7e7bba543611c0cad9671280e058ab6aadfa21ba22da5f599d3a6611013b1b6
|
|
| MD5 |
c7fbbea109f287da32f0bf266203f304
|
|
| BLAKE2b-256 |
b4c7f7b4bc54d13930f947bc3aeaa85357f610928c9d4961191537ab29a6286c
|
File details
Details for the file generaltmm-1.2.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.11, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae9e8120770bc44e1270b474af99e353614c8918d6e8f43dd607ef5143538132
|
|
| MD5 |
1b30ad1559760d11dbcec87158d56bba
|
|
| BLAKE2b-256 |
e220fc6f94cb8422f784fc2c29b0e8c4bfa7f14ce1e09c5db8ef1ad60646a400
|
File details
Details for the file generaltmm-1.2.2-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 324.8 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b42ad86da97b6fb807751ec56efde833a2d9b4ac896866becfefbcb24798926e
|
|
| MD5 |
b348da2b19035ce2b6bb89db0e71c153
|
|
| BLAKE2b-256 |
25cf5d07dc3ffc27c50c9c0b064c8508070cc7dbf4c50aba38b130139f7ad0ed
|
File details
Details for the file generaltmm-1.2.2-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 329.1 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c69fa8e9cd13e0d02d17d772794ff4b23976bfa6c1644cf28f8f51ace671404
|
|
| MD5 |
ff3864b272d26544b1f083881257ab53
|
|
| BLAKE2b-256 |
5c4686efc69459f6020a769fd6257a67accfe3ce901693c7c4c499ac2284c232
|
File details
Details for the file generaltmm-1.2.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 5.3 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d30fb20b1b8ee7c3cd49b41f93e3e5d08d882d93181d6521f8eff31d12f19c8e
|
|
| MD5 |
6ffd8213a4a2ca1e03515225c587edfa
|
|
| BLAKE2b-256 |
c96fd707ce3b835ba4af5be4a02470262854b7c080b596d21641cb2526f32f96
|
File details
Details for the file generaltmm-1.2.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
- Upload date:
- Size: 5.2 MB
- Tags: CPython 3.10, manylinux: glibc 2.24+ ARM64, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b88d73b372bf44e8d4f658534d4994bb7d5f6f8ba016b01d2930939edd379714
|
|
| MD5 |
d5e30a2ca6228b141f17c0be56d15414
|
|
| BLAKE2b-256 |
7479a24e2d193b71fb763ca557e3438aaf8f62bd8594025f917a5b9651425b2e
|
File details
Details for the file generaltmm-1.2.2-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: generaltmm-1.2.2-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 325.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
936afa8d98b5cf3fc89c13f83577e9d50deb2f2a4dda9d237363e4c83b2bf839
|
|
| MD5 |
7146677252a2b1f43821a8d278e54a99
|
|
| BLAKE2b-256 |
bcbabf087526027bf1cb259bc408e2cbc3e1b1ccefe878f12d278f3f70a2a510
|