Skip to main content

Python versions on PyPI CeNTREX-TlF version on PyPI

See the changelog for release notes and migration guidance.

Extensions

CeNTREX-TlF-julia-extension version on PyPI CeNTREX-TlF version on PyPI

CeNTREX-TlF

Code for generating the CeNTREX TlF States, Hamiltonians, Transitions, Couplings and Lindblad equations.

Consists of six modules:

  • states
  • hamiltonian
  • transitions
  • couplings
  • lindblad
  • utils

states has code to generate states and the classes that describe the CoupledBasisState, UncoupledBasisState and State; where State holds multiple CoupledBasisStates or UncoupledBasisStates with different amplitudes, i.e. when superpositions arise.

Lindblad Solver Performance Options

Rust-backed Lindblad solves default to execution_mode="expanded_sparse". This mode uses a packed Hermitian density matrix and, by default, groups diagonal-real and complex input terms in the RHS kernel. The grouping can be controlled with use_split_input_rhs on solve_lindblad, solve_lindblad_batch, parameter_scan, initial_condition_scan, and grid_scan.

result = solve_lindblad(
    prepared,
    rho0,
    (0.0, t_end),
    execution_mode="expanded_sparse",
    use_split_input_rhs=True,  # default
)

Set use_split_input_rhs=False to keep the same expanded-sparse coefficient representation while disabling input-term grouping. This is mainly useful for benchmarking or checking full-system performance regressions; compact systems usually benefit from the default grouped path.

Dependencies

  • numpy
  • scipy
  • sympy
  • pandas

Installation

python -m pip install .
where . is the path to the directory. To install directly from Github use:
python -m pip install git+https://github.com/ograsdijk/CeNTREX-TlF

states

states contains the functions and classes to represent the TlF states:
CoupledBasisState is a class representing a TlF state with coupled quantum numbers, i.e. F, mF, F1, J, I1, I2, Ω, P.
UncoupledBasisState is a class representing a TlF state with uncoupled quantum numbers, i.e. J, mJ, I1, m1, I2, m2, Ω, P.
Finally State is a class representing a collection of states, since in most cases the TlF molecules are in a superposition state.

from centrex_tlf import states
states.CoupledBasisState(F=1, mF=0, F1 = 1/2, J = 0, I1 = 1/2, I2 = 1/2, Omega = 0, P = 1)

or using some of the functions to generate all hyperfine substates in a given J level:

from centrex_tlf import states
QN = states.generate_uncoupled_states_ground(Js = [0,1])

which returns an array containing the UncoupledBasisStates

array([|X, J = 0, mJ = 0, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = -1/2, P = +, Ω = 0>,
       |X, J = 0, mJ = 0, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = 1/2, P = +, Ω = 0>,
       |X, J = 0, mJ = 0, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = -1/2, P = +, Ω = 0>,
       |X, J = 0, mJ = 0, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = 1/2, P = +, Ω = 0>,
       |X, J = 1, mJ = -1, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = -1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = -1, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = 1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = -1, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = -1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = -1, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = 1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 0, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = -1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 0, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = 1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 0, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = -1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 0, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = 1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 1, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = -1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 1, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = 1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 1, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = -1/2, P = -, Ω = 0>,
       |X, J = 1, mJ = 1, I₁ = 1/2, m₁ = 1/2, I₂ = 1/2, m₂ = 1/2, P = -, Ω = 0>],
      dtype=object)

State objects, which are superpositions of BasisStates are also generated easily:

superposition = 1*QN[0] + 0.1j*QN[1]

which returns

1.00 x |X, J = 0, mJ = 0, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = -1/2, P = +, Ω = 0>
0.00+0.10j x |X, J = 0, mJ = 0, I₁ = 1/2, m₁ = -1/2, I₂ = 1/2, m₂ = 1/2, P = +, Ω = 0>

A subset of State, CoupledBasisStates can be selected with the QuantumSelector as follows:

QN = states.generate_coupled_states_ground(Js = [0,1])
qn_select = states.QuantumSelector(J = 1, mF = 0, electronic = states.ElectronicState.X)
qn_select.get_indices(QN)

which returns all the indices with J=1 and mJ=0:

array([ 4,  6,  9, 13], dtype=int64)

hamiltonian

hamiltonian contains the functions to generate TlF hamiltonians in the X and B state in either coupled or uncoupled form.
Generating a ground state X hamiltonian can be accomplished easily using some convenience functions:

from centrex_tlf import states, hamiltonian

# generate the hyperfine sublevels in J=0 and J=1
QN = states.generate_uncoupled_states_ground(Js = [0,1])

