Skip to main content

opentimspy: An open-source parser of Bruker Tims Data File (.tdf).

Project description

OpenTIMS

OpenTIMS is a C++ library for accessing timsTOF Pro data format (TDF). It replaces (to a large extent) Bruker's SDK for purposes of data access and provides convenient layer for integration into higher level computer languages. It comes with bindings to Python (through opentimspy) and R languages (through opentimsr). In Python, we extract data into NumPy arrays that are optimized for speed and come with a universe of useful methods for their quick manipulation. In R, we extract data into the native data.frame object.

With OpenTIMS you can access data contained in the analysis.tdf_raw file hapilly produced by your mass spectrometer of choice (as long as it is timsTOF Pro). It also parses some of the information out of the SQLite data base contained in the analysis.raw file. You should have both of these files in one folder to start using our software.

We can also get your data faster in C++ (and so to Python and R):

Prefer userfriendliness over raw power? We have you covered! Check out the children projects TimsR and TimsPy.

Requirements

The software was tested on Linux, Windows, and MacOS. On Windows, install Microsoft Visual Studio from here to make use of C++ or Python code. On Linux, have clang++ or g++ installed (clang produces slightly faster code). Also, do make sure that a developper version of Python is installed. For instance, on Ubuntu, install Python with

sudo apt install python3.8-dev

i.e. with the -dev version. This contains headers needed for pybind to work properly. On macOS, install Xcode Command Line Tools.

Python

From terminal (assuming you have python and pip included in the system PATH) write

pip install opentimspy

We recommend also installing the opentims_bruker_bridge module, containing Bruker's proprietary conversion functions (Linux and Windows only). To do that, do:

pip install opentims_bruker_bridge

On Windows: we have noticed issues with the numpy==1.19.4 due to changes in Intel's fmod function, unrelated to our work. If you keep on experiencing these issues, install numpy==1.19.3.

pip uninstall numpy
pip install numpy==1.19.3

R

From R terminal (opened either in powershell or in RStudio and similar):

install.packages('opentimsr')

or using devtools

install.packages('devtools')
library(devtools)

install_github("michalsta/opentims", subdir="opentimsr")

On Windows the last command might give you a warning about tar stopping with non-zero exit code. It's safe to ignore.

If that does not work, first clone the repository and then install manually with:

git clone https://github.com/michalsta/opentims
cd opentims
R CMD build opentimsr
R CMD INSTALL opentimsr_*.tar.gz

On windows, replace R with R.exe. You can download git from here.

Usage

Python

All the functions are documented with doc-strings. The resulting automatic API documentation is available here.

import pathlib
from pprint import pprint

from opentimspy.opentims import OpenTIMS

path = pathlib.Path('path_to_your_data.d')
D = OpenTIMS(path) # get data handle
print(D)
# OpenTIMS(404183877 peaks)

print(len(D)) # The number of peaks.
# 404183877 

D.framesTIC() # Return combined intensity for each frame.
# array([ 95910, 579150, 906718, ..., 406317,   8093,   8629])


try:
    import opentims_bruker_bridge
    all_columns = ('frame','scan','tof','intensity','mz','inv_ion_mobility','retention_time')
except ModuleNotFoundError:
    print("Without Bruker proprietary code we cannot yet perform tof-mz and scan-dt transformations.")
    print("Download 'opentims_bruker_bridge' if you are on Linux or Windows.")
    print("Otherwise, you will be able to use only these columns:")
    all_columns = ('frame','scan','tof','intensity','retention_time')


# We consider the following columns:
print(all_columns)
# ('frame', 'scan', 'tof', 'intensity', 'mz', 'inv_ion_mobility', 'retention_time')


# Get a dict with data from frames 1, 5, and 67.
pprint(D.query(frames=[1,5,67], columns=all_columns))
# {'frame': array([ 1,  1,  1, ..., 67, 67, 67], dtype=uint32),
#  'intensity': array([ 9,  9,  9, ..., 19, 57, 95], dtype=uint32),
#  'inv_ion_mobility': array([1.60114183, 1.6       , 1.6       , ..., 0.60077422, 0.60077422,
#        0.60077422]),
#  'mz': array([1174.65579059,  733.48094071,  916.95238879, ...,  672.00166969,
#         802.16055154, 1055.20374969]),
#  'retention_time': array([0.32649208, 0.32649208, 0.32649208, ..., 7.40565443, 7.40565443,
#        7.40565443]),
#  'scan': array([ 33,  34,  34, ..., 917, 917, 917], dtype=uint32),
#  'tof': array([312260, 220720, 261438, ..., 205954, 236501, 289480], dtype=uint32)}

# The outcome of the function is a dictionary of numpy arrays, which is the best one can have without 'Pandas' and stretching the use of numpy.
# If you like 'Pandas', consider 'TimsPy'.


