Skip to main content
https://zenodo.org/badge/24356894.svg

To learn more about pyspecdata, you can head over to the documentation.

If you already know that you want to install, see Installation

Please note this package is heavily utilized by three other packages that our lab manages on github:

We have somewhat recently added fast compiled Fortran functions for things like 2D ILT (Tikhonov regularization with basis set compression) for NMR (Nuclear Magnetic Resonance), so please read the install instructions carefully!

pySpecData

Object-oriented Python package for processing spectral data – or in general, n-dimensional data with labeled axes (i.e. N-dimensional gridded data or “nddata”). It depends on numpy, which provides very fast manipulations of N-dimensional gridded arrays (“ndarray”). This package has some overlap with xarray, but it doesn’t attempt to mimic pandas notation, shooting instead for very compact notation for natural slicing, etc. It mainly focuses on making it easier to quickly write good code for processing spectroscopy data. In particular, it takes care of various features related to fourier transformation, error propagation, and direct products in multidimensional data with little to no interaction from the user.

If you are working in a lab developing new spectroscopic methodologies, then this package is definitely for you. If you deal with multi-dimensional data of some other form, then it’s likely for you. Features include:

Features

  • Labeled axes allow one to manipulate datasets (potentially with different dimensions) without having to explicitly keep track of what the different dimensions correspond to. Code becomes more legible. Also, tiling, direct product, and gridding functions become obsolete.

  • Fourier transformation with automatic manipulation of axes.

  • Automatic error propagation.

  • Commands like plot(data) will generate a plot with automatically labeled axes, errors, and units. All of this information is also written to HDF5 when the data is saved.

  • Simplified curve fitting that takes advantage of labeled axes and Python’s symbolic algebra package (sympy).

  • The code is written so that it can be integrated into a nicely formatted PDF lab notebook.

    • The same code can be run on the command line (to generate pop-up plot windows) and embedded into a LaTeX document.

    • Extension to other output formats, such as HTML or markdown, should be relatively straightforward.

  • In a multimedia environment like jupyter, you don’t need a separate plot command. The code can automatically choose a plotting style appropriate to the code (eventually, the general preferences for this can just be configured at the beginning of the jupyter notebook).

More detailed web documentation will be coming soon.

NMR/ESR specific

Because it was written primarily for NMR and ESR data, it also includes:

  • Routines for reading commercial raw data (e.g. Bruker, Kea) into nddata objects with all relevant information.

  • The object-oriented features make it much easier to process raw phase-cycled data and to simultaneously view multiple (potentially interfering) coherence pathways.

  • Contains functions for baseline correction, peak integration, etc.

  • (Not yet in packaged version) A basic compiled routine for propagating density matrices that can be used to predict the response to shaped pulses.

Version Notes

Note that the current version is intended just for collaborators, etc. (Though, if you do really want to use it for interesting science, we are happy to work with you to make it work for your purposes.) A public-use version 1.0.0, to be accompanied by useful demonstrations, is planned within a year. (Note that the email currently linked to the PyPI account is infrequently checked –if you have interest in this software, please find J. Franck’s website and contact by that email.)

Roadmap.

Installation

We have worked out deployment using github actions. This means that you can now just do pip install pyspecdata!

Some notes:

  • Most likely, you will want to make sure you have pyqt installed so you can run pyspecdata_dataconfig (a GUI as of Nov 25). This controls the file-finding mechanism in pyspecdata, which allows you to run the same code on different computers, where you’ve put the data in different locations.

  • We require numpy 2.0. This might mean you will need to upgrade ALL packages that depend on numpy, so that they can support numpy 2.0. Or, if you enjoy putting off the inevitable, make a separate environment.

Notes for Development install