# generate a dictionary with X hamiltonian terms
H = hamiltonian.generate_uncoupled_hamiltonian_X(QN)

# create a function outputting the hamiltonian as a function of E and B
Hfunc = hamiltonian.generate_uncoupled_hamiltonian_X_function(H)

All functions generating hamiltonians only require a list or array of TlF states. Generating the hamiltonian only for certain hyperfine sublevels is hence also straightforward. The function calculate_uncoupled_hamiltonian_X calculates the hamiltonians from scratch, whereas generate_uncoupled_hamiltonian_X pulls the non-zero elements from an sqlite database.

To convert a hamiltonian from one basis to another transformation matrices can be generated or calculated (generate_transform_matrix pulls non-zero matrix elements from an sqlite database, calculate_transform_matrix does the full element wise calculation):

from centrex_tlf import states, hamiltonian

# generate the hyperfine sublevels in J=0 and J=1
QN = states.generate_uncoupled_states_ground(Js = [0,1])
# generate the coupled hyperfine sublevels in J=0 and J=1
QNc = states.generate_coupled_states_ground(Js = [0,1])

# generate a dictionary with X hamiltonian terms
H = hamiltonian.generate_uncoupled_hamiltonian_X(QN)
Hfunc = hamiltonian.generate_uncoupled_hamiltonian_X_function(H)
H0 = Hfunc(E = [0,0,0], B = [0,0,1e-3])

# generate the transformation matrix
transform = hamiltonian.generate_transform_matrix(QN, QNc)

# calculate the transformed matrix
H0c = transform.conj().T@H0@transform

This is mostly used for optical bloch simulations where the coupled states representation is more convenient.

Stark Shift Example

To calculate the energy levels as a function of the electric field the following code can be used, which calculates all energies up to J=6 but only plots the |J=2, mJ=0> hyperfine levels. These are the states focussed by the electrostatic quadrupole lens in the CeNTREX experiment. Quadrupole Lens States

import numpy as np
import matplotlib.pyplot as plt

from centrex_tlf import states, hamiltonian

# generate states up to J=6
QN = states.generate_uncoupled_states_ground(Js=np.arange(7))

# generate the X hamiltonian terms
H = hamiltonian.generate_uncoupled_hamiltonian_X(QN)

# create a function outputting the hamiltonian as a function of E and B
Hfunc = hamiltonian.generate_uncoupled_hamiltonian_X_function(H)

# V/cm
Ez = np.linspace(0, 50e3, 101)

# generate the Hamiltonian for (almost) zero field, add a small field to make states
# non-degenerate
Hi = Hfunc(E=[0, 0, 1e-3], B=[0, 0, 1e-3])
E, V = np.linalg.eigh(Hi)

# get the true superposition-states of the system
QN_states = hamiltonian.matrix_to_states(V, QN)

# original eigenvectors used in tracking states as energies change order
V_track = V.copy()

# indices of the J=2, mJ=0 states focused by the lens
indices_J2_mJ0 = [
    idx
    for idx, s in enumerate(QN_states)
    if s.largest.J == 2 and s.largest.mJ == 0
]

indices_J012 = [
    idx for idx, s in enumerate(QN_states) if s.largest.J in [0, 1, 2]
]

# empty array for storing energies
energy = np.empty([Ez.size, len(QN)], dtype=np.complex128)

# iterate over the electric field values
for idx, Ei in enumerate(Ez):
    Hi = Hfunc(E=[0, 0, Ei], B=[0, 0, 1e-3])
    E, V = np.linalg.eigh(Hi)

    # sort indices to keep the state order the same
    indices = np.argmax(np.abs(V_track.conj().T @ V), axis=1)
    energy[idx, :] = E[indices]
    V_track[:, :] = V[:, indices]

# plot the J=2, mJ=0 Stark curves
fig, ax = plt.subplots(figsize=(12, 8))
ax.plot(
    Ez,
    (energy.real[:, indices_J2_mJ0] - energy.real[:, indices_J2_mJ0][0, 0])
    / (2 * np.pi * 1e9),
)
ax.set_xlabel("E [V/cm]")
ax.set_ylabel("Energy [GHz]")
ax.set_title("|J=2, mJ=0> Stark Curve")
ax.grid(True)
plt.show()

couplings

Code for generating the CeNTREX TlF couplings. Includes code for generating branching ratios, electric dipole coupling elements and coupling fields

Generating branching ratios

The code below generates branching ratios from |J'=1, F1'=1/2, mF=0> to all states in the J=1 manifold.

from centrex_tlf import states, couplings