# Get a dict with each 10th frame, starting from frame 2, finishing on frame 1000.   
pprint(D.query(frames=slice(2,1000,10), columns=all_columns))
# {'frame': array([  2,   2,   2, ..., 992, 992, 992], dtype=uint32),
#  'intensity': array([9, 9, 9, ..., 9, 9, 9], dtype=uint32),
#  'inv_ion_mobility': array([1.60114183, 1.60114183, 1.6       , ..., 0.60638211, 0.60301731,
#        0.60189576]),
#  'mz': array([ 302.3476711 , 1165.32728084,  391.98410024, ...,  440.96697448,
#        1158.92213271,  749.26470544]),
#  'retention_time': array([  0.43470634,   0.43470634,   0.43470634, ..., 106.71027856,
#        106.71027856, 106.71027856]),
#  'scan': array([ 33,  33,  34, ..., 912, 915, 916], dtype=uint32),
#  'tof': array([ 97298, 310524, 127985, ..., 143270, 309328, 224410], dtype=uint32)}



# Get all MS1 frames 
# pprint(D.query(frames=D.ms1_frames, columns=all_columns))
# ATTENTION: that's quite a lot of data!!! You might exceed your RAM.


# If you want to extract not every possible columnt, but a subset, use the columns argument:
pprint(D.query(frames=slice(2,1000,10), columns=('tof','intensity',)))
# {'intensity': array([9, 9, 9, ..., 9, 9, 9], dtype=uint32),
#  'tof': array([ 97298, 310524, 127985, ..., 143270, 309328, 224410], dtype=uint32)}
# 
# This will reduce your memory usage.


# Still too much memory used up? You can also iterate over frames:
it = D.query_iter(slice(10,100,10), columns=all_columns)
pprint(next(it))
# {'frame': array([10, 10, 10, ..., 10, 10, 10], dtype=uint32),
#  'intensity': array([ 9,  9,  9, ...,  9, 13, 86], dtype=uint32),
#  'inv_ion_mobility': array([1.6       , 1.5977164 , 1.5954329 , ..., 0.60526049, 0.60189576,
#        0.60189576]),
#  'mz': array([538.22572833, 148.90442262, 414.28892487, ..., 677.99334299,
#        290.222999  , 298.18539969]),
#  'retention_time': array([1.29368159, 1.29368159, 1.29368159, ..., 1.29368159, 1.29368159,
#        1.29368159]),
#  'scan': array([ 34,  36,  38, ..., 913, 916, 916], dtype=uint32),
#  'tof': array([171284,  31282, 135057, ..., 207422,  92814,  95769], dtype=uint32)}

pprint(next(it))
# {'frame': array([20, 20, 20, ..., 20, 20, 20], dtype=uint32),
#  'intensity': array([31, 10,  9, ..., 26,  9,  9], dtype=uint32),
#  'inv_ion_mobility': array([1.60114183, 1.60114183, 1.6       , ..., 0.60301731, 0.60301731,
#        0.60189576]),
#  'mz': array([1445.63777755, 1516.85130172,  536.01934412, ...,  421.57926311,
#         422.13747807,  300.13908112]),
#  'retention_time': array([2.36610302, 2.36610302, 2.36610302, ..., 2.36610302, 2.36610302,
#        2.36610302]),
#  'scan': array([ 33,  33,  34, ..., 915, 915, 916], dtype=uint32),
#  'tof': array([359979, 371758, 170678, ..., 137327, 137500,  96488], dtype=uint32)}


# All MS1 frames, but one at a time
iterator_over_MS1 = D.query_iter(D.ms1_frames, columns=all_columns)
pprint(next(it))
pprint(next(it))
# or in a loop, only getting intensities
for fr in D.query_iter(D.ms1_frames, columns=('intensity',)):
    print(fr['intensity'])
# ...
# [ 9  9  9 ... 83 72 82]
# [ 9  9  9 ... 59 86 61]
# [ 9  9 55 ...  9 32  9]
# [ 9  9  9 ... 93  9 80]
# [ 9  9 60 ...  9  9 60]
# [ 9  9  9 ... 46 10  9]
# [ 9  9  9 ... 30 61  9]
# [  9   9   9 ... 117   9  64]
# [ 20 147  69 ...  58   9   9]
# [ 9  9  9 ...  9 91  9]


# The frame lasts a convenient time unit that well suits chromatography peak elution.
# What if you were interested instead in finding out which frames eluted in a given time 
# time of the experiment?
# For this reasone, we have prepared a retention time based query:
# suppose you are interested in all frames corresponding to all that eluted between 10 and 12
# second of the experiment.
D.rt_query(10,12)
# {'frame': array([ 92,  92,  92, ..., 109, 109, 109], dtype=uint32),
#  'scan': array([ 33,  36,  41, ..., 914, 916, 917], dtype=uint32),
#  'tof': array([361758,  65738, 308330, ..., 144566, 138933, 373182], dtype=uint32),
#  'intensity': array([ 9,  9,  9, ..., 58, 91,  9], dtype=uint32),
#  'mz': array([1456.28349866,  222.28224757, 1153.59087822, ...,  445.25277042,
#          426.77550441, 1525.57652881]),
#  'inv_ion_mobility': array([1.60114183, 1.5977164 , 1.59200782, ..., 0.60413889, 0.60189576,
#         0.60077422]),
#  'retention_time': array([10.08689891, 10.08689891, 10.08689891, ..., 11.91001388,
#         11.91001388, 11.91001388])}


