Skip to main content

Welcome to tangy 🍊

tangy is a high performance library to buffer timetags from timetaggers and files and provides soft-realtime analysis.

About

It stores your timetag data in a circular buffer backed by shared memory allowing you to have multiple client connect to the same buffer. When streaming data from a device into a tangy buffer this allows you to have multiple connections to the same device facilitating either mulitple lab users or multiple concurrent experiments. Alternatively, if you have a large file of containing timetags you can read a section into a tangy buffer in one python interpreter and perform analysis on that section in another speeding up exploratory analysis.

Features

  • Support for different timetag formats
  • A client-server model for buffering and analysis
  • Analysis for:
    • Singles counting
    • Coincidence counting
    • Delay finding
    • Joint delay histograms

Installation

python3 -m pip install tangy
python3 -m pip install tangy[gui] # if you intend on using the guis

Advanced

Install from git to get the latest version

python3 -m pip install git+https://gitlab.com/Peter-Barrow/tangy.git

Quick Examples

Open a file and read some data

import tangy

target_file = 'tttr_data.ptu'

n = int(1e7)
name = "tagbuffer"
# Open the file
ptu = tangy.PTUFile(target_file, name, n)

# Read some data from the file
for i in range(11):
    start_time = perf_counter()
    a = ptu.read(1e6)
    stop_time = perf_counter()
    run_time += (stop_time - start_time)
    print([ptu.record_count, ptu.count])

# Acquire the buffer
buffer = ptu.buffer()

Count coincidences in the last second for channels [0, 1] with a 1ns window

integration_time = 1
coincidence_window = 1e-9
channels = [0, 1]
count = buffer.coincidence_count(integration_time, coincidence_window, channels)

Collect coincident timetags

records = buffer.coincidence_collect(integration_time, coincidence_window, channels)

Find the delays between pairs of channels

channel_a = 0
channel_b = 1
integration_time = 10
measurement_resolution = 6.25e-9
result_delay = buffer.relative_delay(channel_a, channel_b,
                                     integration_time,
                                     resolution=6.25e-9,
                                     window=250e-7)
delays = [0, result_delay.t0]

Count (or collect) coincidences with delays

count = buffer.coincidence_count(integration_time,
                                 coincidence_window,
                                 channels,
                                 delays=delays)

records = buffer.coincidence_collect(integration_time,
                                     coincidence_window,
                                     channels,
                                     delays=delays)

Metadata

Release files for tangy 0.9.2

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 tangy 0.9.2
File
tangy-0.9.2-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
tangy-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
tangy-0.9.2-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
tangy-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
tangy-0.9.2-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
tangy-0.9.2-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
tangy-0.9.2-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
tangy-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
tangy-0.9.2-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
tangy-0.9.2-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details
tangy-0.9.2-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details
tangy-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
tangy-0.9.2-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details
tangy-0.9.2-cp39-cp39-macosx_10_9_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.9+ x86-64 Details

Total release size: 14.0 MB

Release files / tangy-0.9.2-cp312-cp312-win_amd64.whl

Download URL tangy-0.9.2-cp312-cp312-win_amd64.whl
Size 403.2 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
814125b529684a0315e405d82cbaad727687ac89ca08a4dffe9a6065431ea7a8
BLAKE2b-256 checksum
How to use checksums
59c0cf02e1d22d19656ef83384883f3228d31a472a299e40e8655a056b4f8606
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tangy-0.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.7 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
76a9db427ede5ac762f35e0c1f56ad27f6b725f5353a1f724dd3fa3d6e6ebafe
BLAKE2b-256 checksum
How to use checksums
b9ad69aa12e8f0fb9b0a1874fdf3f06285f45476c7dcd53ccbf16aaa99aa75d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp311-cp311-win_amd64.whl

Download URL tangy-0.9.2-cp311-cp311-win_amd64.whl
Size 410.1 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
dadcde24d615b1375f93427feb71468a03bddefb4fe608fb5db0a37085d338f3
BLAKE2b-256 checksum
How to use checksums
71261332c8fcb8d37cee41a4bd476fb3efb559170070104543b3e6d4f14cb2cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tangy-0.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.7 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d4bf0daa01d1596e60bb015c699a314bfd733cd0d2077555ac520be3331e773c
BLAKE2b-256 checksum
How to use checksums
b66bb6d207b4542a0ec1ce595e5c539ba51c664dede1941822b8fd54be4524e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp311-cp311-macosx_11_0_arm64.whl