excited_state = states.CoupledBasisState(
    J=1, F1=1 / 2, F=1, mF=0, I1=1 / 2, I2=1 / 2, Omega=1, P=1
)
qn_select = states.QuantumSelector(J=1)
ground_states = [1*s for s in states.generate_coupled_states_X(qn_select)]
br = couplings.calculate_br(1 * excited_state, ground_states)

Generating couplings

The code below generates the coupling fields for the J=1 manifold to the J'=1, F1'=1/2, F'=1 manifold. The returned value is a dataclass CouplingFields containing the following fields:

  • ground_main
  • excited_main
  • main_coupling: the electric dipole coupling between ground_main and excited_main
  • ground_states: list of all ground states
  • excited_states: list of all excited states
  • fields: a list of CouplingField dataclasses with the following fields:
    • polarization: polarization vector
    • field: coupling field in the ground_states + excited_states basis
from centrex_tlf import states, couplings

qn_select = states.QuantumSelector(J=1)
ground_states = states.generate_coupled_states_X(qn_select)

qn_select = states.QuantumSelector(J=1, F1=1 / 2, F=1, P=1, Ω=1)
excited_states = states.generate_coupled_states_B(qn_select)

# the generate_coupling_field_* functions requires lists as inputs, not np.ndarrays
QN = list(1 * np.append(ground_states, excited_states))
ground_states = [1*s for s in  ground_states]
excited_states = [1*s for s in excited_states]

H_rot = np.eye(len(QN), dtype=complex) * np.arange(len(QN))
V_ref = np.eye(len(QN))
pol_vecs = [np.array([0.0, 0.0, 1.0]), np.array([1.0, 0.0, 0.0])]
normalize_pol = True

coupling = couplings.generate_coupling_field_automatic(
    ground_states_approx = ground_states, 
    excited_states_approx = excited_states, 
    QN_basis = QN,
    H_rot = H_rot, 
    QN = QN, 
    V_ref = V_ref, 
    pol_vecs = pol_vecs, 
    normalize_pol = normalize_pol
)

Metadata

Release files for centrex-tlf 0.2.10

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

Built distributions (wheels)

Table of built distributions (wheels) for centrex-tlf 0.2.10
File
centrex_tlf-0.2.10-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
centrex_tlf-0.2.10-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
centrex_tlf-0.2.10-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
centrex_tlf-0.2.10-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
centrex_tlf-0.2.10-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
centrex_tlf-0.2.10-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
centrex_tlf-0.2.10-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
centrex_tlf-0.2.10-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
centrex_tlf-0.2.10-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
centrex_tlf-0.2.10-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
centrex_tlf-0.2.10-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
centrex_tlf-0.2.10-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
centrex_tlf-0.2.10-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
centrex_tlf-0.2.10-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
centrex_tlf-0.2.10-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 14.1 MB

Release files / centrex_tlf-0.2.10-cp314-cp314-win_amd64.whl

Download URL centrex_tlf-0.2.10-cp314-cp314-win_amd64.whl
Size 910.2 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
670111b600c14a9336cd8f66e210a935b1dfcbfff4c7dc3ff6be98373e30007f
BLAKE2b-256 checksum
How to use checksums
90b290954f5633b79bf6cf04fba38b85b1674135d3c65db19b13161cbe42657f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL centrex_tlf-0.2.10-cp314-cp314-manylinux_2_28_x86_64.whl
Size 998.3 kB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c9547f4f645a5425015b7eddc448bd2290cb320659b643f991569b1e9d491f50
BLAKE2b-256 checksum
How to use checksums
8d85be75afac82161dd2f2141ace78891e5649c369ea56e0fdab38634d8ef9e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp314-cp314-macosx_11_0_arm64.whl

Download URL centrex_tlf-0.2.10-cp314-cp314-macosx_11_0_arm64.whl
Size 915.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f705afb264cb135734f0cfc47616e1864f2299cb777691c290784e9462734bdd
BLAKE2b-256 checksum
How to use checksums
58ff7203414a0a792b955eb68dcca2b66df8b43de6c813a93c18eefbcd6a8db8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp313-cp313-win_amd64.whl

Download URL centrex_tlf-0.2.10-cp313-cp313-win_amd64.whl
Size 910.0 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
74acaa88534dcb7a70b924d4f6b2822cc82f05eedda9e63a7a5be4cda0122371
BLAKE2b-256 checksum
How to use checksums
ce4b04ad25a865c18a2d65f971ad910eb48c54bad029b204199f70b8658b8f50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL centrex_tlf-0.2.10-cp313-cp313-manylinux_2_28_x86_64.whl
Size 998.6 kB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
eced7ab5f134ddea9900bb115aede5c662d59605785135558e064e8685a74087
BLAKE2b-256 checksum
How to use checksums
c037dfc178ef930babd300776ab1447271a6b3f87b1d8eb559d343439543ee19
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp313-cp313-macosx_11_0_arm64.whl

