Skip to main content

Ptufile is a Python library to

  1. read data and metadata from PicoQuant PTU and related files (PHU, PCK, PCO, PFS, PUS, PQRES, PQDAT, PQUNI, SPQR, and BIN), and

  2. write TCSPC histograms to T3 image mode PTU files.

PTU files contain time correlated single photon counting (TCSPC) measurement data and instrumentation parameters.

Author:

Christoph Gohlke

License:

BSD-3-Clause

Version:

2026.8.8

DOI:

10.5281/zenodo.10120021

Quickstart

Install the ptufile package and all dependencies from the Python Package Index:

python -m pip install -U "ptufile[all]"

See Examples for using the programming interface.

Source code and support are available on GitHub.

Requirements

This revision was tested with the following requirements and dependencies (other versions may work):

Revisions

2026.8.8

  • Add PQOVER file type.

2026.6.6

  • Remove memmap parameter from PtuFile.read_records (breaking).

  • Return copy of records from PtuFile.read_records by default (breaking).

  • Add options for memory-mapping and locked reading to BinaryFile.

  • Add option to memory-map PTU files.

  • Drop support for numpy 2.0 (SPEC0).

  • Support Python 3.15.

2026.3.21

  • Add bounds checking to encode_t3_image function.

  • Use format-dispatch in hot decode loops to allow compiler inlining.

  • Build wheels on Windows with LLVM (30% faster decoding than MSVC).

  • Drop support for Python 3.11.

2026.2.6

  • Fix code review issues.

2026.1.14

  • Improve code quality.

2025.12.12

  • Add PQUNI file type.

  • Add attrs properties and return with xarray DataSets.

  • Improve code quality.

2025.11.8

  • Fix reading files with negative TTResult_NumberOfRecords.

  • Remove cache argument from PtuFile.read_records (breaking).

  • Add cache_records property to PtuFile to control caching behavior.

  • Derive PqFileError from ValueError.

  • Factor out BinaryFile base class.

  • Build ABI3 wheels.

2025.9.9

  • Log error when decoding image with invalid line or frame masks.

2025.7.30

  • Add option to specify pixel time for decoding images.

  • Add functions to read and write PicoQuant BIN files.

  • Drop support for Python 3.10.

2025.5.10

  • Mark Cython extension free-threading compatible.

  • Support Python 3.14.

2025.2.20

Refer to the CHANGES file for older revisions.

Notes

PicoQuant GmbH is a manufacturer of photonic components and instruments.

The PicoQuant unified file formats are documented at the PicoQuant-Time-Tagged-File-Format-Demos.

All PicoQuant unified tagged formats use the same basic layout: a file header followed by typed tags and an optional data block. PTU is the main container for TTTR event streams, whereas related formats store histograms, instrument settings, analysis results, or other auxiliary data.

The following features are currently not implemented due to the lack of test files or documentation: PT2 and PT3 files, decoding images from T2 and SPQR formats, bidirectional per frame, and deprecated image reconstruction.

Compatibility with PTU files written by non-PicoQuant software (for example, Leica LAS X or Abberior Imspector) is limited, as is decoding line, bidirectional, and sinusoidal scanning.

Other modules for reading or writing PicoQuant files are Read_PTU.py, readPTU, readPTU_FLIM, fastFLIM, PyPTU, PTU_Reader, PTU_Writer, FlimReader, tangy, tttrlib, picoquantio, ptuparser, phconvert, trattoria (wrapper of trattoria-core, tttr-toolbox), PAM, FLOPA, FLIMKit, and napari-flim-phasor-plotter.

Examples

Import functions and classes used in these examples:

>>> from ptufile import PqFile, PtuFile, imwrite, imread

Read properties and tags from any type of PicoQuant unified tagged file:

>>> pq = PqFile('tests/data/Settings.pfs')
>>> pq.type
<PqFileType.PFS: ...>
>>> pq.guid
UUID('86d428e2-cb0b-4964-996c-04456ba6be7b')
>>> pq.tags
{...'CreatorSW_Name': 'SymPhoTime 64', 'CreatorSW_Version': '2.1'...}
>>> pq.close()