Important note: the package ships Fortran-based extensions that are used to provide fast ILT methods. We believe this is a useful feature. Unfortunately, while the instructions below work for most cases, not everyone’s system is set up equally well for Fortran compilation. If you experience difficulties, and are interested in messing with the code, please don’t hesitate to reach out to us at jmf356 [at] cornell.edu. We’re always happy to test the code for new applications! Fortunately if you just want to use the library, not develop/tweak it, pip install pyspecdata should now satisfy your needs (i.e. you don’t need the development install).

we would be happy for the opportunity to test distribution on new platforms! In all situations, note that this is a development library that works very well in our hands – we are happy to hear from you and work with you to try to broaden its applicability!

On Windows with Anaconda 3.X, just run:

  • Remember that for new installs of anaconda, you need to turn off the python “execution alias” in windows to prevent windows from overriding all the importnat commands! Also, all of below are tested in the “anaconda prompt” in admin mode.

  • conda install -y -c anaconda numpy scipy sympy pyside6 pytables matplotlib h5py libpython

  • conda install -y -c conda-forge gcc_win-64 gfortran_win-64 binutils_win-64

    • If you’ve installed before, you might need to first do conda remove -y m2w64-toolchain (this is an older toolchain that breaks with numpy 2.0)

    • (the libpython and all the packages on this line are for building compiled extensions such as the ILT).

    • On an ASUS Vivobook, conda looks like it’s completely dead, but it’s not → just be patient and give it an hour. (If you look online, you’ll find plenty of info about how sloooooow conda is now, especially for conda forge, and can find some advice on using the mamba drivers to speed it up, though on a cheap new computer with windows 11 JMF has had very little luck.)

  • conda install -y meson meson-python ninja (the new build system to replace distutils)

  • Note: pip --version must be greater than 21.3 (this is what you need for an editable install using meson).

    • If it’s not, run conda update pip

Then follow the installation for developers below. We have a package on pip, but it currently lags behind the github repo.

On CentOS7, we’ve tested yum install python-matplotlib python-devel sympy h5py python-tables scipy (after running yum install epel-release to install the EPEL distribution). Install PySide6 separately if you want the Qt GUIs, then follow the installation for developers below.

On Debian, we’ve tested sudo apt-get install -y python3 python3-matplotlib libpython3.7 python3-dev python3-sympy python3-h5py python3-tables python3-scipy python3-setuptools gfortran pip. Then follow the installation for developers below.

On Ubuntu, we’ve tested: sudo apt update

  • If you are not using miniconda or something like that, then do: sudo apt install -y python3 python3-venv python3-dev gfortran libhdf5-dev meson ninja-build - This allows you to: python3 -m venv ~/.venv to create and environment and then switch to it with source ~/.venv/bin/activate (b/c more recent versions of python really don’t like to distribute packages over apt, and prefer to distribute them over pip)

  • If you are using miniconda, etc, we’ll rely on that, but you still need the modern build tools: sudo apt install -y gfortran libhdf5-dev meson ninja-build

  • Finally, in either case, make sure you have recent versions of all the packages we need: pip install 'numpy>=2.0' matplotlib sympy h5py tables scipy pint meson-python

On MacOS, if you want to install as a developer your python distribution needs to have a working Fortran compiler, since some of the modules use Fortran. We have tested conda install -c conda-forge fortran-compiler, followed by conda install -y -c anaconda numpy scipy sympy pyside6 pytables matplotlib h5py. However due to a problem with more recent versions of MacOS/xcode, you need to modify setup.py to tell it where to find the system libraries. At about line 27, you need to add something like following as a keyword arg for the Extension function: library_dirs = ["/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib"], (we recommmend just using keyword completion to find a similar directory that exists). (Feel free to contact us if you have issues with this or would like to test deployment on pip for a Mac).

More generally, these instructions are based on the fact that it’s Highly Recommended that you install the following packages using a good package-management system (conda or linux package manager), rather than relying on pip or setuptools to install them:

  • numpy

  • scipy

  • sympy

  • pyside6 (for the Qt GUIs)

  • pytables (in future work, we hope to eliminate dependence on this package)

  • matplotlib

  • h5py

  • lmfit

  • The python libraries, and a Fortran compiler. Under anaconda, these are supplied by libpython and mingw, respectively.

  • If you plan on building the documentation, you also want sphinx_rtd_theme sphinx-gallery