Download URL centrex_tlf-0.2.10-cp313-cp313-macosx_11_0_arm64.whl
Size 915.0 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a7206223f5f04698d0ba7b3a57b4cddd4ae1a79bc33379f2b6355491d6a65994
BLAKE2b-256 checksum
How to use checksums
d31f8bd9b8b10c54acd3946d8241492f0f77b36b1ad1389fab175c0179c594c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp312-cp312-win_amd64.whl

Download URL centrex_tlf-0.2.10-cp312-cp312-win_amd64.whl
Size 907.8 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
da93a43d86bb0602e8327574bd47bd01f69bc19c3c136ec41b8636aeb249abc1
BLAKE2b-256 checksum
How to use checksums
3f42b5c87e5efa6090c4045e18be3e59b79aa90b2fc4bf785930a52488e21c98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL centrex_tlf-0.2.10-cp312-cp312-manylinux_2_28_x86_64.whl
Size 997.3 kB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
a5d86707166fbc4c13e4b89df82df68b07d783cc2bf33348b1f68c46f3b82f27
BLAKE2b-256 checksum
How to use checksums
60132586b2fb77a3af693117523ba02c4bbe81a075f723e076409565fbe23a48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp312-cp312-macosx_11_0_arm64.whl

Download URL centrex_tlf-0.2.10-cp312-cp312-macosx_11_0_arm64.whl
Size 913.0 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ac1b6d160ddcc7e6f7659c10ae8fd6563f26cf6f9ba9023e8c4fddadca476dee
BLAKE2b-256 checksum
How to use checksums
7be2df1ac1aed928328ea3ccca585cd500e4dda3bb9e4ac97e956957285b9f74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp311-cp311-win_amd64.whl

Download URL centrex_tlf-0.2.10-cp311-cp311-win_amd64.whl
Size 911.3 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
c42f3d42588fe3bb5551ca6c803f0018433fef4c4f544365948e7fb21387e258
BLAKE2b-256 checksum
How to use checksums
bc11a02cecfc3ed3efa3ddf852034e186d3bc13dcce8675dc4e66d2a69194c80
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL centrex_tlf-0.2.10-cp311-cp311-manylinux_2_28_x86_64.whl
Size 999.1 kB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3197bb23acc8b0c20932fce95ea001b46e158c81c21297342a35835975f8a64e
BLAKE2b-256 checksum
How to use checksums
59950182e25e4029c3fae5015cd1f30e6c3eba8c4afeb8a84f0dae90b8b99f74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp311-cp311-macosx_11_0_arm64.whl

Download URL centrex_tlf-0.2.10-cp311-cp311-macosx_11_0_arm64.whl
Size 915.0 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
56dc17f817966b7ea047e5d5a58d2a1cc9d27c9d74016ca19fd276c9e8f1e2a1
BLAKE2b-256 checksum
How to use checksums
2b63c34c4ad1f9c451fb2ae6c46096aeda6675f2b74e018ef3c0edbdaf1a5cf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp310-cp310-win_amd64.whl

Download URL centrex_tlf-0.2.10-cp310-cp310-win_amd64.whl
Size 911.5 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
53002409ae141762853e324197546272600d74351fbcd39790808bb4948f822c
BLAKE2b-256 checksum
How to use checksums
0cb4731d3bca1c16e09d0a2ce0ca6a517afef7a938f46b8018c4b707de498b36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL centrex_tlf-0.2.10-cp310-cp310-manylinux_2_28_x86_64.whl
Size 999.3 kB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
687609c3b48cc60f02deb8be50495e9146610341df6d48021f0eb7da848c712d
BLAKE2b-256 checksum
How to use checksums
6619ba99edc7a148803a4b26fa23d408271183f62ec7405a6aa52863a539f7ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / centrex_tlf-0.2.10-cp310-cp310-macosx_11_0_arm64.whl

Download URL centrex_tlf-0.2.10-cp310-cp310-macosx_11_0_arm64.whl
Size 915.0 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a727cc08f5712389ca91da1448b82c274ffe769213a67ace1f5ab968ff2fb1aa
BLAKE2b-256 checksum
How to use checksums
4720ac17152979c57d210f7274e255d46293e4b0f04797b5f769dd3cfca2fff7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
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