Read metadata from a PicoQuant PTU FLIM file:

>>> ptu = PtuFile('tests/data/FLIM.ptu')
>>> ptu.type
<PqFileType.PTU: ...>
>>> ptu.record_type
<PtuRecordType.PicoHarpT3: 66307>
>>> ptu.measurement_mode
<PtuMeasurementMode.T3: 3>
>>> ptu.measurement_submode
<PtuMeasurementSubMode.IMAGE: 3>

Decode TTTR records from the PTU file to numpy.recarray:

>>> decoded = ptu.decode_records()
>>> decoded.dtype
dtype([('time', '<u8'), ('dtime', '<i2'), ('channel', 'i1'), ('marker', 'u1')])

Get global times of frame changes from markers:

>>> decoded['time'][(decoded['marker'] & ptu.frame_change_mask) > 0]
array([1571185680], dtype=uint64)

Decode TTTR records to overall delay-time histograms per channel:

>>> ptu.decode_histogram(dtype='uint8')
array([[ 5,  7,  7, ..., 10,  9,  2]], shape=(2, 3126), dtype=uint8)

Get information about the FLIM image histogram in the PTU file:

>>> ptu.shape
(1, 256, 256, 2, 3126)
>>> ptu.dims
('T', 'Y', 'X', 'C', 'H')
>>> ptu.coords
{'T': ..., 'Y': ..., 'X': ..., 'H': ...}
>>> ptu.dtype
dtype('uint16')
>>> ptu.active_channels
(0, 1)

Decode parts of the image histogram to numpy.ndarray using slice notation. Slice step sizes define binning, -1 being used to integrate along axis:

>>> ptu[:, ..., 0, ::-1]
array([[[103, ..., 38],
              ...
        [ 47, ..., 30]]],
      shape=(1, 256, 256), dtype=uint16)

Alternatively, decode the first channel and integrate all histogram bins into a xarray.DataArray, keeping reduced axes:

>>> ptu.decode_image(channel=0, dtime=-1, asxarray=True)
<xarray.DataArray (T: 1, Y: 256, X: 256, C: 1, H: 1)> ...
array([[[[[103]],
           ...
         [[ 30]]]]], shape=(1, 256, 256, 1, 1), dtype=uint16)
Coordinates:
  * T        (T) float64... 0.05625
  * Y        (Y) float64... -0.0001304 ... 0.0001294
  * X        (X) float64... -0.0001304 ... 0.0001294
  * C        (C) uint8... 0
  * H        (H) float64... 0.0
Attributes...
    name:                     FLIM.ptu
...

Write the TCSPC histogram and metadata to a PicoHarpT3 image mode PTU file:

>>> imwrite(
...     '_test.ptu',
...     ptu[:],
...     ptu.global_resolution,
...     ptu.tcspc_resolution,
...     # optional metadata
...     pixel_time=ptu.pixel_time,
...     record_type=PtuRecordType.PicoHarpT3,
...     comment='Written by ptufile.py',
...     tags={'File_RawData_GUID': [ptu.guid]},
... )

Read back the TCSPC histogram from the file:

>>> tcspc_histogram = imread('_test.ptu')
>>> import numpy
>>> numpy.array_equal(tcspc_histogram, ptu[:])
True

Close the file handle:

>>> ptu.close()

Preview the image and metadata in a PTU file from the console:

python -m ptufile tests/data/FLIM.ptu

Release files for ptufile 2026.8.8

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

Source distribution (sdist)

