Skip to main content

Logo

pypi License: GPL v3 DOI Build status Documentation Status Downloads

This repo contains C++ and python codes for raytracing on regular and unstructured meshes. Matlab wrappers are provided as well.

Python package

ttcrpy is a package for computing traveltimes and raytracing that was developed with geophysical applications in mind, e.g. ray-based seismic/GPR tomography and microseismic event location (joint hypocenter-velocity inversion). The package contains code to perform computation on 2D and 3D rectilinear grids, as well as 2D triangular and 3D tetrahedral meshes. Three different algorithms have been implemented: the Fast-Sweeping Method, the Shortest-Path Method, and the Dynamic Shortest-Path Method. Calculations can be run in parallel on a multi-core machine. The FSM on 2D and 3D rectilinear grids was also implemented to run on GPUs using OpenCL. The package can be installed using pip:

pip install ttcrpy

The core computing code is written in C++, and has been wrapped with cython.
Documentation can be found on Read The Docs

If you use ttcrpy, please cite

Giroux B. 2021. ttcrpy: A Python package for traveltime computation and raytracing.
SoftwareX, vol. 16, 100834. doi: 10.1016/j.softx.2021.100834

Stand-alone command-line programs

There are three programs that can be called from the command line:

  • ttcr2d : raytracing on planar 2D meshes
  • ttcr2ds : raytracing on undulated surfaces
  • ttcr3d : raytracing in 3D

See documentation for command-line programs options and file formats.

Examples

Look at the files in the examples directory for some samples.

Compiling

