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.
- From C++, 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. |
A file is recognized by its contents where the format allows it, and by its extension otherwise. TIFF goes 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, and then the dependencies listed under "Building from source" below have to be installed first.
The C++ library is built from source for now.
Using it from Python
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. A batch goes into one array, on a thread pool, and its images may come from any number of files. The call returns before the batch is in, so the next one can be on its way while you work on the current one:
import random
BATCH_SIZE = 64
STACKS = ["first.mrcs", "second.mrcs", "third.mrcs"]
# Every particle of every stack, in the order they will be read
locations = [
vio.ImageLocation(stack, index)
for stack in STACKS
for index in range(vio.query_descriptor(stack).extents[0])
]
random.shuffle(locations)
size = vio.get_core_extents(vio.query_descriptor(STACKS[0]))
loader = vio.loader(cache=len(STACKS)) # keeps the stacks open
def start_reading(first):
batch = locations[first:first + BATCH_SIZE]
particles = np.empty((len(batch), *size), dtype=np.float32)
return particles, vio.read_batch_async(loader, particles, batch)
particles, reading = start_reading(0)
for first in range(BATCH_SIZE, len(locations), BATCH_SIZE):
upcoming = start_reading(first) # runs in the background
reading.get() # wait for the current batch
process(particles) # your code
particles, reading = upcoming
reading.get()
process(particles)
Patches are cropped out of an image the same way, around a list of centres:
patches = np.zeros((2, 128, 128), dtype=np.float32)
centres = [(1024, 512), (300, 2100)] # (y, x)
location = vio.ImageLocation("micrograph.mrc")
vio.read_patches_async(loader, patches, location, centres).get()
vio.write_stack(patches, "patches.mrcs", data_type="float16")
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.
The _async functions return right away with a completion. Call get() on
it to wait and to find out whether anything failed. The completion keeps
its array alive, and dropping one that is not ready waits for it.
examples/extract_particles.py is a complete program. It crops the particles picked on a set of micrographs into stacks, reading and writing the STAR files of RELION, with several batches in flight at once.
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.
Building from source
You need a C++14 compiler, CMake 3.18 or newer and these libraries, which
CMake looks for with find_package:
- Boost 1.70 or newer (Filesystem, Interprocess and ContainerHash)
- half
- spdlog
- libtiff 4.5 or newer, unless TIFF is turned off
- Catch2 3 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>
The repository has a vcpkg manifest, so one way of getting all of them is to pass vcpkg's toolchain file to the first command.
A few options change what gets built:
| Option | Effect |
|---|---|
-DVITRIO_BUILD_TESTING=OFF |
Skip the tests, and with them Catch2 and trompeloeil |
-DVITRIO_ENABLE_TIFF=OFF |
Leave TIFF out, and libtiff with it |
-DVITRIO_BUILD_PYTHON=ON |
Build the Python package too. Needs Python 3.10 or newer with nanobind installed |
-DVITRIO_BUILD_DOCS=ON |
Add the target vitrio-docs, which builds the API documentation with Doxygen |
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.
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.1
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.1.tar.gz | 607.5 kB | Details |
Built distributions (wheels)
Total release size: 14.4 MB
Release files / vitrio-0.1.1.tar.gz
| Download URL | vitrio-0.1.1.tar.gz |
|---|---|
| Size | 607.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3e62af1139f2cfb8e7eee47fd38de1d82d5f94a208a9cf8558c2c08f3e576abe
|
|
BLAKE2b-256 checksum How to use checksums |
d2b941b4d15f58e1bce92c5e6af6a15729c960824ee3867b38dba5e2dba041ef
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp312-abi3-win_amd64.whl
| Download URL | vitrio-0.1.1-cp312-abi3-win_amd64.whl |
|---|---|
| Size | 781.1 kB |
| Tags | CPython 3.12 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
72a624871a471f76b7632af92d37a2265d8db2901befc3a0f0acc4d131bd0e0d
|
|
BLAKE2b-256 checksum How to use checksums |
f41d2cce4da44d1d63d3f13911a4965b2f11fc16bc3fa9950aac8a4e1e929928
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | vitrio-0.1.1-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8afd9f52877e174be4ff409a4db8f8c616c492116459a714b9da609fe1d80a53
|
|
BLAKE2b-256 checksum How to use checksums |
418bd00ab5fef940ed4d98e81a6a29bbdf8cf797aa3f0ae6596f3a37bf63d64a
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vitrio-0.1.1-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
330a35f1648b17084737720c1fce9e8558e7ce6dace1d61809108569f8ce1f5b
|
|
BLAKE2b-256 checksum How to use checksums |
65e041041daa86037cfc5d60fd403e0ac1ac3df2cecc6d6dca915f04daa5f34c
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp312-abi3-macosx_11_0_x86_64.whl
| Download URL | vitrio-0.1.1-cp312-abi3-macosx_11_0_x86_64.whl |
|---|---|
| Size | 700.4 kB |
| Tags | CPython 3.12 abi3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
4c40693fc42768bbe72778408bc06c8d16d81ef1e64595891c512ebbec760f8f
|
|
BLAKE2b-256 checksum How to use checksums |
9a63c447d2700ebefceb376433cd9f663bae6571e1b4458490e6465206763321
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp312-abi3-macosx_11_0_arm64.whl
| Download URL | vitrio-0.1.1-cp312-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 601.8 kB |
| Tags | CPython 3.12 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c5485123b0617ab61aca6524f3990726ea4651463ecd3d68d9f63f914c1110e7
|
|
BLAKE2b-256 checksum How to use checksums |
19bdabdd726b36034fca9cadbcd8f6f5fea0aeba6aca37e00af610cdd0464713
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp311-cp311-win_amd64.whl
| Download URL | vitrio-0.1.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 781.6 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
05e5f8e39ae5e2a7882937f19a1bd676d815c4ac7c0d10e4fead96e97e4be364
|
|
BLAKE2b-256 checksum How to use checksums |
c9e3e201cbb684a9f145bf466ad4b05bb847c4868d84db6aa7b3b05ea3df62f2
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | vitrio-0.1.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
45c5a62ca6667193ac0f0b0fe0a39311e5b17831564678b4f3b2b64e333edef3
|
|
BLAKE2b-256 checksum How to use checksums |
6838dd02d8a8debefb91571ab8fe9d3645d2f2367aad9b2012ad56d7ec23b454
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vitrio-0.1.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
17be1958ecabc9842a06b475e7ce0dfb53fc74ad309ae8a9fac47db9c5c54833
|
|
BLAKE2b-256 checksum How to use checksums |
eb1185c77687a9ec7b829b2f169abc7dcd4af4ebf700cca90335db01cbda2c3c
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp311-cp311-macosx_11_0_x86_64.whl
| Download URL | vitrio-0.1.1-cp311-cp311-macosx_11_0_x86_64.whl |
|---|---|
| Size | 702.5 kB |
| Tags | CPython 3.11 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
265098ee519f05d3d84fab5c0bc1210b5743767ece76bc9cc93bb0384ffe129f
|
|
BLAKE2b-256 checksum How to use checksums |
331f106a515c272c69fbee8aa9377e4a5a2b3adf81fee5ac39eefd19cd1eada9
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | vitrio-0.1.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 603.7 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
14cfda9ce71765b08745db5005252e8d621c073f2bbd85472b5f577dec6b6327
|
|
BLAKE2b-256 checksum How to use checksums |
267835177e2b935e956a03dcaf31f75bbb3cc715202a5cf48dc1c821f6cef8c4
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp310-cp310-win_amd64.whl
| Download URL | vitrio-0.1.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 781.3 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
6b7ab3838973831b96f4bb5e08d92f8c7d2859ecb01277ba74179944168d2248
|
|
BLAKE2b-256 checksum How to use checksums |
29deeeef0f8433501a6d3ec08cc7b5dc366be0431d98089b19f31e701ad31192
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
| Download URL | vitrio-0.1.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
cf3bd04c204dd0a9ef23304f1707233047962779ea75f862da7ba28455488a3b
|
|
BLAKE2b-256 checksum How to use checksums |
6ba84bfc72c039708d511e62318f9c9bfae9354feeb485e8a754f3fa847cddc0
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
| Download URL | vitrio-0.1.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
945e16393f5f9373ca93e9b7d56903da16f50373624a3a1001f6e2ad5dc83f2a
|
|
BLAKE2b-256 checksum How to use checksums |
508e94c267bf41b3ff4be15686c6368a771d90a3b5aed312c99bb8e38c028920
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl
| Download URL | vitrio-0.1.1-cp310-cp310-macosx_11_0_x86_64.whl |
|---|---|
| Size | 701.5 kB |
| Tags | CPython 3.10 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
a793d5c9054c4fce48bf8a969511e2443e2510403bdc5152f0599823e620cc46
|
|
BLAKE2b-256 checksum How to use checksums |
ee6ad3374928e05d95d8ff01cde109befd22139a1431959e59e79a66852d1f15
|
| 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 10, 2026.
Transparency logRelease files / vitrio-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | vitrio-0.1.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 603.2 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
4d80358eaef5f55a073dae85e073254cc1391b111b3c79701aec47f8302f301c
|
|
BLAKE2b-256 checksum How to use checksums |
9988b4fc616ea77a5deea9f502b3187bec64fdc01d193543e65924e626a5ad01
|
| 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 10, 2026.
Transparency log