# Get numpy array with raw data in a given range 1:10
pprint(D[1:10])
# array([[     1,     33, 312260,      9],
#        [     1,     34, 220720,      9],
#        [     1,     34, 261438,      9],
#        ...,
#        [     9,    913, 204042,     10],
#        [     9,    914, 358144,      9],
#        [     9,    915, 354086,      9]], dtype=uint32)

R

For a detailed documentation of the R package, consult the CRAN webpage of the project (especially the reference manual linked there).

library(opentimsr)

# path = pathlib.Path('path_to_your_data.d')
path = "/home/matteo/Projects/bruker/BrukerMIDIA/MIDIA_CE10_precursor/20190912_HeLa_Bruker_TEN_MIDIA_200ng_CE10_100ms_Slot1-9_1_488.d"

# Do you want to have access only to 'frame', 'scan', 'time of flight', and 'intensity'?
accept_Bruker_EULA_and_on_Windows_or_Linux = TRUE

if(accept_Bruker_EULA_and_on_Windows_or_Linux){
    folder_to_stode_priopriatary_code = "/home/matteo"
    path_to_bruker_dll = download_bruker_proprietary_code(folder_to_stode_priopriatary_code)
    setup_bruker_so(path_to_bruker_dll)
    all_columns = c('frame','scan','tof','intensity','mz','inv_ion_mobility','retention_time')
} else {
    all_columns = c('frame','scan','tof','intensity','retention_time')
}

D = OpenTIMS(path) # get data handle
D@all_columns

print(D) 
print(length(D)) # The number of peaks.
# 404183877


pprint = function(x,...){ print(head(x,...)); print(tail(x,...)) }

# Get a data,frame with data from frames 1, 5, and 67.
pprint(query(D, frames=c(1,5,67), columns=all_columns))
#   frame scan    tof intensity        mz inv_ion_mobility retention_time
# 1     1   33 312260         9 1174.6558         1.601142      0.3264921
# 2     1   34 220720         9  733.4809         1.600000      0.3264921
# 3     1   34 261438         9  916.9524         1.600000      0.3264921
# 4     1   36  33072         9  152.3557         1.597716      0.3264921
# 5     1   36 242110         9  827.3114         1.597716      0.3264921
# 6     1   38 204868        62  667.5863         1.595433      0.3264921
# 
#        frame scan    tof intensity        mz inv_ion_mobility retention_time
# 224732    67  917 135191       189  414.7175        0.6007742       7.405654
# 224733    67  917 192745        51  619.2850        0.6007742       7.405654
# 224734    67  917 201838        54  655.3439        0.6007742       7.405654
# 224735    67  917 205954        19  672.0017        0.6007742       7.405654
# 224736    67  917 236501        57  802.1606        0.6007742       7.405654
# 224737    67  917 289480        95 1055.2037        0.6007742       7.405654



# Get a dict with each 10th frame, starting from frame 2, finishing on frame 1000.   
pprint(query(D, frames=seq(2,1000,10), columns=all_columns))
#   frame scan    tof intensity        mz inv_ion_mobility retention_time
# 1     2   33  97298         9  302.3477         1.601142      0.4347063
# 2     2   33 310524         9 1165.3273         1.601142      0.4347063
# 3     2   34 127985         9  391.9841         1.600000      0.4347063
# 4     2   35 280460         9 1009.6751         1.598858      0.4347063
# 5     2   37 329377        72 1268.6262         1.596575      0.4347063
# 6     2   38 204900         9  667.7161         1.595433      0.4347063
#        frame scan    tof intensity        mz inv_ion_mobility retention_time
# 669552   992  904 291346         9 1064.7478        0.6153559       106.7103
# 669553   992  909 198994         9  643.9562        0.6097471       106.7103
# 669554   992  909 282616         9 1020.4663        0.6097471       106.7103
# 669555   992  912 143270         9  440.9670        0.6063821       106.7103
# 669556   992  915 309328         9 1158.9221        0.6030173       106.7103
# 669557   992  916 224410         9  749.2647        0.6018958       106.7103



# Get all MS1 frames 
# print(query(D, frames=MS1(D)))
# ATTENTION: that's quite a lot of data!!! And R will first make a stupid copy, because it's bad. You might exceed your RAM.

# Getting subset of columns: simply specify 'columns':
pprint(query(D, frames=c(1,5,67), columns=c('scan','intensity')))
#   scan intensity
# 1   33         9
# 2   34         9
# 3   34         9
# 4   36         9
# 5   36         9
# 6   38        62
#        scan intensity
# 224732  917       189
# 224733  917        51
# 224734  917        54
# 224735  917        19
# 224736  917        57
# 224737  917        95
# 
# this is also the only way to get data without accepting Bruker terms of service and on MacOS (for time being).