Source distribution for ptufile 2026.8.8
File Size Uploaded
ptufile-2026.8.8.tar.gz 72.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for ptufile 2026.8.8
File
ptufile-2026.8.8-cp315-cp315t-win_arm64.whl CPython 3.15 CPython 3.15 free-threading Windows ARM64 Details
ptufile-2026.8.8-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details
ptufile-2026.8.8-cp315-cp315t-win32.whl CPython 3.15 CPython 3.15 free-threading Windows x86-32 Details
ptufile-2026.8.8-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
ptufile-2026.8.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
ptufile-2026.8.8-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details
ptufile-2026.8.8-cp315-cp315t-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 Details
ptufile-2026.8.8-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
ptufile-2026.8.8-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
ptufile-2026.8.8-cp314-cp314t-win32.whl CPython 3.14 CPython 3.14 free-threading Windows x86-32 Details
ptufile-2026.8.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
ptufile-2026.8.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
ptufile-2026.8.8-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
ptufile-2026.8.8-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details
ptufile-2026.8.8-cp312-abi3-win_arm64.whl CPython 3.12 abi3 Windows ARM64 Details
ptufile-2026.8.8-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
ptufile-2026.8.8-cp312-abi3-win32.whl CPython 3.12 abi3 Windows x86-32 Details
ptufile-2026.8.8-cp312-abi3-pyemscripten_2026_5_wasm32.whl CPython 3.12 abi3 PyEmscripten 2026.5+ WebAssembly Details
ptufile-2026.8.8-cp312-abi3-pyemscripten_2026_0_wasm32.whl CPython 3.12 abi3 PyEmscripten 2026.0+ WebAssembly Details
ptufile-2026.8.8-cp312-abi3-pyemscripten_2025_0_wasm32.whl CPython 3.12 abi3 PyEmscripten 2025.0+ WebAssembly Details
ptufile-2026.8.8-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
ptufile-2026.8.8-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64, Linux glibc 2.17+ ARM64 Details
ptufile-2026.8.8-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
ptufile-2026.8.8-cp312-abi3-macosx_10_13_x86_64.whl CPython 3.12 abi3 macOS 10.13+ x86-64 Details

Total release size:10.5 MB

Release files / ptufile-2026.8.8.tar.gz

Download URL ptufile-2026.8.8.tar.gz
Size 72.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1f40f32031538a722a6e569a221f65a0c9bad6f33de60ede45041c660575173d
BLAKE2b-256 checksum
How to use checksums
54172ae4ba23ab38cba7c9152fffd183946231d21431f01cd58a1485bdea225f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp315-cp315t-win_arm64.whl

Download URL ptufile-2026.8.8-cp315-cp315t-win_arm64.whl
Size 156.3 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
cfae722da696f72ba53037b0338f90d2c7621a678443bed420a18e19995ea9df
BLAKE2b-256 checksum
How to use checksums
faaffbd7595f29d53dbf902bb7383adc6a4d2306248252d688515023e19590ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp315-cp315t-win_amd64.whl

Download URL ptufile-2026.8.8-cp315-cp315t-win_amd64.whl
Size 197.0 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
e7b1ae01052c4dc04c3a90973e363db7f488e905186f498b5ca85e46123d5f84
BLAKE2b-256 checksum
How to use checksums
9efd612826bcc5e5bbb5090f046922478b0074e9f6722b185b345d96bf5621d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp315-cp315t-win32.whl

Download URL ptufile-2026.8.8-cp315-cp315t-win32.whl
Size 186.9 kB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
424eaffa3f157497a463fe537af1877826dcc1a835d8ec3bc8bc83d45b787ffd
BLAKE2b-256 checksum
How to use checksums
348643a48959641653cb22238cab1d6264dfe2094f1354767eba50b7c0f75961
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ptufile-2026.8.8-cp315-cp315t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0079d3aac01a0607265eba65ded99279422684951e2dacb546454840eda45a86
BLAKE2b-256 checksum
How to use checksums
ad3970d6d3c53af96da19d5349cc5d998b3c0381dbc77251922135c8e26f36ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ptufile-2026.8.8-cp315-cp315t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
e6f2db9d647695a5e2cd0a2be85985469a7da1f9e69ef868c5e1f72e0fe10017
BLAKE2b-256 checksum
How to use checksums
46aba449470dd6e513236e2c67938cb014aa73727ecfcdb07307113ab2b9a304
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp315-cp315t-macosx_11_0_arm64.whl