(If you don’t install these packages with your system pip will try to install them, and there is a good chance it will fail – it’s known not to work great with several of these; setuptools should error out and tell you to install the packages.)

mayavi: Mayavi can be used (and gives very nice graphics), but frequently lags behind common Python distros. Therefore, this package was written so that it doesn’t depend on mayavi. Rather, you can just import mayavi.mlab and pass it to any figure list that you initialize: figlist_var(mlab = mayavi.mlab)

Installation for developers

To install pySpecData from github, just git clone https://github.com/jmfranck/pyspecdata.git.

Then switch over to the anaconda prompt (as administrator, if you are installing system-wide), move to the directory where pyproject.toml lives (root directory of repository), and type pip install --editable . --no-build-isolation. Make sure that this terminates with a successful message, and without any compilation errors. In particular:

  • If it gives an error about permissions (will happen for a system-wide anaconda install), you need to load the anaconda prompt as admin (right click and run as administrator).

  • Near the end (above EXT compiler optimization) it should tell you that you can run pyspecdata_dataconfig. You should do this, unless you’ve installed pyspecdata before on the computer you are working at.

Important notes for conda on Windows:

  • Warning Before running the installation for developers, you must first check that the output of conda info on your git bash terminal matches the output of your anaconda prompt.

  • For reasons that we don’t understand, the Fortran compiler can give odd errors, depending on which terminal you are using to install. This appears to be Windows’ fault, rather than conda’s (?). We highly recommend trying both the Anaconda prompt, as well as the standard dos prompt (press start: type cmd) if you experience errors related to compilation.

  • If you want to build the documentation, run: conda install -y -c conda-forge sphinx sphinx-gallery

Data File Management

pySpecData is designed to run the same script on different computers, where the required data files might be stored in different paths on the different computers.

The basic strategy is that you enter information on how to find your files in the _pyspecdata config file (typically this is only required once, at setup), then the find_file and search_filename functions can use this info to find your files.

Setting up your _pyspecdata configuration file

New 0.9.45 (Nov ‘25): as long as you have pyqt installed, pyspecdata_dataconfig will now open a GUI that helps manage all the following.

Part of the pySpecData package is the datadir module, allowing the user to run the same code on different machines - even thought the location of the raw spectral data might change. This is controlled by the ~/.pyspecdata (unix-like) or ~/_pyspecdata (windows) config file, which looks like the following.

[General]
data_directory = /home/jmfranck/exp_data
qesr conversion = 162.66
qesr diameter = 0.704
qesr q = 4700

[ExpTypes]
odnp_nmr_comp/odnp = /home/jmfranck/exp_data/NMR_comp/ODNP

[mode]
figures = standard

[RcloneRemotes]
nmr_comp/odnp = jmf_teams:General/exp_data/NMR_comp/ODNP/

The General section points to the directory with the datasets of interest whether that is the direct path to the drive with the datasets or if you prefer Rclone, this data_directory points to your local folder of datasets. (This is also a good spot to include, e.g. proportionality constants for QESR, which we have done here, and which are utilized in the proc_scripts repo.)

The ExpTypes section gives the various locations to folders containing the appropriate data sets - either pointing to the cloud storage or pointing to the local directory your rclone adds files to. So when you call odnp_nmr_comp/odnp this will point to the actual location, /home/jmfranck/exp_data/NMR_comp/ODNP

Note that it’s possible to point the different exp_type directly to shared drives or to synced folders (google drive, onedrive, etc.), pySpecData also offers a (we think superior) method that downloads local copies of files on-demand using rclone. The new GUI makes it easier to set up different rclone remotes (e.g. different cloud resources at different schools or shared by different people) for different experiment times.