# The frame lasts a convenient time unit that well suits chromatography peak elution.
# What if you were interested instead in finding out which frames eluted in a given time 
# time of the experiment?
# For this reasone, we have prepared a retention time based query:
# suppose you are interested in all frames corresponding to all that eluted between 10 and 12
# second of the experiment.
pprint(rt_query(D, 10, 12))
#   frame scan    tof intensity        mz inv_ion_mobility retention_time
# 1    92   33 361758         9 1456.2835         1.601142        10.0869
# 2    92   36  65738         9  222.2822         1.597716        10.0869
# 3    92   41 308330         9 1153.5909         1.592008        10.0869
# 4    92   43 123618         9  378.5190         1.589725        10.0869
# 5    92   48  65346         9  221.3651         1.584017        10.0869
# 6    92   53 183172         9  582.4251         1.578310        10.0869
#        frame scan    tof intensity        mz inv_ion_mobility retention_time
# 128129   109  913  38170         9  162.4016        0.6052605       11.91001
# 128130   109  914 138760        65  426.2142        0.6041389       11.91001
# 128131   109  914 142129        69  437.2109        0.6041389       11.91001
# 128132   109  914 144566        58  445.2528        0.6041389       11.91001
# 128133   109  916 138933        91  426.7755        0.6018958       11.91001
# 128134   109  917 373182         9 1525.5765        0.6007742       11.91001


# R has no proper in-built iterators :(

# All MS1 frames, but one at a time:
for(fr in MS1(D)){
    print(query(D, fr, columns=all_columns))
}


# Syntactic sugar: only the real bruker data can also be extracted this way:
pprint(head(D[100])) 
#   frame scan    tof intensity
# 1   100   35 389679         9
# 2   100   35 394578         9
# 3   100   37  78036         9
# 4   100   37 210934         9
# 5   100   37 211498         9
# 6   100   37 351984         9
#   frame scan    tof intensity
# 1   100   35 389679         9
# 2   100   35 394578         9
# 3   100   37  78036         9
# 4   100   37 210934         9
# 5   100   37 211498         9
# 6   100   37 351984         9


X = D[10:200]
pprint(X)
#   frame scan    tof intensity
# 1    10   34 171284         9
# 2    10   36  31282         9
# 3    10   38 135057         9
# 4    10   39 135446         9
# 5    10   41 188048         9
# 6    10   42 288608         9
#         frame scan    tof intensity
# 3331314   200  895 318550         9
# 3331315   200  899  57824       126
# 3331316   200  902 314562         9
# 3331317   200  903 375375         9
# 3331318   200  905 358594         9
# 3331319   200  911 146843         9


# Simple access to 'analysis.bin'? Sure:
tables_names(D)
#  [1] "CalibrationInfo"          "DiaFrameMsMsInfo"        
#  [3] "DiaFrameMsMsWindowGroups" "DiaFrameMsMsWindows"     
#  [5] "ErrorLog"                 "FrameMsMsInfo"           
#  [7] "FrameProperties"          "Frames"                  
#  [9] "GlobalMetadata"           "GroupProperties"         
# [11] "MzCalibration"            "Properties"              
# [13] "PropertyDefinitions"      "PropertyGroups"          
# [15] "Segments"                 "TimsCalibration"         
 

# Just choose a table now:
table2df(D, 'TimsCalibration')
#   Id ModelType C0  C1       C2       C3 C4 C5           C6       C7       C8
# 1  1         2  1 917 213.5998 75.81729 33  1 -0.009065829 135.4364 13.32608
#         C9
# 1 1663.341

C++

In C++ we offer several functions for the raw access to the data. To check out how to use the C++ API, check a basic usage example /examples/get_data.cpp, or the full documentation at /docs/opentims++

More options?

Consider TimsPy and TimsR for more user-friendly options.

Development

We will be happy to accept any contributions.

Current limitations

Due to patent restrictions, open source calibration functions used by Bruker cannot be revealed. For this reason, we have to use the original Bruker TDF-SDK for time of flight to mass over charge and scan to inverse ion mobility transformations. To make it as easy at can be, we have prepared a Python module called opentims_bruker_bridge that ships the necessary dll and so files. Please visit the project and follow language-specific instructions for its installation.

Plans for future

  • Together with Bruker we are working on opening up the tof-mz and scan-dt conversions which is scheduled for the next release of the acquisition software.
  • This way fully open source access will be available on all of the commonly used platforms.
  • Adding bindings to other languages.

Licence

OpenTIMS is released under the terms of MIT licence. Full text below in LICENCE file. If you require other licensing terms please contact the authors.

OpenTIMS contains built-in versions of the following software:

  • sqlite3, public domain
  • ZSTD, BSD licence
  • mio, MIT licence

See the respective files for details. Consider TimsPy for Bruker proprietary time of flight to mass to charge ratio and scan to drift time transformations, which are shipped under separate license.