Download URL tangy-0.9.2-cp311-cp311-macosx_11_0_arm64.whl
Size 305.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5e22a6fb2429f664e74a010bee9db06f1cc5a612bf18795bb4de50f8be70a769
BLAKE2b-256 checksum
How to use checksums
063abb638a644789245746f2a4209c84bc57851ece8c6e3a482219b95e89841d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp311-cp311-macosx_10_9_x86_64.whl

Download URL tangy-0.9.2-cp311-cp311-macosx_10_9_x86_64.whl
Size 334.5 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f2c92ec02e4d18129d350ab8a92726ef6fda362c9fd03861ef51014d4ac167c2
BLAKE2b-256 checksum
How to use checksums
92344ba32db4a71bc9c5f02c545358cfaa8ae795ac333c4d17261e73c876d4e7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp310-cp310-win_amd64.whl

Download URL tangy-0.9.2-cp310-cp310-win_amd64.whl
Size 408.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
2908309017163e54f4611e4e6413df02ba491f5f425efce7a525aeb0726b5035
BLAKE2b-256 checksum
How to use checksums
ce5f50b10fc4746205881a2a1ff28a0aa8da0005b80839733dc1561d64160371
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tangy-0.9.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.5 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
b3a646ecaa0e91e9c07185ff8df4ba72bf29b1ca5bd07be3328aa2324f0ef2e7
BLAKE2b-256 checksum
How to use checksums
a69c724edf1ed57fb458defcbd821eb92242f9dafb4f8149063f92bf8d3b2898
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp310-cp310-macosx_11_0_arm64.whl

Download URL tangy-0.9.2-cp310-cp310-macosx_11_0_arm64.whl
Size 304.5 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
92db4fe1a1c80139a5b3808e4ca35e67af3f3d13b9367325337c6b813623cc88
BLAKE2b-256 checksum
How to use checksums
fc1cbbfdeb1dfacc6c8c21e24cd4c3940f5a5c55e0add496c643eddb94b80fa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp310-cp310-macosx_10_9_x86_64.whl

Download URL tangy-0.9.2-cp310-cp310-macosx_10_9_x86_64.whl
Size 333.6 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
135d54e2b144bf11674073359b88a4dbc01adbe4de6616388f257c08ca928e12
BLAKE2b-256 checksum
How to use checksums
afee6b8882c441b17c04a5cc7415efd03046393e5792fedafb5c3f54c5a52343
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp39-cp39-win_amd64.whl

Download URL tangy-0.9.2-cp39-cp39-win_amd64.whl
Size 409.3 kB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
1dcc7778323390347f38e59a8ea97aa9f713f67a0b1d45a34a2553caa3b8b58a
BLAKE2b-256 checksum
How to use checksums
06bf3f5cf97e9639255d3a28867395043bd628c2ceb5f2d83f55573fd57db1ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL tangy-0.9.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 2.6 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
ed89c3083b8ce2f4741440ebd22ac43a4d70b12c11b936bbde50788d123916fd
BLAKE2b-256 checksum
How to use checksums
36d0e28e8e43de707fecdcbaf13780c2c404466174827fafdf44f253d19afc04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp39-cp39-macosx_11_0_arm64.whl

Download URL tangy-0.9.2-cp39-cp39-macosx_11_0_arm64.whl
Size 304.2 kB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b1d7231861d7fb89ba8f14f7d60fe3e5b45358931c5666be6a7688dc93661f6c
BLAKE2b-256 checksum
How to use checksums
f1500babfcac2b5cdaf44f0ab54e3a9f69ac0f1e7fef89331b861e7a39a23fa0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release files / tangy-0.9.2-cp39-cp39-macosx_10_9_x86_64.whl

Download URL tangy-0.9.2-cp39-cp39-macosx_10_9_x86_64.whl
Size 333.5 kB
Tags CPython 3.9 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
facb476cca97aa14b570e26c59abdfe8f4b3614cef23a5d54fbd0aa27f297241
BLAKE2b-256 checksum
How to use checksums
0e39c3b535391155e7685dd674a08cfd592159bd1f7b57ac74d20d337e632f44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 25, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.9.2 This release

14 release files

0.9.1

14 release files

0.9.0

14 release files

0.8.2

14 release files

0.8.0

14 release files

0.7.0

14 release files

0.6.1

8 release files

0.5.5

8 release files

0.5.4

8 release files

0.5.3

8 release files

0.5.2

8 release files

0.5.1

8 release files

0.5.0

6 release files

0.4.2

6 release files

0.4.1

1 release file

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