Obviously, you need to install rclone and add it to your path to do this (see next subsection). Rclone is an amazing tool that can be configured to talk to virtually any type of cloud storage (Google Drive accounts, OneDrive and SharePoint accounts, etc.)

Setting up Rclone

To get set up with Rclone, download Rclone and follow the documentation which should include running the command rclone config enabling you to set up the location and name of the cloud drive you wish to pull from. The documentation of rclone is pretty straightforward and can walk you through this. If you are at an academic institution, we highly recommend asking your IT department for a protocol for connecting rclone to your cloud storage of choice.

As of Nov 0.9.45 (Nov 2025), the GUI presents all the rclone remotes in columns right next to your experiment types. Just pick an rclone remote from the drop-down and then give the directory on the remote in the text entry box to the right.

But, to explain how this works in the config file: Inside the RcloneRemote section of your config, each key/variable points to a properly configured remote that was set up with rclone– e.g., jmf_teams here is a properly configured remote that shows up in response to the shell command rclone config. Note: as you require datasets from other folders you will need to make new folders locally to match for Rclone. You will receive error messages that guide you to do this, and you should follow them. For example, if you required a dataset from exp_data/francklab_esr/alex you will need to go into your local exp_data folder and add a new folder called francklab_esr/alex

Notes on compilation of compiled extensions

We recently added a compiled extension that performs non-negative least-squares for regularization (DOSY/Relaxometry/etc.)

Under linux or mac, you should have a gcc and gfortran compiler installed, and should make sure you have libpython for this to work.

Under anaconda on windows, we have run into some trouble sometimes where it gives you an error 127. We recommend using the normal dos command prompt (cmd) to install pyspecdata, and make sure that your path is set such that where gcc yields a gcc.exe (NOT .bat) file and where python yields the anaconda python executable. (Recent versions of mingw appear to put .bat files in a preferential location in the path, and these .bat files seem to mess everything up, including compatibility with the git bash prompt.)

Further installation notes

Upon upgrading from Python 2.X to 3.X, we made some notes in conda_upgrade.md; this includes some useful (but possibly dated) instructions on how to implement different environments in anaconda, how to deal with AppLocker permissions, and Windows permissions generally, if you run into any of these issues.

Open an issue!

If you have issues with installing or using pyspecdata, don’t hesitate to open an issue on this page!

Metadata

Release files for pyspecdata 0.9.45.16

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

Source distribution (sdist)