If the above license terms do not suit you, please contact us. We are open to discussion about your particular licensing needs.

Special thanks

We would like to thank Michael Krause, Sascha Winter, and Sven Brehmer, all from Bruker Daltonik GmbH, for their magnificent work in developing tfd-sdk.

Knowns Issues:

pybind11 causes an error upon installation:

  Building wheel for opentimspy (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/matteo/Projects/opentims/timspy/timspyVE/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-req-build-06parpqo/setup.py'"'"'; __file__='"'"'/tmp/pip-req-build-06parpqo/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-rq1ll2m4
       cwd: /tmp/pip-req-build-06parpqo/
  Complete output (11 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.8
  creating build/lib.linux-x86_64-3.8/opentimspy
  copying opentimspy/opentims.py -> build/lib.linux-x86_64-3.8/opentimspy
  copying opentimspy/__init__.py -> build/lib.linux-x86_64-3.8/opentimspy
  running build_ext
  building 'opentimspy_support' extension
  pybind11 not found. Please either install it manually, or install via pip rather than through setuptools directly.
  ----------------------------------------
  ERROR: Failed building wheel for opentimspy

Ignore it: it is pip-related and does not influence the intallation.

R function rt_query

If you see error: Error in col[1] : object of type 'closure' is not subsettable then interpret the following set of functions:

get_left_frame = function(x,y) ifelse(x > y[length(y)], NA, findInterval(x, y, left.open=T) + 1)
get_right_frame = function(x,y) ifelse(x < y[1], NA, findInterval(x, y, left.open=F))

rt_query = function(opentims,
                    min_retention_time,
                    max_retention_time,
                    columns=c('frame','scan','tof','intensity','mz','inv_ion_mobility','retention_time')
){
  RTS = retention_times(opentims)
  
  min_frame = get_left_frame(min_retention_time, RTS)
  max_frame = get_right_frame(max_retention_time, RTS)
  
  if(is.na(min_frame) | is.na(max_frame))
    stop("The [min_retention_time,max_retention_time] interval does not hold any data.")
  
  query(opentims, min_frame:max_frame, columns=columns)
}

Project details


Download files

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

Source Distribution

opentimspy-1.1.0.tar.gz (5.4 MB view details)

Uploaded Source

Built Distributions

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

opentimspy-1.1.0-cp314-cp314t-win_amd64.whl (426.3 kB view details)

Uploaded CPython 3.14tWindows x86-64

opentimspy-1.1.0-cp314-cp314t-win32.whl (400.8 kB view details)

Uploaded CPython 3.14tWindows x86

opentimspy-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (494.8 kB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

opentimspy-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl (427.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

opentimspy-1.1.0-cp314-cp314-win_amd64.whl (411.9 kB view details)

Uploaded CPython 3.14Windows x86-64

opentimspy-1.1.0-cp314-cp314-win32.whl (391.2 kB view details)

Uploaded CPython 3.14Windows x86

opentimspy-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (495.5 kB view details)

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

opentimspy-1.1.0-cp314-cp314-macosx_11_0_arm64.whl (418.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

opentimspy-1.1.0-cp313-cp313-win_amd64.whl (406.7 kB view details)

Uploaded CPython 3.13Windows x86-64

opentimspy-1.1.0-cp313-cp313-win32.whl (386.6 kB view details)

Uploaded CPython 3.13Windows x86

opentimspy-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (495.3 kB view details)

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

opentimspy-1.1.0-cp313-cp313-macosx_11_0_arm64.whl (417.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

opentimspy-1.1.0-cp312-cp312-win_amd64.whl (406.7 kB view details)

Uploaded CPython 3.12Windows x86-64

opentimspy-1.1.0-cp312-cp312-win32.whl (386.6 kB view details)

Uploaded CPython 3.12Windows x86

opentimspy-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (495.3 kB view details)

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

opentimspy-1.1.0-cp312-cp312-macosx_11_0_arm64.whl (417.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

opentimspy-1.1.0-cp311-cp311-win_amd64.whl (404.9 kB view details)

Uploaded CPython 3.11Windows x86-64

opentimspy-1.1.0-cp311-cp311-win32.whl (386.0 kB view details)

Uploaded CPython 3.11Windows x86

opentimspy-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (490.1 kB view details)

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

opentimspy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl (416.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

opentimspy-1.1.0-cp310-cp310-win_amd64.whl (403.8 kB view details)

Uploaded CPython 3.10Windows x86-64

opentimspy-1.1.0-cp310-cp310-win32.whl (384.9 kB view details)

Uploaded CPython 3.10Windows x86

opentimspy-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (489.0 kB view details)

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

opentimspy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl (415.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

opentimspy-1.1.0-cp39-cp39-win_amd64.whl (408.1 kB view details)

Uploaded CPython 3.9Windows x86-64

opentimspy-1.1.0-cp39-cp39-win32.whl (385.1 kB view details)

Uploaded CPython 3.9Windows x86

opentimspy-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (489.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

opentimspy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl (415.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

opentimspy-1.1.0-cp38-cp38-win_amd64.whl (403.8 kB view details)

Uploaded CPython 3.8Windows x86-64

opentimspy-1.1.0-cp38-cp38-win32.whl (384.9 kB view details)

Uploaded CPython 3.8Windows x86

opentimspy-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

opentimspy-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (489.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

opentimspy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl (415.3 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file opentimspy-1.1.0.tar.gz.

File metadata

  • Download URL: opentimspy-1.1.0.tar.gz
  • Upload date:
  • Size: 5.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0.tar.gz
Algorithm Hash digest
SHA256 e9e24c3b02fe0ca336032e561acdb638973d3287350751933b2ca4f2beaf5d51
MD5 0065354e72d37cc5354bcfa3d07849bf
BLAKE2b-256 4662a9b9b07d5c79c1df9544ec6df152e0be058d9ae835dae253b40e446562b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0.tar.gz:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314t-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp314-cp314t-win_amd64.whl
  • Upload date:
  • Size: 426.3 kB
  • Tags: CPython 3.14t, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 2b1f4bec9cd2e6798c960a2b048cdf4ebd87483fbca71afe5f69b909925aa8d7
MD5 b0d11ed213db5bd27b23030ad00dbaac
BLAKE2b-256 72a4b1f72e246960d3a98b0863c5d944c28fedaac0703034a51dc6dc40d28f84

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314t-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314t-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 400.8 kB
  • Tags: CPython 3.14t, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 82b8d8575aa681b2db95994aca21ad48730dcca67b3a8729dcd9b404c6c920d7
MD5 ecb119d7c81cdcea8bcf5f5ebc4bb578
BLAKE2b-256 f7d37ff3adaf70ef9a588c928bd74648f3b2425eea9a5ffe6d3e14e8aac1e266

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314t-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 adb8a6b3c6b9d85746263388f37db8c9b435ea42811f2215c5a23c9ffbc8c351
MD5 1471318ab08042573fc6d3b641655fff
BLAKE2b-256 596a19fda1762a70c04beb89b323894e0fdb60ea8f900c35b9d872bffc92c5db

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4163f35809d5104007c20278bc4d2584267f620f08e6dd1522cb8245b0cdf03c
MD5 f1180d92d84cde2d9608b0b41e8e3bfd
BLAKE2b-256 ed7e4a00a44ced13edc9e48a534ce74b03485bad03deb9922f21e3f80c7be5b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e0604ed0ba893ff824e66c5c424c2f3350e70a888be9e391617dc9f31ae168d9
MD5 f0890ca777b238f6b70fc040c6e51ab5
BLAKE2b-256 43dee8beda323d38223703f03090b221161f965356ae629b394a5e8d0efa37b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314t-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 411.9 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 2f575b95d18d34b38d1372926b10b5f265be213e158152dc50a60d6b6110aacb
MD5 b8eb200494eb059edc343f83790416a3
BLAKE2b-256 c4ced5363ccfe2db9c29ea5b471ba473557f44c9dc4675dd2241367ec65652f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp314-cp314-win32.whl
  • Upload date:
  • Size: 391.2 kB
  • Tags: CPython 3.14, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 4d33a47264781042972dad236534c2b46aa1e0c2a71c5e7acada532f41d53574
MD5 56d1ef3b0a8d732e568970b0981b5407
BLAKE2b-256 fc2e79cc685615be1ccd5eeb9fc485901dc7caf78b6362b748a1f41eb74743af

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 dde80477c8d9961520821c3df6f123ec2985e82d0373c6a5195ba47420787520
MD5 111c5f17031118d683b24a239250bfdb
BLAKE2b-256 e8b55f89b2564d2d1875e3c0563b89d5a25876eee25c53ab22d8c9ca5e0672bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 afbb3e61be2242fb203a5b27a5ee719cfe7ee13f28ea6b0f518034fea1a2f2ae
MD5 a36bff40b00c85068f82533b1d143924
BLAKE2b-256 6791caa8b80f74a93ca0110b691c731d6147c1d1f137165c0eb426ae80f3615b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c06a42b099972b07e9ea7051424d97a669d3672ee454e5ccbd6ec376a07f02bf
MD5 14de7df1cf239ca75b0eecf5e4ee1763
BLAKE2b-256 a2acb0419504d121b29916a4db7e9eda711029ede9c7834b30d50dffe1f6dc7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 406.7 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1f951c509d24acb373a15c3b7900b50e9780f2ec4dc08d4380bafb03d2ba5418
MD5 fb1d177880d76872232e08123df94f4a
BLAKE2b-256 2737c99f04ceabf41da47c186479166215b8049a8ab1f800c824dcc9415cf956

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp313-cp313-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp313-cp313-win32.whl
  • Upload date:
  • Size: 386.6 kB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 4c7070ef43d1fe029b54570d2cad4c7cffa66f94cccaa0f2faaa00c8d305cb0e
MD5 1f3edd76e3cd53adde1a5addbb772652
BLAKE2b-256 e713bd81ca6cc6a1e0fcbfe90b89c8c21befc80f61ca088cda203b6ff9acc367

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp313-cp313-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9fe75082551bfcba7e4e596a63015b468c7224d197df7be1bf8b449b474e43c3
MD5 c0ee2d2cc7dce58daf23c8dc1333d893
BLAKE2b-256 5364fe200ee85bd8382ef0b4c590956329c834736bf53336c09661978d6bb04c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp313-cp313-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f79b4b38c5e61a93b73245e2fe6d544c2dd7f23202d5c4f970d39590224e43ae
MD5 0a0f30e46a1cc545481b031d066e3154
BLAKE2b-256 a72cec3586f233ed16051b3fb62289d3b039af6b087f79028a043b22648320d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 abaee9b78053ae68cfc4dd8dbf5144e2042063808923af8c05612a0d37410a58
MD5 2ddbe05ec0da2e9adfd05e23b58150c3
BLAKE2b-256 84a87f4d355297fd98b466cc7a98dcfb7989ba46480ed1e3d7e1c7eaa7ac877e

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 406.7 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 31ce0c6b9546a23286bc817c3c29088f595bcc61e6033254337dc6117bd7fb2c
MD5 2ef2980ce30e8b10897a39b36cb37207
BLAKE2b-256 d9064e72d21a974311f6198699b4e2ef7df15e46947d0f6c77c857eaa7eec377

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp312-cp312-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp312-cp312-win32.whl
  • Upload date:
  • Size: 386.6 kB
  • Tags: CPython 3.12, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 9203c1369a334498a5cd419666dbb25a1466ae2221dceb46ebb801a8e145478f
MD5 fd572e780000c1f5afbfb9ba140ef010
BLAKE2b-256 471f0eaa52f01f39b699e83d607d14ae271b8720fefd94e19354f0c463c5631a

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp312-cp312-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c18b405132f03a23ace27a9db28cfb4acb31a0d395c23231bebb6541316a58c5
MD5 e7f18005f6edd8dd0aca5dcf3cc794ec
BLAKE2b-256 f65ca08a530c017bd36604bdd1c6711b111313b29aa7ec6f2c6cf2ccddc29cb1

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6809444486cea9b82ef60f4c5ec22b92dc65e7f249e5b2db559deb7d24b93c61
MD5 277a5d30f35dc973fb4ba009c1422c63
BLAKE2b-256 034b7f4db19c7230b20f0414d4abd43b78bdf69965573f7cd8dcba51bdbef45d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f269b669dba56288f8bc5dc545274fed611453b3c9d425599e90d776207664c
MD5 44a3bb372fcd47c5bd6c6cadec6bfb04
BLAKE2b-256 5eb56a1933b2817539e00efdbe83a4ad7d4de8b70855b68ab405841d49821c97

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 404.9 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e4070e3df3613f461861d149c45e2c4c23fdd2ac937ef8308a902083a58c24e7
MD5 3b94d476f65fd08f9e00370c6e98153c
BLAKE2b-256 2a73fbc158613f7611994b611e55775c29c2e6c371f48dbec1ad2d2950da0e0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp311-cp311-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp311-cp311-win32.whl
  • Upload date:
  • Size: 386.0 kB
  • Tags: CPython 3.11, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 4d5246b0ba28f264f92d37d6a091543932d8674421bac65eafc91e3717f00437
MD5 101bc5c972949c347cc4262c449d109a
BLAKE2b-256 78d257bbfa0cecc88d404df569d5b4031771fb36ef039ead12c202a03fec286c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp311-cp311-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1ad7668bb23505b34480e62cb4e9b631e799ccb771d0917962bf1af14c2b5438
MD5 7d185e7c65b4cad29cf1d8b64ca04b30
BLAKE2b-256 483bb844f6b5af6d373090d23b23128e27950b21169c328268d523f40734f562

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp311-cp311-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a7d0fcfd8e2bbc3ca843b2123db35b9792789302206348ccef28e96b8c21e651
MD5 95aa6d822d6fc0985d05bf92476fd55b
BLAKE2b-256 942c1757475b8a2297481a4e05e0a30ce1cb2da0c415a8663b5179e166f1c50f

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6029a82fef577010118d12ef2711450e47bcf7406df00416b7fed81357e9b50b
MD5 29abe37d263214aada70bc70690ccf72
BLAKE2b-256 7bc11f7dfec78a29716dc943d839430474fbd156cacbb29a06540545b6e4f9a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 403.8 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a43b37854b464d3cb0bc93948e605e52bdf3a8b5eca5e2585425c2a97eba11f3
MD5 d20a1d39514a9391332e7884a3b563a3
BLAKE2b-256 44b6c775781d7eb688de03bf006d6ce6d1ca48ab253341aa8c2de76060b8bb90

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp310-cp310-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp310-cp310-win32.whl
  • Upload date:
  • Size: 384.9 kB
  • Tags: CPython 3.10, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 0d7709a3ca349bf1bd072ddfbe59ceaa431f43280f1dc734f7287f2dbbc0af3a
MD5 37d78da728b182693a6b1e68b0efb938
BLAKE2b-256 caa86b793d6f00a4d944a3cfc0f759c783e08c9c7975ccb81e2bd7d6d5a464e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp310-cp310-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f15a43e25654374597758b1fe40a41d8c2460ca3afc60ac3d2ea02af95459387
MD5 1740b10d0c6798f81411db6f79c303bf
BLAKE2b-256 d8e95910e030e966b3a8450dba402f87b83908cf086422df128356c706f58f27

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp310-cp310-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a2701f7828de516497a86c65cc04d086c63c5c1699dd3019f3b9a5fe00583c6c
MD5 74630add80ea990eacbce14b6e2df67d
BLAKE2b-256 a16e469192e24dd024f95354c53364cb5934b4a9a53b050137be8f050074af33

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 552f233dde5b641ac7c6091cd0ae0ff3bdbe44a54b5bd9aadd6d33b17af2b82e
MD5 f79a435becdae09a6de583d2ad209dff
BLAKE2b-256 37774e8fc2e5640ab08a075869150d0befa60afd070636e2e808ddf0b53c9bf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 408.1 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d492d7ccfb505805c7deb2077a8c3cb0eddafb9fff8058ec566f924970735c8f
MD5 b3add52005d3c0d1addbc3711b3ed751
BLAKE2b-256 6fcc14ee2fda95f51bde9ead03c4b4bdef3bbb201dfdcc88ba4983c69744f0c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp39-cp39-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp39-cp39-win32.whl
  • Upload date:
  • Size: 385.1 kB
  • Tags: CPython 3.9, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 0c36f52da010c614e84d08c6b78d1636ce90ce78cff90c60c0a2e59a5b481e51
MD5 11a4adb63ee67d4992fcb8c1783ee84b
BLAKE2b-256 33186514aab3dc7107d9dc2e0a66a5dbac06f97f7e8032af0f02a4b067f20178

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp39-cp39-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 9416d5d411afb85f0f88f63e19732e16c7a48c91259de2492f22ca9a4c2b1cfb
MD5 5fb8a21e328b93dfdeef2db2c125785b
BLAKE2b-256 c9a3b7f666436f64fecdf258ef4ff38b6dd081cb556b496665aaef4d93df3998

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp39-cp39-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dec6223b6f277d0eec03e1a0bed3325a316ebe136654af17f8b1e410f279f5ea
MD5 f91d04db1510755a8133ea05273abfc9
BLAKE2b-256 88763990f8b11eb72e78e1875ab742e1f2b19cfa4d6b4c74d041c98971801290

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bec8fbf75e1548ad87b4ff71b7381a223e6c1ab5366e2c5897bae010a2dc348f
MD5 f04f51290fe2f145d215ab65a5e48be8
BLAKE2b-256 5553b63651b693bb8580d642edd93b22ba2d775ce10343612ab98cc714e37b64

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 403.8 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 209d547edce7467090c297af9484fe6090670736833cddddccd87107e99069d1
MD5 f538e40d5fb874eb31f8561d2581cd61
BLAKE2b-256 76e2bd17793e9eed7c65531beaecbb7d0831374021ae93c95ccc563f70948d33

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp38-cp38-win_amd64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp38-cp38-win32.whl.

File metadata

  • Download URL: opentimspy-1.1.0-cp38-cp38-win32.whl
  • Upload date:
  • Size: 384.9 kB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for opentimspy-1.1.0-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 1cdf9a1641c1b1716210bc18787a9cf0f332750c98ba13c2c1eb17797e9fbaee
MD5 84540d424cd3502d66e01514c449ba1f
BLAKE2b-256 68dc922dc0062633221bdf3c2b88e37d6f98fcf61d1fb111caac96e46104de9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp38-cp38-win32.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 29c2894d139834d6e3f69550ed02393c7090395d4214a9e7dd3b1dfed4af758c
MD5 d1d2f4a899fb21a8f199d2bc3badf91d
BLAKE2b-256 80d9eaa22dd6bf2eaa4a71423134512459665b9b6c5d2153e8d1125c161ed9dd

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp38-cp38-musllinux_1_2_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9ac67857737774b1b5e4bbd7b54a90c3f82d1fbe307ee434575b709fc478f3e
MD5 6468b340e3660252d647c92371c422f9
BLAKE2b-256 882c7db1c522f804026eb7e98efa24e8bcd065956fd2ad25a0825321bfe86592

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opentimspy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 95a257780298893d5c495627a51e0541306f702d24142e823cf7c4c750a32ff4
MD5 10f8eefeef19756d85f17d52ee48b60a
BLAKE2b-256 d2ba6454d1a62c59a383c4034a915ac61d033f7c8d8bb5423295420f8e302685

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.1.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: publish.yml on michalsta/opentims

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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