vitrio
vitrio is a high-throughput image I/O library tailored to the access patterns and file formats common in Cryo-Electron Microscopy (CryoEM). It is made for programs that go through a lot of images: it loads and stores them in batches, on several threads, and puts the pixels straight into memory you already have, be it a NumPy array, a tensor from PyTorch or another ML framework, or your own buffer in C++.
It is a C++14 library with a Python package on top.
import vitrio as vio
micrograph = vio.read("/path/to/micrograph.mrc")
movie = vio.read("/path/to/movie.tif")
vitrio is young. It grew out of the image I/O of rexlib, and its API may still change before 1.0.
What it does
- Reads and writes whole files, single images of a stack, and batches of images that may be spread over many files.
- Crops patches around a list of coordinates, for instance the particles picked on a micrograph.
- Runs batches on a thread pool and gives you something to wait on, so several can be in flight at once.
- Converts between data types on the way, so a file of 16-bit integers can
land in a
float32array. - Shares memory with anything that speaks DLPack or the buffer protocol. Nothing is copied on the way in or on the way out.
- Feeds images and their metadata to PyTorch or JAX in shuffled batches, with the next batches read in the background and no worker processes.
- Keeps a copy of what has been read in RAM or in a memory-mapped file, so that going back to the same images does not hit the original files again.
- Takes new formats without changes to the library: a format is a class that registers itself.
Supported formats
| Format | Read | Write | Extensions | Notes |
|---|---|---|---|---|
| MRC | yes | yes | .mrc, .mrcs, .map; also .st, .rec and .ali when reading |
Images, volumes and stacks of either. 8- and 16-bit integers, 16- and 32-bit floats, complex. Either byte order. |
| TIFF | yes | yes | .tif, .tiff |
Classic and BigTIFF, with one page or many. Integers and floats up to 64 bits, complex. |
| EER | yes | no | .eer |
The events of an electron-counting detector. It can provide access to a raw electron-event timeline or seamless rendering into a movie of arbitrary fractionation. Supports compression 65000, 65001 and 65002. |
| DM (DigitalMicrograph) | yes | no | .dm3, .dm4 |
Versions 3 and 4, as Gatan Microscopy Suite writes gain and dark references. Images and stacks of them. Integers, floats and complex; RGB and packed complex are not read. Either byte order. The thumbnail is skipped, and only the first image of a file is read. Versions 2 and 5 are not read. |
A file is recognized by its contents where the format allows it, and by its extension otherwise. TIFF and EER go through libtiff and can be left out of a build. More formats will follow.
Installing
pip install vitrio
There are wheels for Linux (x86_64 and aarch64), macOS (Apple silicon and Intel) and Windows (x86_64), for Python 3.10 and newer. They carry everything they need. On any other platform pip builds the package from source, which takes a C++ compiler and access to the network: the libraries vitrio needs are fetched and built with it.
The C++ library is built from source for now.
Using it from Python
The reference of the package is at
gigabit-clowns.github.io/vitrio/python,
built from its docstrings, which help() and your editor show too.
read works the format out from the file and returns an array that NumPy,
PyTorch and the rest use without a copy.
import numpy as np
import torch
import vitrio as vio
micrograph = vio.read("micrograph.mrc", data_type=np.float32)
pixels = np.asarray(micrograph) # the same memory, not a copy
tensor = torch.from_dlpack(micrograph) # and again
vio.write_single(pixels, "copy.tif")
Reading many images is done in batches, on a thread pool, and the _async
functions return right away with a completion to wait on, so that the next
batch is on its way while you work on the current one. Patches are cropped
out of an image around a list of centres the same way, and a scratch keeps
the images a program goes back to in RAM or in a file. Each of those is
shown in a small program under examples/.
An array can be anything that hands out host memory through DLPack or the
buffer protocol: a NumPy array, a PyTorch or JAX tensor, a memoryview. It
is read or written where it is, views included.
A movie of an electron-counting detector, such as an EER file, holds the events the detector counted rather than images. It is read through a provider that cuts its frames into as many fractions as you ask for:
readers = vio.detector_event_image_reader_provider(40, binning=2)
movie = vio.read("movie.eer", readers, data_type=np.float32) # 40 fractions
Feeding a model
vitrio.data reads a dataset for training in batches. A Dataset is rows
of named fields: images read from files, and whatever metadata goes with
them, such as the CTF, the pose or the class of each particle. vitrio
parses no metadata file itself. It takes what you parsed it into, such as
the columns of a DataFrame from starfile.
A DataLoader goes through it in shuffled batches, as dicts of NumPy
arrays, PyTorch tensors or JAX arrays, with a few batches in flight on a
thread pool. A batch bound for a GPU is read straight into pinned memory.
dataset = vio.data.Dataset({
"image": vio.data.ImageSource(locations, data_type=np.float32),
"label": labels,
})
for batch in vio.data.DataLoader(dataset, batch_size=128, shuffle=True):
batch["image"], batch["label"], batch["index"]
A dataset only describes its rows. What reads them is an image loader,
with its threads, its open files and maybe a scratch, and it is given to
the reads: DataLoader(dataset, ..., loader=vio.loader(workers=8)). Reads
given none go through a loader shared by the whole process.
The pieces fit other layouts too:
- A cryoSPARC
.csfile is a structured array thatnp.loadreads.vio.data.make_locations(cs["blob/path"], cs["blob/idx"])gives its locations, andvio.data.as_columns(cs)its columns. - A row may have several images, all of one shape: give
ImageSourcea row of locations for each row, such as the tilts of a particle or the halves of a movie. PatchSourcecrops a patch around a centre out of a larger image for each row, such as particles out of micrographs or subtomograms out of a tomogram.dataset.subset(rows)splits off a validation set, anddataset.preload()reads everything into memory once. To keep a copy that fills as the first epoch goes and may live in a file, read through a loader with a scratch instead:DataLoader(dataset, ..., loader=vio.loader(scratch=scratch)).- With JAX,
output="jax"puts each batch on a device, or across several withsharding=. JAX compiles again for every new shape, so passdrop_last=True, orpad_last=True, which adds avalidfield marking the padded rows. Across several processes, give each onevio.data.BatchSampler(..., shard=(jax.process_index(), jax.process_count()))and the same seed. - PyTorch's own DataLoader takes a
Datasetas it is. Give it aBatchSampleras itssamplerwithbatch_size=None, so that it reads a batch per call.
Examples
examples/ holds programs that show vitrio at work,
sorted by language and by how much of it you hold. In Python, basic/
lets vitrio assemble what it needs, and advanced/ names the thread
pools, loaders and scratches. Among them, train_2d_classifier.py trains a
network of PyTorch on the 2D classes of a RELION job,
extract_particles.py crops the particles picked on a set of micrographs
into stacks, and fractionate_eer.py cuts EER movies into fractions.
Using it from C++
find_package(vitrio REQUIRED)
target_link_libraries(my_program PRIVATE vitrio::vitrio)
#include <vitrio/array/array.hpp>
#include <vitrio/file_image_reader_provider.hpp>
#include <vitrio/image_file_read_format_selector.hpp>
#include <vitrio/image_file_write_format_selector.hpp>
#include <vitrio/image_read.hpp>
#include <vitrio/image_write.hpp>
int main()
{
vitrio::file_image_reader_provider readers(
vitrio::image_file_read_format_selector::get_shared()
);
// Read as 32-bit floats, whatever the file holds.
vitrio::array image = vitrio::read(
"micrograph.mrc", readers, vitrio::numerical_type::float32
);
vitrio::write_single(
image, "copy.tif",
*vitrio::image_file_write_format_selector::get_shared()
);
}
The headers under include/vitrio/ are the whole API, and each one documents
what it declares. Their reference is at
gigabit-clowns.github.io/vitrio/cpp. That includes how to read the events of an EER file through
detector_event_image_reader_provider.
examples/cpp/ has this program as a target of the build.
Building from source
You need a C++14 compiler and CMake 3.24 or newer. The libraries vitrio needs are fetched and built with it, static, inside its own library:
- Boost (Filesystem, Interprocess and ContainerHash)
- half
- spdlog
- libtiff, and zlib for it, unless TIFF is turned off, which leaves EER out too
- Catch2 and trompeloeil, for the tests
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build
cmake --install build --prefix <where>
To use the libraries installed on the system instead, turn
VITRIO_BUILD_DEPENDENCIES off. CMake then looks for each of them with
find_package, and CMake 3.18 is enough. They have to be Boost 1.70,
libtiff 4.5, spdlog 1.4 and Catch2 3 or newer. One of them alone is found
rather than built by turning its own option off, such as
-DVITRIO_BUILD_TIFF=OFF. The others are VITRIO_BUILD_BOOST,
VITRIO_BUILD_HALF, VITRIO_BUILD_SPDLOG, VITRIO_BUILD_ZLIB,
VITRIO_BUILD_CATCH2 and VITRIO_BUILD_TROMPELOEIL. Few distributions
package half: where yours does not, point half_INCLUDE_DIR at the
include directory of a release of it.
Without access to the network, give each library that is built the
directory of its sources instead, such as
-DFETCHCONTENT_SOURCE_DIR_BOOST=<dir>.
A few options change what gets built:
| Option | Effect |
|---|---|
-DVITRIO_BUILD_DEPENDENCIES=OFF |
Find the libraries vitrio needs installed, rather than fetching and building them |
-DVITRIO_BUILD_TESTING=OFF |
Skip the tests, and with them Catch2 and trompeloeil |
-DVITRIO_ENABLE_TIFF=OFF |
Leave TIFF and EER out, and libtiff with them |
-DVITRIO_BUILD_PYTHON=ON |
Build the Python package too. Needs Python 3.10 or newer with nanobind installed |
-DVITRIO_BUILD_EXAMPLES=ON |
Build the C++ examples of examples/cpp, which CTest runs |
-DVITRIO_BUILD_DOCS=ON |
Add the target vitrio-docs, which builds the API documentation with Doxygen, and with VITRIO_BUILD_PYTHON the target vitrio-python-docs, which builds that of the Python package with Sphinx |
With VITRIO_BUILD_PYTHON the package ends up under python/ in the build
tree, so putting that directory on PYTHONPATH is enough to import it.
pip install . builds and installs it in one go. It is given the options
above as -C cmake.define.<option>=<value>, such as
-C cmake.define.VITRIO_BUILD_DEPENDENCIES=OFF.
Licence
vitrio is distributed under the GNU Lesser General Public License, version 2.1 or later. See LICENSE.
Metadata
Release files for vitrio 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vitrio-0.1.4.tar.gz | 748.5 kB | Details |
Built distributions (wheels)
Total release size: 19.5 MB
Release files / vitrio-0.1.4.tar.gz
| Download URL | vitrio-0.1.4.tar.gz |
|---|---|
| Size | 748.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b3adcb2bb15afa29d6b6074a61218b87ff5831e747a132d15b48de08c0f6d31f
|
|
BLAKE2b-256 checksum How to use checksums |
ce3118bdf2efea328e99b9289929ea9fe6d793c317ca7990eddf1bad2d48a54a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp312-abi3-win_amd64.whl
| Download URL | vitrio-0.1.4-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
a89e6f2fa86916927438baaac1189ca914c3993001d424502fdb4dbadd737e75
|
|
BLAKE2b-256 checksum How to use checksums |
6634ebfd32bf4a67553739ebae901a56843044f3b9eb6742bc76e32b0a4acbc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp312-abi3-manylinux_2_28_x86_64.whl
| Download URL | vitrio-0.1.4-cp312-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
cfa7228af5803d708522ec9eac2ba9a97a5b50422552cbd4398cfe8f835907ab
|
|
BLAKE2b-256 checksum How to use checksums |
7f3e010d02a32652bc04929fc8269b17ac65ad50071faa5224409c8ba2bf96a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp312-abi3-manylinux_2_28_aarch64.whl
| Download URL | vitrio-0.1.4-cp312-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
56e7776dadbbf04f450f837087efe4e5f1d5116f14fdc519a5d45f9d5970a039
|
|
BLAKE2b-256 checksum How to use checksums |
c67e6d18b890cf454aa5983cee82200ac4368f4d076a141805cb393a0cc61ff2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp312-abi3-macosx_11_0_x86_64.whl
| Download URL | vitrio-0.1.4-cp312-abi3-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.12 abi3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
dcac7348faa55476d6ff245f4839418fb9dca80668de004c7fa60cf11458555e
|
|
BLAKE2b-256 checksum How to use checksums |
3e57b65649e51a29b7a0f4a43f9ca3d336660f881357cf3dd6c1dad432f89075
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp312-abi3-macosx_11_0_arm64.whl
| Download URL | vitrio-0.1.4-cp312-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 804.3 kB |
| Tags | CPython 3.12 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
2a2381d276704255a5655d86f92d594023ca68e4169168005a2e088decc46821
|
|
BLAKE2b-256 checksum How to use checksums |
509827d2b2d137316de9dee124b5d94489b9bb5ef03d088b0257a4294d6f45b9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp311-cp311-win_amd64.whl
| Download URL | vitrio-0.1.4-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c42526de2736005ee4a86e08347e63bcf17526338b1a92b369a12b23a4132ab2
|
|
BLAKE2b-256 checksum How to use checksums |
fdde6caf54fc112a4fd33f7d0aa2a0ac9585a5d44451aaa1c83bf975c1ab4328
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp311-cp311-manylinux_2_28_x86_64.whl
| Download URL | vitrio-0.1.4-cp311-cp311-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5278ac8b33431ab3345867f89c7fd18903be9c33f945a46e0d4f31ccac2fc278
|
|
BLAKE2b-256 checksum How to use checksums |
3b0ccbe488ccb460028d581a75b66e76f5bed29891022c310aad308218fa77c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp311-cp311-manylinux_2_28_aarch64.whl
| Download URL | vitrio-0.1.4-cp311-cp311-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
0034e55868b337109ce8f8669b6f12be9b136f585e71232292ea1b207da20e86
|
|
BLAKE2b-256 checksum How to use checksums |
66d6016fa3e8b9e76c17f89c1d180743ec6a763a71b9280dc7260b18c5771a1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp311-cp311-macosx_11_0_x86_64.whl
| Download URL | vitrio-0.1.4-cp311-cp311-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.11 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
75b895e1cdd2867897a9db04a0952289b28601a5c74b53db1014b5cfd8be9785
|
|
BLAKE2b-256 checksum How to use checksums |
d7b2bf5912f4ca4123bdf31345834020463f195f4eee8b7074dfb3a88930e707
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | vitrio-0.1.4-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 806.1 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8295c43a1781d5ebe75646da5199ee32fdcbd85e31464e4964afd585707fe2bd
|
|
BLAKE2b-256 checksum How to use checksums |
92eab43334a704952dc8419a17622512fb7f7b6dbc48a4e776f8ea891fb5af73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp310-cp310-win_amd64.whl
| Download URL | vitrio-0.1.4-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
901d44bb6819942f6eab85b786fa138b22cd113c6feb5a55eed9ccb730bc6f7d
|
|
BLAKE2b-256 checksum How to use checksums |
fb0e166d9e959161ce47b168078c1c07d05ff9712783c34f6f356a43b47ef7f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | vitrio-0.1.4-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f318414ef9e0e46027f634ad934aa8d9b220faa90e0e916ad3fd9a040aa786ca
|
|
BLAKE2b-256 checksum How to use checksums |
f76189250b1bd270e26a332172c7b1b050aa2a5508a853d830a34113e2302bc6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | vitrio-0.1.4-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.7 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6ec03f9bf3d4af034e8af247e4465c81c6a869ba0ebcfaae0cde3cc182151be8
|
|
BLAKE2b-256 checksum How to use checksums |
9827226621255ddeccb7896fbdfa1d36ef186f86ec052ced1a641efe6e9a2795
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp310-cp310-macosx_11_0_x86_64.whl
| Download URL | vitrio-0.1.4-cp310-cp310-macosx_11_0_x86_64.whl |
|---|---|
| Size | 1.0 MB |
| Tags | CPython 3.10 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
7607ea166c5d4d558352ff5e61109d972c92939cb0ab0622a83f1dd3ee25dce0
|
|
BLAKE2b-256 checksum How to use checksums |
86c37476ba0a61fe5963cec59eaf0a41b34f3e5983eb1b978437e7b62f3ed67d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency logRelease files / vitrio-0.1.4-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | vitrio-0.1.4-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 805.8 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
dee7d41d82cf6c23e44cdee5ec5c87bb62a824b6f42093f6c90250ffb609038a
|
|
BLAKE2b-256 checksum How to use checksums |
220646fcb5910d83dc93fc116610dfe55aa47a329b0816d589feac256e2bb564
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.
Transparency log