Source distribution for pyspecdata 0.9.45.16
File Size Uploaded Provenance Actions
pyspecdata-0.9.45.16.tar.gz 41.9 MB Without provenance Details for pyspecdata-0.9.45.16.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for pyspecdata 0.9.45.16
File Actions
pyspecdata-0.9.45.16-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details for pyspecdata-0.9.45.16-cp314-cp314-win_amd64.whl
pyspecdata-0.9.45.16-cp314-cp314-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 Linux musl 1.2+ x86-64 Details for pyspecdata-0.9.45.16-cp314-cp314-musllinux_1_2_x86_64.whl
pyspecdata-0.9.45.16-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pyspecdata-0.9.45.16-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyspecdata-0.9.45.16-cp314-cp314-macosx_26_0_arm64.whl CPython 3.14 CPython 3.14 macOS 26.0+ ARM64 Details for pyspecdata-0.9.45.16-cp314-cp314-macosx_26_0_arm64.whl
pyspecdata-0.9.45.16-cp314-cp314-macosx_14_0_arm64.whl CPython 3.14 CPython 3.14 macOS 14.0+ ARM64 Details for pyspecdata-0.9.45.16-cp314-cp314-macosx_14_0_arm64.whl
pyspecdata-0.9.45.16-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for pyspecdata-0.9.45.16-cp313-cp313-win_amd64.whl
pyspecdata-0.9.45.16-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for pyspecdata-0.9.45.16-cp313-cp313-musllinux_1_2_x86_64.whl
pyspecdata-0.9.45.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details for pyspecdata-0.9.45.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyspecdata-0.9.45.16-cp313-cp313-macosx_26_0_arm64.whl CPython 3.13 CPython 3.13 macOS 26.0+ ARM64 Details for pyspecdata-0.9.45.16-cp313-cp313-macosx_26_0_arm64.whl
pyspecdata-0.9.45.16-cp313-cp313-macosx_14_0_arm64.whl CPython 3.13 CPython 3.13 macOS 14.0+ ARM64 Details for pyspecdata-0.9.45.16-cp313-cp313-macosx_14_0_arm64.whl
pyspecdata-0.9.45.16-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for pyspecdata-0.9.45.16-cp312-cp312-win_amd64.whl
pyspecdata-0.9.45.16-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for pyspecdata-0.9.45.16-cp312-cp312-musllinux_1_2_x86_64.whl
pyspecdata-0.9.45.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pyspecdata-0.9.45.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyspecdata-0.9.45.16-cp312-cp312-macosx_26_0_arm64.whl CPython 3.12 CPython 3.12 macOS 26.0+ ARM64 Details for pyspecdata-0.9.45.16-cp312-cp312-macosx_26_0_arm64.whl
pyspecdata-0.9.45.16-cp312-cp312-macosx_14_0_arm64.whl CPython 3.12 CPython 3.12 macOS 14.0+ ARM64 Details for pyspecdata-0.9.45.16-cp312-cp312-macosx_14_0_arm64.whl
pyspecdata-0.9.45.16-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for pyspecdata-0.9.45.16-cp311-cp311-win_amd64.whl
pyspecdata-0.9.45.16-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for pyspecdata-0.9.45.16-cp311-cp311-musllinux_1_2_x86_64.whl
pyspecdata-0.9.45.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pyspecdata-0.9.45.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyspecdata-0.9.45.16-cp311-cp311-macosx_26_0_arm64.whl CPython 3.11 CPython 3.11 macOS 26.0+ ARM64 Details for pyspecdata-0.9.45.16-cp311-cp311-macosx_26_0_arm64.whl
pyspecdata-0.9.45.16-cp311-cp311-macosx_14_0_arm64.whl CPython 3.11 CPython 3.11 macOS 14.0+ ARM64 Details for pyspecdata-0.9.45.16-cp311-cp311-macosx_14_0_arm64.whl
pyspecdata-0.9.45.16-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for pyspecdata-0.9.45.16-cp310-cp310-win_amd64.whl
pyspecdata-0.9.45.16-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for pyspecdata-0.9.45.16-cp310-cp310-musllinux_1_2_x86_64.whl
pyspecdata-0.9.45.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pyspecdata-0.9.45.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyspecdata-0.9.45.16-cp310-cp310-macosx_26_0_arm64.whl CPython 3.10 CPython 3.10 macOS 26.0+ ARM64 Details for pyspecdata-0.9.45.16-cp310-cp310-macosx_26_0_arm64.whl
pyspecdata-0.9.45.16-cp310-cp310-macosx_14_0_arm64.whl CPython 3.10 CPython 3.10 macOS 14.0+ ARM64 Details for pyspecdata-0.9.45.16-cp310-cp310-macosx_14_0_arm64.whl
pyspecdata-0.9.45.16-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for pyspecdata-0.9.45.16-cp39-cp39-win_amd64.whl
pyspecdata-0.9.45.16-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for pyspecdata-0.9.45.16-cp39-cp39-musllinux_1_2_x86_64.whl
pyspecdata-0.9.45.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details for pyspecdata-0.9.45.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
pyspecdata-0.9.45.16-cp39-cp39-macosx_26_0_arm64.whl CPython 3.9 CPython 3.9 macOS 26.0+ ARM64 Details for pyspecdata-0.9.45.16-cp39-cp39-macosx_26_0_arm64.whl
pyspecdata-0.9.45.16-cp39-cp39-macosx_14_0_arm64.whl CPython 3.9 CPython 3.9 macOS 14.0+ ARM64 Details for pyspecdata-0.9.45.16-cp39-cp39-macosx_14_0_arm64.whl