Download URL ptufile-2026.8.8-cp315-cp315t-macosx_11_0_arm64.whl
Size 217.2 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ba9e60a7b7081c7be77638bbd24c615134d245497dbcbe8b12d360e372ae6e1b
BLAKE2b-256 checksum
How to use checksums
7308c9ff283b95026e6e752bbd51c41dbb83f2905cd99bc1edad98f12a840d1e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL ptufile-2026.8.8-cp315-cp315t-macosx_10_15_x86_64.whl
Size 223.7 kB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
f3d6c98fdedf11934804fbeeb583512d597cee89d7a0bdc4043e659229625d3c
BLAKE2b-256 checksum
How to use checksums
ec4ab8e9358769d94093eb0de9e178072488ae6c608cb6c6bd8db4e55e03f9db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp314-cp314t-win_arm64.whl

Download URL ptufile-2026.8.8-cp314-cp314t-win_arm64.whl
Size 156.2 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
50af8889282f6bdf871f1921155faef194cec8194e72634464c3cd826ed4a862
BLAKE2b-256 checksum
How to use checksums
d1dc7011f984e74b7b9ab15392910dd18ab5777aa49a174f98cb7631827b450d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp314-cp314t-win_amd64.whl

Download URL ptufile-2026.8.8-cp314-cp314t-win_amd64.whl
Size 197.3 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
cc25a9558b44168e9f4b2ca203363ea60aaccaa6db9ede780e3d04e7f9b76041
BLAKE2b-256 checksum
How to use checksums
f1d346a90324e6514b891ee9586f9349685c8fb829eec3b679fdf21513f4570c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp314-cp314t-win32.whl

Download URL ptufile-2026.8.8-cp314-cp314t-win32.whl
Size 186.8 kB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-32
SHA-256 checksum
How to use checksums
cb19f033abf6c95e203b1f82569b19462101303aa84ae74bb0d15f0bc8d37fc9
BLAKE2b-256 checksum
How to use checksums
764701153c67f4fb1a3db42305098f5a47ce39ff4032679f9bda8fd20af6c4b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ptufile-2026.8.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3355df0a8423bfb3ed2b93f2506f053ab9da38d009ed3cc68a3e011e89424663
BLAKE2b-256 checksum
How to use checksums
c268eecd3f3ab8556dabfb7391fc963b5e2a3703e413d40775b5df63a842a782
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ptufile-2026.8.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1829a7ec55d61825e8f47744dd094b332b97f929a6188a296625f3a2c8b8ff73
BLAKE2b-256 checksum
How to use checksums
02b576f799ef238b6fe485e95ac6d4e0b49032dae066e34d2d44114f722eada9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp314-cp314t-macosx_11_0_arm64.whl

Download URL ptufile-2026.8.8-cp314-cp314t-macosx_11_0_arm64.whl
Size 217.4 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
03c07b920668dac8bbcb21bc1e374904ea36d2bd1b5207b1d7354b5af739c98d
BLAKE2b-256 checksum
How to use checksums
4f4851093fe3807f227fb4f14c22f27f88f682284247cc69a49399b1ab6ffb7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL ptufile-2026.8.8-cp314-cp314t-macosx_10_15_x86_64.whl
Size 223.9 kB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
bdbba9a22e9c8c8f7d193296b58a4eb2f375c30610b21dab91f641309f90078e
BLAKE2b-256 checksum
How to use checksums
f0bd12be2d3d2f5c2cf800f34145f5c1cfedc9b67c21b39c15e6a13fc8ced32b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-win_arm64.whl

Download URL ptufile-2026.8.8-cp312-abi3-win_arm64.whl
Size 149.5 kB
Tags CPython 3.12 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
2f164cef9d2072cff91910f60dbea284009c8c2d252517668e578f1f94082e07
BLAKE2b-256 checksum
How to use checksums
5772e3065bea78c4ff2ba75f56b8f3251728e97a9a5810992b35a51d244f9ab0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-win_amd64.whl