The programs are coded in C++ and follow the C++17 standard. You must have VTK (http://vtk.org) installed on your system, to benefit from full functionalities. Files from the eigen3 (http://eigen.tuxfamily.org) and boost (http://www.boost.org) libraries are distributed with the source to facilitate compilation. These codes were compiled and tested on macs with the default compiler (clang). They were also tested to some extent under linux with g++.

Matlab wrappers

Caveat: Matlab wrappers were last compiled in 2021 and are no longer supported.

To compile the mexfiles, you will need:

  • a C++ compiler that conforms to the C++11 standard
  • the source codes of the ttcr package

On my OS X machine, I use this command to compile from a terminal:

MATLAB=/Applications/MATLAB_R2014a.app

$MATLAB/bin/mex -O CXXFLAGS='$CXXFLAGS -std=c++11 -stdlib=libc++' \
LDFLAGS='$LDFLAGS -std=c++11 -stdlib=libc++' -largeArrayDims -v \
-I$HOME/src/ttcr/ttcr -I$HOME/src/ttcr/boost_1_81_0 \
-I$HOME/src/ttcr/eigen-3.4.0 grid2dunsp_mex.cpp

3D classes must be compiled with verbose.cpp in the list of source files, i.e.

$MATLAB/bin/mex -O CXXFLAGS='$CXXFLAGS -std=c++11 -stdlib=libc++' \
LDFLAGS='$LDFLAGS -std=c++11 -stdlib=libc++' -largeArrayDims -v \
-I$HOME/src/ttcr/ttcr -I$HOME/src/ttcr/boost_1_81_0 \
-I$HOME/src/ttcr/eigen-3.4.0 grid3dunfs_mex.cpp verbose.cpp

On a windows machine with intel compiler installed, I could compile it from the matlab prompt with:

mex -v -O COMPFLAGS='$COMPFLAGS /Qstd=c++11' -largeArrayDims -I../ttcr -I../boost_1_81_0 -I../eigen-3.4.0 grid2dunsp_mex.cpp

Unfortunately, I cannot offer extensive support for compiling on other platforms, especially windows variants.

Please report bugs to https://github.com/groupeLIAMG/ttcr/issues

References


@article{doi:10.1111/1365-2478.12930,
  author = {Nasr, Maher and Giroux, Bernard and Dupuis, J. Christian},
  title = {A hybrid approach to compute seismic travel times in three-dimensional tetrahedral meshes},
  journal = {Geophysical Prospecting},
  volume = {n/a},
  number = {n/a},
  pages = {},
  keywords = {Travel time, Seismic modelling, Ray tracing, Seismics, Computing aspects},
  doi = {10.1111/1365-2478.12930},
  url = {https://onlinelibrary.wiley.com/doi/abs/10.1111/1365-2478.12930},
  eprint = {https://onlinelibrary.wiley.com/doi/pdf/10.1111/1365-2478.12930},
}

@inbook{nasr18,
  author = { Maher Nasr  and  Bernard Giroux  and  J. Christian Dupuis },
  title = {An optimized approach to compute traveltimes in 3D unstructured meshes},
  booktitle = {SEG Technical Program Expanded Abstracts 2018},
  chapter = {},
  pages = {5073-5077},
  year = {2018},
  doi = {10.1190/segam2018-2997918.1},
  URL = {https://library.seg.org/doi/abs/10.1190/segam2018-2997918.1},
  eprint = {https://library.seg.org/doi/pdf/10.1190/segam2018-2997918.1}
}

@InProceedings{giroux14,
  Title = {Comparison of grid-based methods for raytracing on unstructured meshes},
  Author = {Bernard Giroux},
  Booktitle = {SEG Technical Program Expanded Abstracts},
  Year = {2014},
  Pages = {3388-3392},
  Chapter = {649},
  DOI = {10.1190/segam2014-1197.1},
  Eprint = {http://library.seg.org/doi/pdf/10.1190/segam2014-1197.1},
  URL = {http://dx.doi.org/10.1190/segam2014-1197.1}
}


@ARTICLE{giroux13,
  author = {Bernard Giroux and Beno\^{\i}t Larouche},
  title = {Task-parallel implementation of {3D} shortest path raytracing for
	geophysical applications},
  journal = {Computers & Geosciences},
  year = {2013},
  volume = {54},
  pages = {130--141},
  number = {0},
  doi = {10.1016/j.cageo.2012.12.005}
  url = {http://dx.doi.org/10.1016/j.cageo.2012.12.005}
}

@INPROCEEDINGS{giroux13b,
  author = {Bernard Giroux},
  title = {Shortest path raytracing on tetrahedral meshes},
  booktitle = {75$^{th}$ EAGE Conference \& Exhibition},
  year = {2013},
  address = {London},
  organization = {EAGE},
  doi = {10.3997/2214-4609.20130236}
  url = {http://dx.doi.org/10.3997/2214-4609.20130236}
}

@ARTICLE{lelievre11,
  author = {Leli\`evre, Peter G. and Farquharson, Colin G. and Hurich, Charles A.},
  title = {Computing first-arrival seismic traveltimes on unstructured 3-{D}
	tetrahedral grids using the Fast Marching Method},
  journal = {Geophysical Journal International},
  year = {2011},
  volume = {184},
  pages = {885-896},
  number = {2},
  doi = {10.1111/j.1365-246X.2010.04880.x}
  url = {http://dx.doi.org/10.1111/j.1365-246X.2010.04880.x}
}

@ARTICLE{qian07,
  author = {Qian, Jianliang and Zhang, Yong-Tao and Zhao, Hong-Kai},
  title = {Fast Sweeping Methods for Eikonal Equations on Triangular Meshes},
  journal = {SIAM Journal on Numerical Analysis},
  year = {2007},
  volume = {45},
  pages = {83--107},
  number = {1},
  doi = {10.1137/050627083},
  publisher = {Society for Industrial and Applied Mathematics},
  url = {http://www.jstor.org/stable/40232919}
}

@Article{zhang06,
  Title                    = {High Order Fast Sweeping Methods for Static {H}amilton–{J}acobi Equations},
  Author                   = {Yong-Tao Zhang and Hong-Kai Zhao and Jianliang Qian},
  Journal                  = {Journal of Scientific Computing},
  Year                     = {2006},
  Number                   = {1},
  Pages                    = {25--56},
  Volume                   = {29},
  DOI                      = {10.1007/s10915-005-9014-3},
  URL                      = {http://dx.doi.org/10.1007/s10915-005-9014-3}
}

@Article{zhao05,
  Title                    = {A Fast Sweeping Method for Eikonal Equations},
  Author                   = {Zhao, Hongkai},
  Journal                  = {Mathematics of Computation},
  Year                     = {2005},
  Month                    = apr,
  Number                   = {250},
  Pages                    = {603--627},
  Volume                   = {74},
  Publisher                = {American Mathematical Society},
  URL                      = {http://www.jstor.org/stable/4100081}
}

Metadata

Release files for ttcrpy 1.6.0

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

Source distribution (sdist)

Source distribution for ttcrpy 1.6.0
File Size Uploaded Provenance Actions
ttcrpy-1.6.0.tar.gz 103.8 MB With provenance Details for ttcrpy-1.6.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for ttcrpy 1.6.0
File Actions
ttcrpy-1.6.0-cp315-cp315t-win_amd64.whl CPython 3.15 CPython 3.15 free-threading Windows x86-64 Details for ttcrpy-1.6.0-cp315-cp315t-win_amd64.whl
ttcrpy-1.6.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for ttcrpy-1.6.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
ttcrpy-1.6.0-cp315-cp315t-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64 Details for ttcrpy-1.6.0-cp315-cp315t-macosx_11_0_arm64.whl
ttcrpy-1.6.0-cp315-cp315t-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64 Details for ttcrpy-1.6.0-cp315-cp315t-macosx_10_15_x86_64.whl
ttcrpy-1.6.0-cp315-cp315-win_amd64.whl CPython 3.15 CPython 3.15 Windows x86-64 Details for ttcrpy-1.6.0-cp315-cp315-win_amd64.whl
ttcrpy-1.6.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.15 CPython 3.15 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for ttcrpy-1.6.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
ttcrpy-1.6.0-cp315-cp315-macosx_11_0_arm64.whl CPython 3.15 CPython 3.15 macOS 11.0+ ARM64 Details for ttcrpy-1.6.0-cp315-cp315-macosx_11_0_arm64.whl
ttcrpy-1.6.0-cp315-cp315-macosx_10_15_x86_64.whl CPython 3.15 CPython 3.15 macOS 10.15+ x86-64 Details for ttcrpy-1.6.0-cp315-cp315-macosx_10_15_x86_64.whl
ttcrpy-1.6.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details for ttcrpy-1.6.0-cp314-cp314t-win_amd64.whl
ttcrpy-1.6.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for ttcrpy-1.6.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
ttcrpy-1.6.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details for ttcrpy-1.6.0-cp314-cp314t-macosx_11_0_arm64.whl
ttcrpy-1.6.0-cp314-cp314t-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64 Details for ttcrpy-1.6.0-cp314-cp314t-macosx_10_15_x86_64.whl
ttcrpy-1.6.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for ttcrpy-1.6.0-cp314-cp314-win_amd64.whl
ttcrpy-1.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for ttcrpy-1.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
ttcrpy-1.6.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details for ttcrpy-1.6.0-cp314-cp314-macosx_11_0_arm64.whl
ttcrpy-1.6.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details for ttcrpy-1.6.0-cp314-cp314-macosx_10_15_x86_64.whl
ttcrpy-1.6.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for ttcrpy-1.6.0-cp313-cp313-win_amd64.whl
ttcrpy-1.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for ttcrpy-1.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
ttcrpy-1.6.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for ttcrpy-1.6.0-cp313-cp313-macosx_11_0_arm64.whl
ttcrpy-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details for ttcrpy-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl
ttcrpy-1.6.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for ttcrpy-1.6.0-cp312-cp312-win_amd64.whl
ttcrpy-1.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for ttcrpy-1.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
ttcrpy-1.6.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for ttcrpy-1.6.0-cp312-cp312-macosx_11_0_arm64.whl
ttcrpy-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details for ttcrpy-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl
ttcrpy-1.6.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for ttcrpy-1.6.0-cp311-cp311-win_amd64.whl
ttcrpy-1.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for ttcrpy-1.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
ttcrpy-1.6.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for ttcrpy-1.6.0-cp311-cp311-macosx_11_0_arm64.whl
ttcrpy-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details for ttcrpy-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl

Total release size: 674.4 MB

Release files / ttcrpy-1.6.0.tar.gz

Download URL ttcrpy-1.6.0.tar.gz
Size 103.8 MB
Tags Source
SHA-256 checksum
How to use checksums
0a480458e204509483c187afbd0d595580dbde8f3edd02a01f780ec41e81d5b7
BLAKE2b-256 checksum
How to use checksums
816fbedb310a9e2616e0f3672f831e65236af341e00c02a2da03e26770963b8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315t-win_amd64.whl

Download URL ttcrpy-1.6.0-cp315-cp315t-win_amd64.whl
Size 2.9 MB
Tags CPython 3.15 CPython 3.15 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
03ba17faf274b4fd7b5c71b42e1cb32e3a35fb6f2a7562470269ea6d81017dac
BLAKE2b-256 checksum
How to use checksums
b55e968b0d4d5c4b8eea6b7d559dbe31fea8623038b2406f1edca2d8c7a2f912
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ttcrpy-1.6.0-cp315-cp315t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 61.7 MB
Tags CPython 3.15 CPython 3.15 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0a3fddb923959d27323608277771c26a3f94b71f3b297d4cc6c60137542002a4
BLAKE2b-256 checksum
How to use checksums
0e15ebd3fb25a66cfdfba4aa33659c32ae61e0ee7f16396dc2fde14e8d75b041
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315t-macosx_11_0_arm64.whl

Download URL ttcrpy-1.6.0-cp315-cp315t-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
535dd2e96443346e9b053de0ac10b0ee381e61539b7fbca4ffb7c0bdd24143ba
BLAKE2b-256 checksum
How to use checksums
21391619774f1eaec657925bb8b3598cb96feec02b19da9529891e5c226d49dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315t-macosx_10_15_x86_64.whl

Download URL ttcrpy-1.6.0-cp315-cp315t-macosx_10_15_x86_64.whl
Size 8.5 MB
Tags CPython 3.15 CPython 3.15 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
18560d7f3cb3b79f572983b608227a2d481e9122ababf702ed5d7969953246fb
BLAKE2b-256 checksum
How to use checksums
f4e8a21b960a5f0c0cd13c734ee7d87bea1200f755a601d2faeeb22d003c9800
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315-win_amd64.whl

Download URL ttcrpy-1.6.0-cp315-cp315-win_amd64.whl
Size 2.8 MB
Tags CPython 3.15 Windows x86-64
SHA-256 checksum
How to use checksums
0df8406565a6f44f860f9131ebaacaff3528b8a0682fa7d01fe44db96aad49c3
BLAKE2b-256 checksum
How to use checksums
fed9662a5d029278c1c22fc734183538517b21ff190f3e0a8877cba11bf26088
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ttcrpy-1.6.0-cp315-cp315-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 61.7 MB
Tags CPython 3.15 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
078a5214378f45a81756be05493b6999813a3334b63e4aca678ed045464bc37e
BLAKE2b-256 checksum
How to use checksums
9796aad965a2e5c508f324ee56add03d828c5a0bdbb6ba2aa472632e51232593
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315-macosx_11_0_arm64.whl

Download URL ttcrpy-1.6.0-cp315-cp315-macosx_11_0_arm64.whl
Size 8.4 MB
Tags CPython 3.15 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
50bd44526d3bb48af2416e8cd1b706990c8aa91de0f45ae347b12c62f9c79d72
BLAKE2b-256 checksum
How to use checksums
8c3fdb7bb4c4ff9e94b9027258c4c38367c2b1945fd30e057a292d22f7299237
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp315-cp315-macosx_10_15_x86_64.whl

Download URL ttcrpy-1.6.0-cp315-cp315-macosx_10_15_x86_64.whl
Size 8.4 MB
Tags CPython 3.15 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
598ff0fddd5e61a7e6f6838ae20718747388aa622d3ef1712a58f48a863c3350
BLAKE2b-256 checksum
How to use checksums
df123526e34054a0ac58a2a0b84c39a0bdc8ed165c1f8606e4bca5bbbcf4849a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314t-win_amd64.whl

Download URL ttcrpy-1.6.0-cp314-cp314t-win_amd64.whl
Size 2.9 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
a13131cb75f100750585e927552a744f05aa4dc972494f19f4fe0522a502e3da
BLAKE2b-256 checksum
How to use checksums
4d11914dd745e1351e0271f817399813de9880a78b34660b1de54c328673fb0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ttcrpy-1.6.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 61.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
861b3542d33608d4e3021283681de4a46d534770b40ab5739d5f69e32a282e84
BLAKE2b-256 checksum
How to use checksums
c0bd4b038a4f54ca58c303a77eccd87c7687eae1f19828506d6d4299982f7de4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL ttcrpy-1.6.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7f7bc7979563c8f35bba74a7ee032873d877d1540fb8dcfe733cab442a0e278e
BLAKE2b-256 checksum
How to use checksums
37764723e10cbfe6c339c09b6c05529d1abcc70605f13c8a302764fefa195367
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314t-macosx_10_15_x86_64.whl

Download URL ttcrpy-1.6.0-cp314-cp314t-macosx_10_15_x86_64.whl
Size 8.5 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
d69b5820e812e257106379f8959f20a52c208a261351795cf2af55aa263b96bd
BLAKE2b-256 checksum
How to use checksums
981cc13abac9da312fdfb1679d7ddd3e311a507708bfb55648007d7ce5f04ee1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314-win_amd64.whl

Download URL ttcrpy-1.6.0-cp314-cp314-win_amd64.whl
Size 2.8 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c7d2bdf9826b8f917f9077f7bf9d4565d2f716554ab4237dea5544cb184abc63
BLAKE2b-256 checksum
How to use checksums
a17716c1e401f970fef48b319592875dd39c697a9fe2576f2cf15da0d131d5b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ttcrpy-1.6.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 61.7 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ded30f490ef5b79a8d0bee7435a1cfaa53a3aec4155991e0d75cddc15e5b87cd
BLAKE2b-256 checksum
How to use checksums
b201fb0096a01ef09f6f9ea0904a9accffae152ef3dab9f80b4b6df0daf24754
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL ttcrpy-1.6.0-cp314-cp314-macosx_11_0_arm64.whl
Size 8.4 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
389a9e7f56ddace71ddc9e9ce6198b5f2c6f01f2a2240f7c264d1f322e90415a
BLAKE2b-256 checksum
How to use checksums
35c19160fb2232043d601c0bf63bc512064c6d5128bf4c768a07f40a5e8c2de5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL ttcrpy-1.6.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 8.4 MB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0b2190554e625f15c412770e16805356d6e667715985d789fa737b85b2acdfb6
BLAKE2b-256 checksum
How to use checksums
43bd725bfec6984a0e4e24c23998815f01f85e8859e5085ec75f3d3df67fa5ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp313-cp313-win_amd64.whl

Download URL ttcrpy-1.6.0-cp313-cp313-win_amd64.whl
Size 2.8 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
2979dda0b2fd03d605353d04007c0ff3be4433ab37178675a6134e9e4e304183
BLAKE2b-256 checksum
How to use checksums
8233b561654c2ce7c99af00f07e32216b3dc4bc15d02e9b8b9fe7fbed01e3f29
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ttcrpy-1.6.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 61.7 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
dbaac1841438cf1a0e4c6d2cc627e5388822b4c4c26f5be94c07887b8176f265
BLAKE2b-256 checksum
How to use checksums
fe0d4dc4790ca5d5b01032a2d492d3991e8270a91c7232f9a6c4bbe7fb1104dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL ttcrpy-1.6.0-cp313-cp313-macosx_11_0_arm64.whl
Size 8.4 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ce20e0d9aedd34713e8e0f68177a504f4f50238535ca8010a8af06d004113389
BLAKE2b-256 checksum
How to use checksums
b848ed14dc31d820044eabb40ae5c9e1c818ea4646c40230ef38b63ec498a082
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl

Download URL ttcrpy-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl
Size 8.4 MB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
d39c2760b87df3ed73a1bebd07732b3187bc9a2bad0385b843511c3f7f3ad62c
BLAKE2b-256 checksum
How to use checksums
914a468e612d310277300fe06419582b577ce75975fc19bd2f4a9f452a3ebef9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp312-cp312-win_amd64.whl

Download URL ttcrpy-1.6.0-cp312-cp312-win_amd64.whl
Size 2.8 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ca63f8b47afd2740b0fb006de2e2cb6cbc53650f543d1b3e97cc9ef05cb2e8a7
BLAKE2b-256 checksum
How to use checksums
3a64d480bfe7e4fe0552dd4ab05f22ac3781f83aec48119f007e07d1848ae07d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ttcrpy-1.6.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 61.8 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
0f627490877df2251f56a2b5a3cfc06e840d40b1b1503b4b037ee3caca1e281d
BLAKE2b-256 checksum
How to use checksums
f7215789bfb024ebfe907964caf54ee6f96c061a87eee33a6ad680b6c8198be7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL ttcrpy-1.6.0-cp312-cp312-macosx_11_0_arm64.whl
Size 8.4 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
adc002fba771400d66ebcdfda19af5ed120b6c1272abdf0ac778278bf5ae82fd
BLAKE2b-256 checksum
How to use checksums
1b6196efd9d25ff3d8e3d78964ba8c72a2300e8b22b410740f4dbf23e69a4bc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl

Download URL ttcrpy-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl
Size 8.4 MB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
70e31314d98efce25bd0c613851e1f483deb60c436a6b19bb618059a6f82a69d
BLAKE2b-256 checksum
How to use checksums
00927f420203515de2dc4fc5144b3ef92412e45a8d8f2556a5665d46f7efeddd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp311-cp311-win_amd64.whl

Download URL ttcrpy-1.6.0-cp311-cp311-win_amd64.whl
Size 2.8 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
dbce242e46511571faaf27a4ad261c03253be77bea2f234dcb0c7942f5235da9
BLAKE2b-256 checksum
How to use checksums
f0b7f0fcd9aca1bf61a3a75b06b55b27b70df9519c4a5cc84716ffcaf90fb2ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL ttcrpy-1.6.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 61.9 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8dccb854bb8605bd74ec4e413ef1bc165c9f86430b07d152cae43edc0102cad2
BLAKE2b-256 checksum
How to use checksums
17ba88406fc5de3b8d6effe6335e61ab0c8654559cba5ecc6366150b1a5a4956
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL ttcrpy-1.6.0-cp311-cp311-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
20a4cec7a1d31332f5532465ade0be5fe5253a27af44c804d79ed8a112929c38
BLAKE2b-256 checksum
How to use checksums
9b7cee730f70121b5af9c1dfff8fb321a3fa495864210476fcc9c051bd325985
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Release files / ttcrpy-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl

Download URL ttcrpy-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl
Size 8.5 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
f447a8eb5c4ceba300a37248449e901ddb61d91709126d6cf7a941ef182a4c31
BLAKE2b-256 checksum
How to use checksums
fe3aece454354c5e11c99699ff044f7408ffb880dff4437d4835eab746829487
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 10, 2026.

Transparency log

Security for ttcrpy 1.6.0

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.

Full provenance

All 29 files in this release have been uploaded with provenance metadata.

Select from 29 files

Attestation for ttcrpy-1.6.0.tar.gz

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 Nov 10, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.6.0 This release

29 release files Full provenance

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