Total release size: 86.8 MB

Release files / pyspecdata-0.9.45.16.tar.gz

Download URL pyspecdata-0.9.45.16.tar.gz
Size 41.9 MB
Tags Source
SHA-256 checksum
How to use checksums
96d86bb8c98b8fb633a8d319b44189d0783778dba33e147f01283e1f0944b69c
BLAKE2b-256 checksum
How to use checksums
6d36d603d0b247a6acb103139df090f7b867bc43a881faf213f09fabb97da679
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp314-cp314-win_amd64.whl

Download URL pyspecdata-0.9.45.16-cp314-cp314-win_amd64.whl
Size 1.9 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
cc251873f66381990205527cf59483f1aa75f926c5e4439a8c1c6080363c7306
BLAKE2b-256 checksum
How to use checksums
a373755412deabb2335ddb46812e9dbd11c46400dbaead5c90f07987150844bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp314-cp314-musllinux_1_2_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp314-cp314-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.14 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
b5be1b4180b9df4fd3c6ab33072eb592286f80582f091da7ae3ad445d2b57853
BLAKE2b-256 checksum
How to use checksums
17efb7d316d0ee2534369aea8d89c09c8d31dd9753d5800c9ada7406a3980811
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
18c72ccebcd6bc80dfc0c380eba1843cff6620f24ec11c642aac4eb1980f285e
BLAKE2b-256 checksum
How to use checksums
f9e416d02a66e61daaf98a8b20d4723ffaf07997b24589758a67cd5809fe0004
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp314-cp314-macosx_26_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp314-cp314-macosx_26_0_arm64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
2d8b3db73d63283f1a9b6874f0c68800f9e03934f47bd2ac48044657ef769153
BLAKE2b-256 checksum
How to use checksums
8d3a169e1e017cf71fb9027d7c9954cf02630d3ab845dd041db4ca80bfd4d3c8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp314-cp314-macosx_14_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp314-cp314-macosx_14_0_arm64.whl
Size 1.2 MB
Tags CPython 3.14 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
39f4277faf81caab3238a3dd00ff7535b493f415927318070133b3108e85655d
BLAKE2b-256 checksum
How to use checksums
bec9a594b2c1a4c07717c9101617dfcca462a04f8a0d23d32ec8664f7a8ddb1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp313-cp313-win_amd64.whl

Download URL pyspecdata-0.9.45.16-cp313-cp313-win_amd64.whl
Size 1.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
474d5836d900adbe7c1464a81634e27d4c60f7d039c12665524bc68f13bc4365
BLAKE2b-256 checksum
How to use checksums
52b13fe55db5fbb5be6ae53a10278a4a7c48979b321a1c75efd185ce2969fe0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp313-cp313-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6d72de502f115fe6a038835531e68530c3ba165772a443c7bc9f3da5f832a2b3
BLAKE2b-256 checksum
How to use checksums
475b77c44442e26b87769f68209ee3a7212270c8aead71764615d1dc037331fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3603b08e90aa2c90edaca679c3d4e4eb974e06a35e4b850111c4064202a98124
BLAKE2b-256 checksum
How to use checksums
5cefec6e94fad873028041398d04b8247ab34e9ac51804f26b988f79d24d8094
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp313-cp313-macosx_26_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp313-cp313-macosx_26_0_arm64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
ade2ed78a28806e92d3dc1a3ba93c1cc4fee256d26d3653c44fd5e853cbfcac9
BLAKE2b-256 checksum
How to use checksums
01c53606ff847d66f8c509faf6ebddad2599b21916718746ea73fcd01b596eec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp313-cp313-macosx_14_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp313-cp313-macosx_14_0_arm64.whl
Size 1.2 MB
Tags CPython 3.13 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
61482e86bf94841bdf21d815795ee0aeedf84b29ffc26d6c79290661877be10d
BLAKE2b-256 checksum
How to use checksums
072834b72bf848d44ce0bbcfe43bdcc701d587941ff0efad1da0051f2147c050
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp312-cp312-win_amd64.whl

