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

Uploaded CPython 3.14tWindows x86-64

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

Uploaded CPython 3.14tWindows x86

opentimspy-1.1.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.1.0b1-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.0b1-cp314-cp314t-macosx_11_0_arm64.whl (427.7 kB view details)

Uploaded CPython 3.14tmacOS 11.0+ ARM64

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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14Windows x86

opentimspy-1.1.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.1.0b1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (495.6 kB view details)

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

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

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

opentimspy-1.1.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.1.0b1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (495.4 kB view details)

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

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12Windows x86

opentimspy-1.1.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.1.0b1-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.0b1-cp312-cp312-macosx_11_0_arm64.whl (417.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11Windows x86

opentimspy-1.1.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.1.0b1-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.0b1-cp311-cp311-macosx_11_0_arm64.whl (416.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10Windows x86

opentimspy-1.1.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.1.0b1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (489.1 kB view details)

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

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9Windows x86

opentimspy-1.1.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.1.0b1-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.0b1-cp39-cp39-macosx_11_0_arm64.whl (415.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

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

Uploaded CPython 3.8Windows x86-64

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

Uploaded CPython 3.8Windows x86

opentimspy-1.1.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.1.0b1-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.0b1-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.0b1.tar.gz.

File metadata

  • Download URL: opentimspy-1.1.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.1.0b1.tar.gz
Algorithm Hash digest
SHA256 a8f2aca08730d33aac04ee5495b68f1ac1360efd5dd6bb994e80061fab60a146
MD5 bef1b915e3c17ac03d608ea4c07d390f
BLAKE2b-256 f58011d45ca6697868f5bd85c6946108a403ba6dde19cda33038ab415e62fec1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314t-win_amd64.whl
Algorithm Hash digest
SHA256 095060a67e6333907d77d177b16cf438ed4acd2329ee2f8d7b2da869a38f86f7
MD5 a02903e94fa9ea9732cde24c3367edef
BLAKE2b-256 37496fbe035a7cfeb959e6c9e882d4e20035ef0c6b9b1de4833b3059c45c4306

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-cp314-cp314t-win32.whl
  • Upload date:
  • Size: 400.9 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.0b1-cp314-cp314t-win32.whl
Algorithm Hash digest
SHA256 8b449105cd356d5a1576afbca7f1d5765023eaf52acb72b872e79cb09413017b
MD5 22e87aae7eb0c554d25490c0a2a40bf3
BLAKE2b-256 92d0a9a0d6634ca6f781bc837f172e51bd91448cddd174fe43ad02ccfa705339

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 d7ab2ee0bbd8337b975c97b31c662c348aedff7013e9bd66036e143ff8bc9959
MD5 f935dd76b71f32f4d407bda6a5267caa
BLAKE2b-256 fd5530ad606ea63eb3ff96ec65e718dafe7d052955b718cb3cfea034fd912df6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3b42cb4c11908958476860d6401769fd771080f3b62eb2deafb128bdc6527bb6
MD5 a8d8fc2d5c8945098fe519d37f55390f
BLAKE2b-256 326e39c18c82821125079d60b19cc632d34ef7155ae4e302314cb5e820fd2c83

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 307164efcc7506181e2b25e3001efde833e5cd9d9de0e5f4f451c9d53ee3f0d8
MD5 aa8a26e3003bc1d66b97f2ad3492adc9
BLAKE2b-256 dee781780f07521ea7f7234e550dc8a5db24b5571b50e5d40e7b18f500a2b86c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3bef756e6dddc8c4bcd2209d93a4dce8b3479c76f35949834a7763b4256c607e
MD5 ded1ef886e12347f23b77937a2761af4
BLAKE2b-256 5bd70d9db5b4138a8fbd855e7b2f0378b74500c571a2f86f99141dbd37401346

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-cp314-cp314-win32.whl
  • Upload date:
  • Size: 391.3 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.0b1-cp314-cp314-win32.whl
Algorithm Hash digest
SHA256 b053fbf01bbf6eeeb82956737f4ea54ceb1bd0058896b37517811957978b73ee
MD5 d7f12f44042982544da7fc8aecf8bccd
BLAKE2b-256 71ce886fa84e9aa8fba1a751a847012ec0fcf62bcea239975c1955bccf7c4495

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c652c7c3e6f799dd5404b7bb325cee1a46f5c7dc3da313ff700a4925964dc296
MD5 08621f5d97d8d23f335d6be6bcb315e4
BLAKE2b-256 9f0607587864ecdac8f964f81a7df44d99166396a0b56c3c4bd6d10925ba5064

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a9182c13ac54c62727aea634d71f843c6cfd0615d3805f47204e06cdd294c282
MD5 a3756c77901fe8994754485b9713b65d
BLAKE2b-256 2f4736d10859d09c85c2f7aa2f53836f41f9ecaef1445951fff5248620eabb76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dad615fc974b80f2e8c3a85cac0654e911fd06c783ea59e21d148d7ba73d03a0
MD5 dcbb7d87f2d13a94c1e2d0d7034c26ea
BLAKE2b-256 e4f1df6735e790e52e30b5df916ba76f138c31f702c86a0ef63b34ab68d0b5f3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 192c745c4f152fc90a647d10aafcae2c6c95c00612cfdf73ec84cddef1e990bb
MD5 9744cb5160c6473c04096acf6b2dbea9
BLAKE2b-256 ec44d3f5e1fa7e7baf6e987d6234c0868f7d7b77d9c2bca906edc26e20706bd7

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-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.0b1-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 91739cdcc213f79fdb0dd3241fbdd942105db157734dc5719d120dd9bd69df2b
MD5 b27eb016fbd66f0d81992213ad6e66fb
BLAKE2b-256 5cd669f92eb89b27eccdaf0c84b892223b4e936bebe97bc23d21a70666f41e28

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 66a038d1795897d807636e243248500a5c29195fdae32c46b3e9c7a9d472fbd4
MD5 d39a2ed11fccfc0b92aef3eb72d66b1f
BLAKE2b-256 9f8eb31e096dd8a36a6d4cba04237136c9d5a59cd651b14f36d11fd8c6c3c4ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a3ebd24c4dc35abf91e35d40a564eaf3b5057a622fbcbf70734ab5438d480ce9
MD5 2935c0640bb6a25df75baf9d2b3217ec
BLAKE2b-256 cc5b65119bde78fedfa53e69f610ebb07446171248bfba9cafbfe69da3f9663e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a9e32dbcf4bfa472d93b6796394a20ec8e3178c5915be4efba16128fdac81dd
MD5 437bade20a12c69d30cd302d3ca505a2
BLAKE2b-256 9167888b04052eb11f87b7a54192a35e26b9f790703288c7e964046be4674724

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c82504b2da73c0b9b3b2db63261f2b6a5c520f26205b3d034bf7a178c3ca3aed
MD5 e77f7133d34550e0dc51f9fc4c7fdcf8
BLAKE2b-256 4e3fb8d9b037bb50e4293ea129506e58581c650468ef6dd05f26fc4566a85bf0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-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.0b1-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 48680e40bd1f8e4d8198527c4c5be6ade1a350e1d8fed5bf44ee7ac50b85dafa
MD5 056b5aa559258292fd46e43a47602465
BLAKE2b-256 ebfedc90b909db817435e7cee44c5310f3e10c6022fba5c1e2333906fd31b34e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp312-cp312-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e692b83102681eae9bf8a61bc116af8f84bddbf7d8e2c5ec9d7abcef299138de
MD5 42bfcd53ffc0e8b6535693da69fe50a5
BLAKE2b-256 b2b55bb4edee3e0e1bd3111b78cc1a44d3e649a5ad84592a605d3a6bc05e2936

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 70db388ce9bcef1d6dbf35ff757bdae8a9075ae50bd1e16492880a501f13a459
MD5 90453f8f3de2f985ca3befb66bae2fe9
BLAKE2b-256 d491241b2bc00a75dadf865839cb1a13fb6d5df7a7f382dd4a5d4d67f058a095

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a43543d55631c34300ffb056d94800f2cac18b5e1d4f249811db0ea88b8723cf
MD5 1ad90843ce4cf2b2eade85a3a4e61260
BLAKE2b-256 59ead151ccb7c5ba5ddb38cde71cb9b7dea4d939358c7e74bc2d6b35ffe8f42e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 998952b0ddc401e197126be4be37123558b1567f615433801305b9f7165cf7e3
MD5 b94b25246a840ecf265eccee8e644c3e
BLAKE2b-256 1ae66475ee85a28ea206a43fd0ed9a30b0a68e8ecd0eea05d8553c5ad1c6978b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-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.0b1-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 1129c5c29002d8f77ae7a2f1f0b328bc4f4a290fe222d61a8736ce4e092a05c1
MD5 f7d9338511d31c3b867910581bd646e0
BLAKE2b-256 c4b0e8761efcb2224d9b21fd0778406f9047fb1ba06a1660a1f54dc29e30be59

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 455c8d80a14e4a5f374bc4ee05b935017d686ae402fad37a0671d3d73f089786
MD5 2ff03bea67040470184518668d093f8b
BLAKE2b-256 281945faa371d1947974a4284933b6846e83413aefdf7fafb10c1670e0548ef7

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a4536e01f6d7a9ad808cf71a4ef47652d6456c2d1d0854b9e2175399c11bfa50
MD5 21481f11ecc668cdfef567291d30471c
BLAKE2b-256 00411ba639dd8e652c5981d0e37911b6ce58ab2a4def79a0438d775f260493db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 287ac670f35ec52135e01d7b85fdcca9c42438da95ec5d2d93189d6ef0dce6c6
MD5 39010a6db5791773ff10c9eb5903866c
BLAKE2b-256 185add63622186bb89971a2b46e132cc4e8b53e1428e6f149bad695fcbd52cb3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5cf09ae64f96f34f760d0d20351fd3be98604c35e9661cc9f80a3b0a1899c89c
MD5 c31087757157d4d39330c9a6bfbb827d
BLAKE2b-256 108b711b0c2ca084ee89c77de66e0969fe47bb2ab99938f421503803355919d0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-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.0b1-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 18df6cd62bc4ebd64bfbd18958ebbf05bfad2c106a646359fcc82d5635845dca
MD5 503afe5cd885146f00a63e8ae34d8355
BLAKE2b-256 c90aa1dd8237a7e91eb4883843555f7e181f930c26ab05f41fa1a4d3d97cd915

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp310-cp310-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 baea8b26724b983bd89609dc676541b3104e1d4987b0173e416f634b2abc3a76
MD5 adcb5f22f92027cc1c449f139637adcd
BLAKE2b-256 ba8d56d1db320a22067cce4c03a1fc69f0ae9027c0765c1d20d7cb741172b879

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 947e7ec5fccdc9a0a600f7b75b24b0ea3ee59b9290b568db8044f5efb8fbee39
MD5 fc0de37e15be471621ff019490eec986
BLAKE2b-256 2ea1dd28bac5b6514aa38d37d8d3c2051cd9b4f1dda8b78bf75bd4f6e08a6ed3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e50598237c65db14b1f453ead92e7f74ed7479995c3cebd47112479201516eb0
MD5 5d5999847f43ca3cf85ab92ed7860434
BLAKE2b-256 47e015a25605ce30a285e5b2457e737486e71675baa4b24bf2604aa6120076f3

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 408.2 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.0b1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 4f35a093112c73b0dfda76cbbeb58b02cace7159ad721805712f446222b11649
MD5 01e90419132e39cd02e0ca9f10b5f9cc
BLAKE2b-256 86dfa64fa6501f1f1b7762ee6c79f27160d957a4329380ea883b842943677228

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-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.0b1-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 f09810655e24650e2bdaaa4a4a5eee54ac117ebf7a02854275483202cde23457
MD5 e7abbd96afd80f0e996e7820da6f9e45
BLAKE2b-256 563a65831195660f95051bda2807c51cbf05de92dcad106fe805a3bdb439f501

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp39-cp39-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 eb4bdeb20f4b467e622b94be5ba6fbe0d2a6dab0dcbe96ec51222d7c056a7403
MD5 354379068bef1e03b82071fe1b09e4e0
BLAKE2b-256 e3298226f7826da4ef90294125d0dd77e801fc15fd7a9acfec41a4cdd048e2f9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1a7ba481e7c6166ed471a84b5ef6cd4db35ff2e8f1eb9736b9b6d02bac28031c
MD5 abc150655732995f68812a099fb78958
BLAKE2b-256 69b61413b51a9a344b4901f4bf4baf6638c7088d9bb34337d2e9d80dfbc23a67

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cb07dccd020664a1d1e838ccfac70b66ac3891ef16c8780a76a40602a6558b69
MD5 ad28f7ad388ab2c406fd5f39ed14b26f
BLAKE2b-256 7d5e71d4f7725d3b817d6749be05be19ee2727c2763ee056edc647d037e8cf8d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-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.0b1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 04449df084c75b6a1ddcd59e7aae68183214b1f7ba1e639e3dfd9fe5648e58c2
MD5 c14cd7abb0c55e0d4a362fd13e810afb
BLAKE2b-256 20228a51a53812a40192da857f8d42b46ade6c361b8cd5c73903e988cceeb33e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: opentimspy-1.1.0b1-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.0b1-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 d4add28136effff2cea27109ac8cc2efa543acba77c80e8f798370ae1ea98d69
MD5 4ba6d107194912d8f9a7f61e0dc5c905
BLAKE2b-256 e4008166fb302bbc4af22fa18a8c1409d772759dc07ccaf858ee4a040a1b2d21

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp38-cp38-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7e94d86fcc56c4ec4bb4f5e71e13e2cc1430b6a273c1a1ecadde0ba7ccb85703
MD5 692b6e79e86c248b64faab6279267879
BLAKE2b-256 0730ca9fbd661ef6f0c8b60dd34d4c32bff9e43f023e4f84553840f6cac5e68f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 cf506ebce089424872f00d4e5c7f904a04274d0e5ebd9c67531aa556ac7911fc
MD5 5c7a295f4514787cc2ae286455f31fc1
BLAKE2b-256 0bff75f0b2ba70a4572551ba3bf0a8fd373a9c2a4589b192a49b08875f2a4275

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for opentimspy-1.1.0b1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd4b6494f0485a73846fadf7ec48f3a67d175b723966cef15ce73962067a96a9
MD5 541621d71341a31cc35288313a09605a
BLAKE2b-256 8eec17820ad8cbde1aa39fc3e20251c3d8b98fd45d66a2863fd296baa69bcdeb

See more details on using hashes here.

Provenance

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