Skip to main content

General 4x4 transfer-matrix method (TMM)

Project description

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 ReleasesDraft 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

generaltmm-1.3.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

generaltmm-1.3.0-cp314-cp314-win_arm64.whl (323.5 kB view details)

Uploaded CPython 3.14Windows ARM64

generaltmm-1.3.0-cp314-cp314-win_amd64.whl (346.3 kB view details)

Uploaded CPython 3.14Windows x86-64

generaltmm-1.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

generaltmm-1.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

generaltmm-1.3.0-cp314-cp314-macosx_11_0_arm64.whl (337.9 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

generaltmm-1.3.0-cp313-cp313-win_arm64.whl (315.2 kB view details)

Uploaded CPython 3.13Windows ARM64

generaltmm-1.3.0-cp313-cp313-win_amd64.whl (338.6 kB view details)

Uploaded CPython 3.13Windows x86-64

generaltmm-1.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

generaltmm-1.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

generaltmm-1.3.0-cp313-cp313-macosx_11_0_arm64.whl (334.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

generaltmm-1.3.0-cp312-cp312-win_arm64.whl (315.6 kB view details)

Uploaded CPython 3.12Windows ARM64

generaltmm-1.3.0-cp312-cp312-win_amd64.whl (338.9 kB view details)

Uploaded CPython 3.12Windows x86-64

generaltmm-1.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

generaltmm-1.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

generaltmm-1.3.0-cp312-cp312-macosx_11_0_arm64.whl (335.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

generaltmm-1.3.0-cp311-cp311-win_amd64.whl (339.0 kB view details)

Uploaded CPython 3.11Windows x86-64

generaltmm-1.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

generaltmm-1.3.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

generaltmm-1.3.0-cp311-cp311-macosx_11_0_arm64.whl (335.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

generaltmm-1.3.0-cp310-cp310-win_amd64.whl (338.9 kB view details)

Uploaded CPython 3.10Windows x86-64

generaltmm-1.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

generaltmm-1.3.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (7.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

generaltmm-1.3.0-cp310-cp310-macosx_11_0_arm64.whl (335.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file generaltmm-1.3.0.tar.gz.

File metadata

  • Download URL: generaltmm-1.3.0.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

Hashes for generaltmm-1.3.0.tar.gz
Algorithm Hash digest
SHA256 cffa480dfa05dd651d66483e5fe55b67dc561e7b9655ab2c5e69e3da28e6c5db
MD5 ccf69a69dd72a2a6c6b2664c2aebe714
BLAKE2b-256 cd7369eb7f5cf25a881ae915ad36a80af17b8b6c855beff8f8c9ab7f6e32da85

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp314-cp314-win_arm64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp314-cp314-win_arm64.whl
  • Upload date:
  • Size: 323.5 kB
  • Tags: CPython 3.14, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for generaltmm-1.3.0-cp314-cp314-win_arm64.whl
Algorithm Hash digest
SHA256 9f6a54d945d2a7c218bfebc47a44dea31b6bbd6987ac99e9f2f38fca50b99a7f
MD5 d36e8a2bfc3861925d5e455338f7ffc0
BLAKE2b-256 5f0ab631fb79b95902e0807b0a8ff94b233f32ae1eb837a686879b28addeaba7

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 346.3 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

Hashes for generaltmm-1.3.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 5849c7a47a925a282e7c7ef837799b7ca4a6ca8c592eb85c7fe3c6fe164b4a63
MD5 c29e3a9b6ba9849ad7fcf907b55b92a8
BLAKE2b-256 400510f8d3c3a3063eb71e0ad53f4cd96312f77fe246fed78cbe4d9b6a9643f3

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 efd1d509aee2ab7948c60e6a1f7e68ceced0e12758c83f2fab32f58a27529cc1
MD5 ca88d8c0afb6fbdadde72549cb66bcde
BLAKE2b-256 a04061ff6abe3a068d3be6a1a65ec2569497cb05086b224a65d3e05872827da4

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 40d8f182ebced35d8d5bfa7bf913ed710bc589246a76c1d5e9f7215a8620c70c
MD5 4bb64fd4e92c437d19c73cd5fab622a2
BLAKE2b-256 1489973f071ce6dae7621552872a56929bfb520095e939642dc7f4f08ad3d207

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fc9bf8919d6bcd44a0bb602034974a379263eabd073fcadb92fd8d7eaad6f630
MD5 0c5edefa55c76606fdec8c8303bdb3b4
BLAKE2b-256 f3897c31a67a088fa4bacf3225858b5465e34131f2338d7f85d403c791ebe32d

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp313-cp313-win_arm64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp313-cp313-win_arm64.whl
  • Upload date:
  • Size: 315.2 kB
  • Tags: CPython 3.13, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for generaltmm-1.3.0-cp313-cp313-win_arm64.whl
Algorithm Hash digest
SHA256 447af6189920ed4ce50134182f8f67c1a98dce005cba552b704dfed1617758d0
MD5 aca3a2359c0098786c56c4841b2fdda9
BLAKE2b-256 0b184b342aa69bb0b2b963bdff6fc0369fd9888d1d80da808450dcdda83881cc

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 338.6 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

Hashes for generaltmm-1.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a35813e7bb9da0b230b97a2e4e3d3a89082ba56a6a2a66c705ef18804a536e92
MD5 b9b55ae38f45867edb3d5ac20c994234
BLAKE2b-256 81b165fed6368fd6a0fc40cebd98264213d4fe057fb254d243fc7fa32982b90d

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6404c7f9f61f975f773a782866c59bcb45d1f954c139f49d4b6261cb8fdfa221
MD5 37f91e38abb5aedb57ae57832ac4437b
BLAKE2b-256 d4cfd4874c97abb0374fcfc7733dbc80110722c6583fde50ba4861435005c02b

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 324ef7d70a9a64b082cbe3643bd4ba3579cb1b5d08daa075a247392036479c04
MD5 52428cd628db1791aac40f9b8bb1e7e3
BLAKE2b-256 1fbe5ddc8a1ff4ef392469dbc3c6e750233fec3f4f6e9fdc78a5a111c6a76faa

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f7f8a4189a8b8a7e9b554b7c8c5edf420a2331152e07db505caa2350970870f4
MD5 109485a023e85bf9cee06e455c80cf41
BLAKE2b-256 153d8c4871f642b46e64b19a242c0e0567d973f0899ccb20dc1b349ddc13e504

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp312-cp312-win_arm64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp312-cp312-win_arm64.whl
  • Upload date:
  • Size: 315.6 kB
  • Tags: CPython 3.12, Windows ARM64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for generaltmm-1.3.0-cp312-cp312-win_arm64.whl
Algorithm Hash digest
SHA256 4364da19a8dd3b6a793d5d4e380e555b34d86dd25184beb3f076c167421a66aa
MD5 3d8328ba384d3dcfe940a5659037e095
BLAKE2b-256 3ff76356c9fa7db1c27ecc4722ce50d425e239f9fe2b13504574cddb66cd5dbb

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 338.9 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

Hashes for generaltmm-1.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 359daf2b4117725c31624df846fdeefe5a8bee55329eb4c1c9abcb5dfb017f8e
MD5 6adf6e40084868f17d0d2cfbde4b5abb
BLAKE2b-256 a0d72e4f15802ae6a2f8bd6fe8c0f11266137e43e885956c5862367019302b55

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e21c65f71ea7f81ce1be03fbe8a72eb364aea12efe3d07ac4991fde94a75170
MD5 ad66fc4b7b4e4f830fdbb39bc0ca1805
BLAKE2b-256 fcd0eeacac076d2ff171f9fe18aa3668b3274d1d3024aae0f0c8b23162d88252

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d6e1e4fb77fd899f8cde9bb6a9f0e0151c2f977e37ac77ae1cc98fd7d7dad3c1
MD5 d5745c96996caa77d065fb12214a6040
BLAKE2b-256 45368c509b8a89f426d31120437a556df0e1442ea8bc0535addce16632ed1929

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e60e79942c8dba441c8ae0089ff00e2f8e73eb27af8a49a323299d11a7061dc7
MD5 21dc92d5f9136bf47e019472d7e3491a
BLAKE2b-256 9a969cede1831273ab03292d49633964fa675f6806ba74541377fbcd4a4ef3ed

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 339.0 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

Hashes for generaltmm-1.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f37f7fceabda86b726d28d81ab12beef9dfa78d8d2488e7fb981c20e386635b0
MD5 cef5701704fe930aa4e6184786d6c225
BLAKE2b-256 ed8eed088a8d2e401fc3323e4cfa0459cd3692e690826b580592da6568bcbe64

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3e5fe607b074e7f9463f7ef15a6995c74be258ab23776056e016746b84170ad6
MD5 3391e43c17458142598090ab6a353f28
BLAKE2b-256 312034e74b43447b2df9f97e4d5880d0e4d4774944acb7839dfb0f7af48d6752

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b5161a9f690cec25d2ae8f0555400b54e6ede692bbb984e34b3c63c3b07b8ac1
MD5 8ffa24cab9c1fda84d9dd6ba0d6abf2c
BLAKE2b-256 63b2ce005bb30900fffa6186ecd2bef0107d1e597f644320d969debf9952fee4

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc7a3c64662cd981af8b2c67290d669f6759108f15c27b30bd660c28dfb6a8ec
MD5 d23d1a5613067b2d2f638a34c02dd189
BLAKE2b-256 c0b144b87ba06b4f1465b2f719e44ca9424222cdba6f110b9bfb92270cd775b7

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: generaltmm-1.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 338.9 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

Hashes for generaltmm-1.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 3f28529fbedecdd3ce4bbef10aec5e5356960095406df91651028a61ece76eb8
MD5 f9365451940f73ef5a28416f4902ca54
BLAKE2b-256 232168154dfee71d2a7ee7505f8366d9101626bb8bad4dbabf43ad74d9bb5b9a

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 973966639057c22c65aa6b5c0bd30965cf9814042d4865df1822595fcf82aa79
MD5 df4954c9dcd2cfcbb94fc30ed2d78e81
BLAKE2b-256 c8b284297593a5b52f999c3cf23642069364a1a83a514b6560ea75525241d34a

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 56badada3dfaf41c7d6de4f39deb4688246d7c992be633119b83774133738fc5
MD5 185eaa5be328d5b286715f8849d03bfd
BLAKE2b-256 a863cb679f03ae126bab8fa8d9d153b6cf935764b5ec55096aad8169bf181502

See more details on using hashes here.

File details

Details for the file generaltmm-1.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for generaltmm-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 52e7d2926d352f68ec5b720351c70d488df0a39b60139a137a79cdb090b79f31
MD5 bc91bcf6f72ef413141877afaf41198b
BLAKE2b-256 a168b1d02645ac363a4b9b2561659148b9cb49ee9a8a00a23ce8674273a7d7a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page