Download URL pyspecdata-0.9.45.16-cp312-cp312-win_amd64.whl
Size 1.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
2438940cb9af3ef189fb2e24f80e23444f61e0f253b16110a34c975c4c2bb2e7
BLAKE2b-256 checksum
How to use checksums
cbfbe797edc850b4279b300716e16fa32a000eee45d253893298f93797906a60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp312-cp312-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bb35d10e88e9e8383685cbc08ea593a1456e3f117d8c01c81339b47766cd21a7
BLAKE2b-256 checksum
How to use checksums
9f8c497a8a45b5d4c9c5c60329bbf31547cd09ecc073a45ba90a50513e4721e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
c30a94344865c23989606c7e7b094adf287e39f7c054e22b17a4f21f80574810
BLAKE2b-256 checksum
How to use checksums
3a350096ebf57eac6139b2dd0c36366d474491af920d5eba8ca67f1033d46ed5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp312-cp312-macosx_26_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp312-cp312-macosx_26_0_arm64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
c723a1b792f879a4c0b877e4a6ad30508febbd751c9b23c787a72f3bf0ffeb00
BLAKE2b-256 checksum
How to use checksums
a036bb1edb160c163960b6549d0bafb1501b874ab5a2c71a1dc45d2934b4a8a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp312-cp312-macosx_14_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp312-cp312-macosx_14_0_arm64.whl
Size 1.2 MB
Tags CPython 3.12 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
ffdbf980ffa5b1a0700f4a08ec96062f3ba1d83bdceefbefb3454d637b2622bd
BLAKE2b-256 checksum
How to use checksums
ea504c73bc6488302f56aece073cfcc3f13c8facf77f0378aa6968dee596215b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp311-cp311-win_amd64.whl

Download URL pyspecdata-0.9.45.16-cp311-cp311-win_amd64.whl
Size 1.9 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
1a69dcf239998cac10e5b7cac09b2c7285bd390b0145213687bb29a4c1072d59
BLAKE2b-256 checksum
How to use checksums
1f777e4ed43975a7879f889304a3faf6925fce6473aacab426329f0cf4f87973
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp311-cp311-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
af7798e0b77efb52fba60890bbc4783873e6598d1449af8c2222ae77b826d48e
BLAKE2b-256 checksum
How to use checksums
80d445928df034605807e2cfab161a45e55965e5b2a5c805906e970c5c0d4b6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ed0ae9580c050cc8afdf84314f9e8eb25bae4607ee5b257363fcd06b89642084
BLAKE2b-256 checksum
How to use checksums
ce011c446c881c53099f01af2af658bf97a2ad70ec6364bfbde5853f73435c0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp311-cp311-macosx_26_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp311-cp311-macosx_26_0_arm64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
2afdf970bbbacf9ee7a712b673b5fed5dbd6f72ec9683cfe300f71f17c5a8517
BLAKE2b-256 checksum
How to use checksums
39579a749844ae2847d3bf01431a0e2a775be28fb08fba18172b4048cf70bd67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp311-cp311-macosx_14_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp311-cp311-macosx_14_0_arm64.whl
Size 1.2 MB
Tags CPython 3.11 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
f692a03979713b22e77ec37e490f42a7248053b41794ef2f980a27ff337e3de1
BLAKE2b-256 checksum
How to use checksums
230e9d6b98ea29fdb4a8f8764053c2eeae4794208b93b18f7525dc7a67a84997
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp310-cp310-win_amd64.whl

