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.2.0b1.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.2.0b1-cp314-cp314t-win_amd64.whl (429.3 kB view details)

Uploaded CPython 3.14tWindows x86-64

opentimspy-1.2.0b1-cp314-cp314t-win32.whl (402.7 kB view details)

Uploaded CPython 3.14tWindows x86

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

Uploaded CPython 3.14tmusllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (496.8 kB view details)

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

opentimspy-1.2.0b1-cp314-cp314t-macosx_11_0_arm64.whl (428.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

opentimspy-1.2.0b1-cp314-cp314-win_amd64.whl (414.7 kB view details)

Uploaded CPython 3.14Windows x86-64

opentimspy-1.2.0b1-cp314-cp314-win32.whl (393.0 kB view details)

Uploaded CPython 3.14Windows x86

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

Uploaded CPython 3.14musllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (497.7 kB view details)

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

opentimspy-1.2.0b1-cp314-cp314-macosx_11_0_arm64.whl (419.0 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

opentimspy-1.2.0b1-cp313-cp313-win_amd64.whl (409.5 kB view details)

Uploaded CPython 3.13Windows x86-64

opentimspy-1.2.0b1-cp313-cp313-win32.whl (388.1 kB view details)

Uploaded CPython 3.13Windows x86

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

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (497.5 kB view details)

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

opentimspy-1.2.0b1-cp313-cp313-macosx_11_0_arm64.whl (418.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

opentimspy-1.2.0b1-cp312-cp312-win_amd64.whl (409.5 kB view details)

Uploaded CPython 3.12Windows x86-64

opentimspy-1.2.0b1-cp312-cp312-win32.whl (388.1 kB view details)

Uploaded CPython 3.12Windows x86

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

Uploaded CPython 3.12musllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (497.2 kB view details)

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

opentimspy-1.2.0b1-cp312-cp312-macosx_11_0_arm64.whl (418.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

opentimspy-1.2.0b1-cp311-cp311-win_amd64.whl (407.5 kB view details)

Uploaded CPython 3.11Windows x86-64

opentimspy-1.2.0b1-cp311-cp311-win32.whl (387.7 kB view details)

Uploaded CPython 3.11Windows x86

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

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (492.0 kB view details)

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

opentimspy-1.2.0b1-cp311-cp311-macosx_11_0_arm64.whl (417.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

opentimspy-1.2.0b1-cp310-cp310-win_amd64.whl (406.5 kB view details)

Uploaded CPython 3.10Windows x86-64

opentimspy-1.2.0b1-cp310-cp310-win32.whl (386.6 kB view details)

Uploaded CPython 3.10Windows x86

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

Uploaded CPython 3.10musllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (490.9 kB view details)

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

opentimspy-1.2.0b1-cp310-cp310-macosx_11_0_arm64.whl (416.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

opentimspy-1.2.0b1-cp39-cp39-win_amd64.whl (411.0 kB view details)

Uploaded CPython 3.9Windows x86-64

opentimspy-1.2.0b1-cp39-cp39-win32.whl (386.8 kB view details)

Uploaded CPython 3.9Windows x86

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

Uploaded CPython 3.9musllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (491.1 kB view details)

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

opentimspy-1.2.0b1-cp39-cp39-macosx_11_0_arm64.whl (416.3 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

opentimspy-1.2.0b1-cp38-cp38-win_amd64.whl (406.5 kB view details)

Uploaded CPython 3.8Windows x86-64

opentimspy-1.2.0b1-cp38-cp38-win32.whl (386.5 kB view details)

Uploaded CPython 3.8Windows x86

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

Uploaded CPython 3.8musllinux: musl 1.2+ x86-64

opentimspy-1.2.0b1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (490.9 kB view details)

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

opentimspy-1.2.0b1-cp38-cp38-macosx_11_0_arm64.whl (416.0 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file opentimspy-1.2.0b1.tar.gz.

File metadata

  • Download URL: opentimspy-1.2.0b1.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.2.0b1.tar.gz
Algorithm Hash digest
SHA256 594a2048cbaafdfc684f83ee030291f116ef3a03d313b5b9d3d2f97ec3469001
MD5 cba57f8a565f86e71ac85b3f8616e924
BLAKE2b-256 097a8f384e18b0f7e0fa1211d481b96451166b36738b3f843fac5c8a5a00809a

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1.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.2.0b1-cp314-cp314t-win_amd64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 636292b84821cbdb96b16d5e9cb0a0603f1bf3ef8f0aa67a5977f9815f3c3820
MD5 9e81b4000491ffdf1db15664a7ec9e12
BLAKE2b-256 99cca07877615cd415152ee0c11016609c537507b3ae8df2deeaa205f39300a8

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314t-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 402.7 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.2.0b1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 9b1cc87c7670ec2e64dab51e937f13143d4215725ff7598d89f89abea3f19e17
MD5 7e0ef96d131e7055c4377a7010b2d95b
BLAKE2b-256 20bbf916ce04d9be0a7410684c97dbd9001d77908c0d78accb51a3d98acaceac

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 0834874bd575803ad075e54e3d11420e01ef42d6043c2ec9c31a5a038bc819d9
MD5 5df35bbacf15700c298bb3805cf1ae28
BLAKE2b-256 4b374a5ab7baa8247b4cb3b40e438ac56ddd49156eb0d110bd60a3be2261e8ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6e2377ba1f8e2b215a6609f3f900540cc31a037699ac83c7790be9e19e4fcb5
MD5 c9446b16dff13606ef64e0720fc8e370
BLAKE2b-256 994fba8c1b4ebd6cff1eff6b26872f71a6aad5cf5f3be14f6157db257b859197

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e3b8f546798903e5210708b4732cd85a4cc0c0a30cfb15f2ed11ee9605212555
MD5 21adf6bb68025a8861bf20b7e8d0723d
BLAKE2b-256 14ef915cf1963d89f8e61e84c6e3fa6b9f81c51305f78a5a6f7563fecffb4f73

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 2b2fe708a0a852be9901e8d3db1a4c97f4028e9b49ef8ce41f224a59c826777d
MD5 4035991b3664879e9d3ecd1a571a7aa4
BLAKE2b-256 0e01a2fb6b3e16d6c239f9751bcbc3dc8027fae55e17a73439144ade878dbe0d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp314-cp314-win32.whl
  • Upload date:
  • Size: 393.0 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.2.0b1-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 bb79978d549454345477009e72c5e35a533eaac8d22ffca6a0a695c2971458c9
MD5 3614afeae333d4dcd19597bf7b5a45c3
BLAKE2b-256 13a2de02bee1ae7ac37a2107ebc419dbd4631748cdc662fcab13a180680d7662

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 80ce0795d0b28b8a03d4ee4c2ff92bc2869854ffa3c266d68babd32961133eb7
MD5 f93ac107291f89c7a8f85a942c167da0
BLAKE2b-256 a402e73a8351b2fa8a84ec0e6d7886d5d65a59339a6232113cd93f25a842b41f

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 538221a4af83da00a815db27e7c97aad355107fd78b98641533a527c8ec0ce12
MD5 65574da929a59e7371ad2108be66cbce
BLAKE2b-256 b584b87dbab4d7dded4c76a68ae76346b23749f17c7844a95eef60f3a61d5ae2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9665a130e882c6eb041d5237390c6a3b22302fb02b72a5942cdd46983e0a1ad5
MD5 177fb4b7c5536c11ee65c37123d9ea94
BLAKE2b-256 512b95d53cdd9c337b76ca7e543d4045f52b2b73c13cdc1e957b6418c874a7c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 69e06dafbadf3fcbf479467b0f2615e822d79a83ae4992391ee2a7d61aee0846
MD5 8188049cfa118155f17b903ad9551148
BLAKE2b-256 2ba9718ee81d0b7296f26d98bf3339caea3633b94275704bde8dfb491e946c6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp313-cp313-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp313-cp313-win32.whl
  • Upload date:
  • Size: 388.1 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.2.0b1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 f61407e0edd0e743b9957c7102124a107a4123bfc597770c61d041100c910635
MD5 ddf0323f1f8a80655251ba6e4ce30b82
BLAKE2b-256 ffff61d2664efd271f85733bc648983ad72f75dd06e391adbbf7af5727b5c144

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e3b3b2e773d1fb48a48ed8be45d131b5be9ee745bdd6e634f0cc0129a081d788
MD5 dc4a338b616cc5d86bd278c491fecc8c
BLAKE2b-256 919e7c25db47c5a8845d94d6deb4bddc7b9cd417456302ee66d9b8564d1d9703

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7e7ab485341d3e5611882001ae2d67a7522a9875ff40562fbb7ac02828891389
MD5 3833f76187acfd2fb125c2ed27fae7b7
BLAKE2b-256 93d5cfdf18f5e0f8480384f30f24ad90272c127473e956eada6dedcb282e4ca4

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3aad39dda50782bfa850d0d40733354175768b22527f434fead611532d1c1b16
MD5 0cb850f716ba7072128bfecc96fed8dd
BLAKE2b-256 f42d2868e5f0c4479e55cabb83592c55e747b77aef49f3c6a34102a8463ae3ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 51a8a9b88258e3400c2ceed2f0446bab15a373880a2f7d53336882846bbf4740
MD5 8bfa3ce3740dd95007ecd37457c2c2c3
BLAKE2b-256 cfe67a7738e8c447f8b6376d18ebc53fee648c224fc1d5e90f1f5f12de99bd72

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp312-cp312-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp312-cp312-win32.whl
  • Upload date:
  • Size: 388.1 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.2.0b1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 f9d7db4eca1e437628c400e8420f8e17f97c3cf8d84a16a1250e9c49784d177c
MD5 3c08ea9ac34dc9acd54ae1cef3e76219
BLAKE2b-256 175c4693d80eaf2e36571c0d5ddd0a6b1e1eb2efc3f4f06da69526a0ed00a36c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp312-cp312-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 22cb06371af71f65751423c726c1f7f4c557430974c53ce2bed947bcfbd73079
MD5 e1bd60903fe7ef7a2a67f40a3e23b1e9
BLAKE2b-256 f01924f087a969064245374b43cc433bb2fe5a7ed26133d4e576245fa7b7f5a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9f32e950151ebdcba00916f9b724a3677b5c114870b8297afdae089d8d5bae40
MD5 769ff0ce56dfe76c5fb76b3e3e8cdfca
BLAKE2b-256 6701493b9b0e5d517658bf45ec4a4dc9eaeba04a6360e424b7d0cf2cfbd50fa2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f5511e70208764a7c94a1bad56ca6abc0fe2934050020777b5aa3df14b4bcf84
MD5 ff788ef1d7d6f662439b34bf904da8a8
BLAKE2b-256 926568fed704751966952290f9cae3dcf08da308a5ab2ba23cc9a83135edb220

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 52d2262b644f9ca2cb0688041e812b9e389ee28a14f552e92aeb063f157a3d2c
MD5 aa978f14d5f3cc87ddd7c64c3ab6d9bf
BLAKE2b-256 4b053def600b94fabedfef78d2a278ef69dd55f8b5652f32aa5d92c32579f0b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp311-cp311-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp311-cp311-win32.whl
  • Upload date:
  • Size: 387.7 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.2.0b1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 6ac6b6df7c30575b94769aca1ac7a678b04f2725049f23bef31613f0f3510671
MD5 0548b264d93b6491491bb99e838da20a
BLAKE2b-256 dcaa0e7ad2431377e20968bf93e8aabbca2b5518d9229835cdb66b965c14f88d

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 772819bb2128f95b94fd11e9735248fd602556d6e358b828039f0be04d22d4cc
MD5 285754fc40506bc5bba75c6ba392ddbf
BLAKE2b-256 68fa5f7148422a2be4308c6e10cb369741ac65299c44bb9b870c3664d019ef6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ff876c0f1f57893871d1c3111889c171da313f9d2ace3f2c034d809e306df9e
MD5 277e86a25b0fd24c5fdb062f4387d74e
BLAKE2b-256 6600023a4ce45d21d33709a45dc2abe4b07e0de83323d267e818155a26229922

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee858d350f12ec6c5a1ed381a15f1210a622a3447c02aa42c0cc3ae50574de09
MD5 6502a5a99c94cd8e6abfb762050ee3a9
BLAKE2b-256 a4aab92960aa4cabd6e535a1d5da7339ad4336e394c61003a365efd88ab0b061

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 630f5df0bf7bedd3a37e1dfce936a2c740e274397401777cc382d2e7e66cbabf
MD5 bd7a0373f7a579cee4010cbc91b5dc03
BLAKE2b-256 5fad83894526a5f646fe02a9454c37e4fc7dcf3ee0326f0452e9f66445907020

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp310-cp310-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp310-cp310-win32.whl
  • Upload date:
  • Size: 386.6 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.2.0b1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 fef92d74e6056a452a53f71330655463dec3a8c2b4f8be1dc289510c7e4443f5
MD5 9e0e5a3d98a89f7a731622af1cd11192
BLAKE2b-256 7f1f8c00bf6f224292748e5917fbd8439c1494c548abc731bceef1d6bf0479cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp310-cp310-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f71370a355a074ee89cbc863ac649a2859e4c6735a9ffbb812ae8ef56d46a445
MD5 f5a76ed4a8eba345a0fc86d864522224
BLAKE2b-256 13c9e48ed3b2cb370da82e3f0e2c1c8003f41ee5af02ba563dbfe892be612cc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fe9c454ec66c8267c5a73f8e8524480b34a49c4abac6905431a8056cedebc232
MD5 d5e3c93ec7518ce65a73b914119f09b0
BLAKE2b-256 fee2072d08217f781c13ed15a12b757ed074e3f89a9f01a197b007fc7f10ec28

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f4fdb2015bda1aa3c53f8d5b78fc5c455acb2cc5d1527e1a12b0fa6ebb66cb8f
MD5 4dc0a698fac6a6a8a3de63e07a5bb62d
BLAKE2b-256 16703f60e9c585c9bca23d460b5e8f4d7136625804a599f7fbe8a5c49ae19b3c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 411.0 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.2.0b1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 dadc47b9b1729dfecbfee61f651fc85ca4c7e7d911dbbeaff96c66b1a9a8d959
MD5 c94f19027c91d047e635c6ea4250de3a
BLAKE2b-256 db43a4376a9dc0c186ff3fb0a589e2a8fc8afedf08a1a9796e8dd3f050f86042

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp39-cp39-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp39-cp39-win32.whl
  • Upload date:
  • Size: 386.8 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.2.0b1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 adb1f2a87aa7575e9dc1f57accdf6625d0616de9c35dcb12b626eac4007b093e
MD5 cc58dce4e249c8c5b1391db15a106f2c
BLAKE2b-256 9ad96435ff9c68b59a99754f14b1429ffaa9857900c7a37953ac2faf1ea20c94

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp39-cp39-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d209e37029057778ee2d41894a95e39a4d2011f4df44be1d0057e3db47e0e724
MD5 7210423ff8c7e5ce499227330b867052
BLAKE2b-256 e9291d56b862c4e7b10af740de474b41871f599fab8090bc41bd811e7e24278b

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ebe4631fa8258622ccbf89d271e9bb46a6b2584585c3d65a26cd06e054baf3ae
MD5 ee6463e4f2818a3d5ceb53dfaf3ad444
BLAKE2b-256 8561255e18f122229cfb3d52442e03288bcd2b20b20a454ebaf05e7082b21186

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c41201d8e5cc1a53ab56385d9d9c0f27d6904324a5b2ae53e888cf2ee2a829f1
MD5 5e6789a64b249de527b0986b50e1debf
BLAKE2b-256 bf55193fbb285a997eec5063690dd630957322d402e9672d2263900b49ed66af

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 406.5 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.2.0b1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 6aa957844add873937340000647114af22a0fb8ae4972ce49860f38d8a6ae406
MD5 e937df90f4429502142b71ffb3c4e97e
BLAKE2b-256 a266521f5860c553321303d4e3bba86a661e7e0c90d7efac57780efaf089b581

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp38-cp38-win32.whl.

File metadata

  • Download URL: opentimspy-1.2.0b1-cp38-cp38-win32.whl
  • Upload date:
  • Size: 386.5 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.2.0b1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 5b66cd51d2021c01290f438807cb66b2fadd1f92096462039ee137cc7b340f4e
MD5 09cad48963586129787439b17ca64491
BLAKE2b-256 606d80942db515fac1387f209a4f7bfe0c939e266ed33f848fd711d89d8208c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp38-cp38-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 ae5fa1ae906d63c85eec7ef495b11feb00ef9cfab28f22531ebafb88f04c97a1
MD5 4f33a763773f05ea9a542e968423bdd1
BLAKE2b-256 7acc6e69208a033305c41bb09c56581b52932f5c8cfab9b8bb5e36f1c48f79e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6d22c9b8600b77c582c87aa7141713e2c363cdc1a3791666a3413e4877f833ff
MD5 34ed501152d0364b80c4804327fc2b4f
BLAKE2b-256 54e331cdc7aeb54a89680b6e287958ecae8f97aa86e50994b9a4bc627c034d24

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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.2.0b1-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for opentimspy-1.2.0b1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ca1f8bd8a990afd6c7e3b6b5f6c073bfd378c2d671398aecd6ee8669b8fa1581
MD5 0adac2844e5e642ae29326a7b5aad9dc
BLAKE2b-256 2bc88ac19851a5770319fb847fc5c26b439029677c53f0d14f66f5d6a6673f29

See more details on using hashes here.

Provenance

The following attestation bundles were made for opentimspy-1.2.0b1-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