Download URL ptufile-2026.8.8-cp312-abi3-win_amd64.whl
Size 175.5 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
756454d02703698bbd8d825c081c7419ba7e21624585ab2a0e013b95f6832c59
BLAKE2b-256 checksum
How to use checksums
1e2adea8af3f370bd3e82a6e4cfef8c10fe60d4003ce31b579bce9914f21038a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-win32.whl

Download URL ptufile-2026.8.8-cp312-abi3-win32.whl
Size 161.0 kB
Tags CPython 3.12 Windows x86-32 abi3
SHA-256 checksum
How to use checksums
e49078bcaee56e42efe0da50648841b8e0c8d05c7552756647e7b5b900d88981
BLAKE2b-256 checksum
How to use checksums
c7bbcc1a3bf4ad20b87f3926e9152408188da3740ee31f14b5d805db90197217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-pyemscripten_2026_5_wasm32.whl

Download URL ptufile-2026.8.8-cp312-abi3-pyemscripten_2026_5_wasm32.whl
Size 96.0 kB
Tags CPython 3.12 PyEmscripten 2026.5+ WebAssembly abi3
SHA-256 checksum
How to use checksums
884282bb4cced19f5a36d80f842f938ac39c05db9ff4b07e9381ce99943d1ab8
BLAKE2b-256 checksum
How to use checksums
3a395cbdc3b2041592c99b943121946b49df789acb605c8ccf5476704b47c7d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-pyemscripten_2026_0_wasm32.whl

Download URL ptufile-2026.8.8-cp312-abi3-pyemscripten_2026_0_wasm32.whl
Size 96.6 kB
Tags CPython 3.12 PyEmscripten 2026.0+ WebAssembly abi3
SHA-256 checksum
How to use checksums
f9f33a7650a88d97432388c0732325cb41b5e51a4f72e2f1b1f23023d198e425
BLAKE2b-256 checksum
How to use checksums
727e7142dbfe5f7a4c860d282412adc507df2df38d9e2ce8756638dec31abbfa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-pyemscripten_2025_0_wasm32.whl

Download URL ptufile-2026.8.8-cp312-abi3-pyemscripten_2025_0_wasm32.whl
Size 96.4 kB
Tags CPython 3.12 PyEmscripten 2025.0+ WebAssembly abi3
SHA-256 checksum
How to use checksums
18cae6dde0a2cc31024e01a2470a248eeb31d6f234639cf9bfe523cf8e1fc30a
BLAKE2b-256 checksum
How to use checksums
4e6c78f1468f27dbc5409ed54c1ffba84f020fbd02e7b3853cf362a5942c5d4e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL ptufile-2026.8.8-cp312-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
08233778521ff70c20f30296262636b352461bd333a6838db269c0a89bad8800
BLAKE2b-256 checksum
How to use checksums
b2cc97513bff87af6dc1f904c2461c38476f4232a161b903b58b92cc8a416459
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL ptufile-2026.8.8-cp312-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 1.2 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
493427152ec4d2ae643b8c662728003e3896db18e83f259d4cbacf02b094ed17
BLAKE2b-256 checksum
How to use checksums
26b0aafb71bda0f61b76e9c805419bb9bc507bef0c0511648b9b21035743bb01
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-macosx_11_0_arm64.whl

Download URL ptufile-2026.8.8-cp312-abi3-macosx_11_0_arm64.whl
Size 191.5 kB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ac3e4f47def2826a5f1f65d46b0c78057762fc97d229a0051c0335f0c116b115
BLAKE2b-256 checksum
How to use checksums
6cacefbc27976628a35afb351c7169cca0360c241581d874455ced72be8ba522
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / ptufile-2026.8.8-cp312-abi3-macosx_10_13_x86_64.whl

Download URL ptufile-2026.8.8-cp312-abi3-macosx_10_13_x86_64.whl
Size 201.2 kB
Tags CPython 3.12 abi3 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
3dbfaecfae94f0bf299f55c03f1d8a1e60d2dd0074b563dc775cf9dc5868302f
BLAKE2b-256 checksum
How to use checksums
4caf2c07aa81b2066a818c0bc36d97b21de6a82d77ad6ee9b5b2c0b99197ff36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7
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