Download URL pyspecdata-0.9.45.16-cp310-cp310-win_amd64.whl
Size 1.9 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d791e2d7d822f940a3817964d8c8faeebb41728fee5ee8b7451412730870272b
BLAKE2b-256 checksum
How to use checksums
3d066b33ae157ea7a12df18d371015506eddcb868076a8639877de365524bd6a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp310-cp310-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
225c17e7b2ac85756e7c0a4c6b2045541c8431d10fa5a3c0e8cf47d64c696856
BLAKE2b-256 checksum
How to use checksums
2b9d9bdf20a334f22459ea4713d220eefe0eea50c319a44bf59256380beef996
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
fce17e3f5e6c4f023d30ea076d7a4b003685a3a24290f0ffc493d30ec01496e3
BLAKE2b-256 checksum
How to use checksums
66c18598d23437b25b2f6b192e77e93147053975fd0b9bbb0f42336b1d6b5e61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp310-cp310-macosx_26_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp310-cp310-macosx_26_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
6ea991b882cee500a0dffcce0e554b41f739ff3edf973d0256e0e4271285ab6b
BLAKE2b-256 checksum
How to use checksums
08a283b79c67261b4780ff121d049b6cf6b71e1083007ae6cab746fb8b71e497
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp310-cp310-macosx_14_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp310-cp310-macosx_14_0_arm64.whl
Size 1.2 MB
Tags CPython 3.10 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
83eb4e35db502267cde7596042892b390483b35540481d2c10376e74b83c59d9
BLAKE2b-256 checksum
How to use checksums
16efb380a7c84f594ea46d0db4ce256639bb3c343ecb9980103bef6db599528b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp39-cp39-win_amd64.whl

Download URL pyspecdata-0.9.45.16-cp39-cp39-win_amd64.whl
Size 1.9 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
12fae22b9f596a8e24ff8604dd04706632cdbe47e3b069d9014d617a2b57b41d
BLAKE2b-256 checksum
How to use checksums
36015e20943ed56cca098487a48fcde83667618aecae6e5bc14b857b42c01301
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp39-cp39-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
05ed3598dd399f8e0543ca8d2b559c00a26fc58455c1b52b1b6ff82ba89b0c11
BLAKE2b-256 checksum
How to use checksums
3ec1a21b2bce6289742d2e50b3ae2053ba179b81dfa040869a223aa6b49bf067
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pyspecdata-0.9.45.16-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 1.5 MB
Tags CPython 3.9 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
23c0802ddbf2527000c40b2e1ebc6040f61a2b03bbdecff6930a87b2556db7f1
BLAKE2b-256 checksum
How to use checksums
2fc0c12d63c1d3ec1ea09a2aed2f512c3cd46f6651999df30c75d2983a7d2f56
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp39-cp39-macosx_26_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp39-cp39-macosx_26_0_arm64.whl
Size 1.2 MB
Tags CPython 3.9 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
422c10f89202b686f5f1836f87aeaff8ffc091d118bdb3aa78673712d7cce654
BLAKE2b-256 checksum
How to use checksums
69fa9a7f6d1cfa7fac003ca9c6f94ebc8b9cc63cf77f81f8f4b2d29b63e36774
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyspecdata-0.9.45.16-cp39-cp39-macosx_14_0_arm64.whl

Download URL pyspecdata-0.9.45.16-cp39-cp39-macosx_14_0_arm64.whl
Size 1.2 MB
Tags CPython 3.9 macOS 14.0+ ARM64
SHA-256 checksum
How to use checksums
e9e8ea1ed0c57f6dbf76fd458c5bd1d420eb73b8af180f49d27655a2addd62b0
BLAKE2b-256 checksum
How to use checksums
763ccf26d3f9923ced59007339b46dc7193df2c3e4108788da7ac660716a5252
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for pyspecdata 0.9.45.16

Provenance

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

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

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

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

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page