Skip to main content

evutils_logo EV-Utils

PyPI Version PyPI Python Version Release & Publish Docs Test Coverage Documentation GitHub code size GitHub License

Overview

EV-Utils (evutils) is a performant collection of utilities for working with event-based vision data. Built with minimal dependencies, it relies on a compiled C backend for speed while offering a clean, modular Python interface.

Core Philosophy

  • Fast & Lightweight: Highly optimized C parsers for zero-bottleneck data ingestion.
  • Minimal Footprint: Core features run entirely on NumPy and Numba.
  • Lazy Loading: All heavy integrations (PyTorch, HDF5, etc.) are lazy-loaded. If you don't use them, you don't need them installed, and they won't slow down import times.
  • Simple & Extensible: Clean modular APIs.

This project draws inspiration from several excellent libraries in the event-based vision ecosystem and attempts to fill in their shortcomings:

Installation

We recommend installing evutils using uv.

From PyPi

uv add evutils # Basic library
uv add evutils[all] # All groups (torch, hdf5, aedat, vis, etc..)
uv add evutils[dev] # Dev group

From Git

git clone --recurse-submodules https://github.com/mandulaj/evutils.git
cd evutils

uv pip install -e ".[dev]"

Note: You can also install specific optional dependency groups like uv add evutils[torch,hdf5].

Architecture

The library is divided into several discrete modules. Many can be used independently without installing the full suite of dependencies:

└── chunking    - Splitting event streams into fixed-size windows
└── dataset     - Wrappers for various dataset loaders (planned, stub)
└── dense       - Dense representations (voxel grids, time surfaces, histograms)
└── filtering   - Event stream filtering (masking)
└── io          - Event reading and writing interfaces
    ├── reader 
    └── writer
└── random      - Random event generation and noise injection
└── torch       - PyTorch integration (planned, stub; requires evutils[torch])
└── transforms  - torchvision-style augmentation transforms (+ functional)
└── types       - Standard types for representing Events in NumPy arrays
└── vis         - Visualization methods
    ├── plot3d
    └── reconstructor

A future sparse module will sit alongside dense once sparse representations (event graphs, sparse tensors, point clouds) land. EventsChecker (event-array validation) lives in types.

Quick API overview

io: Reading and Writing Events

The io module provides methods for reading and writing events into various event formats. It provides a simple .read() and .write() interface as well as more advanced interfaces using iterators and slicing.

Supported formats (see the formats documentation for details):

Format Extensions Read Write Notes
EVT3 / EVT2.1 / EVT2 (Prophesee RAW) .raw, .evt* ✅ ✅ native C decoder, external triggers
EVT4 (evutils variant) .raw, .evt4 ✅ ✅ EVT2-style layout + vectorized CD; evutils' own % evt 4.0 header convention
DAT (Prophesee) .dat ✅ ✅ native C decoder
AER (Prophesee) .aer ✅ ✅ timestamp generation selectable
AEDAT 1.0 / 2.0 / 3.1 / 4.0 .aedat, .aedat4 ✅ ✅ (4.0) AEDAT4 write incl. triggers; 1.0/2.0/3.1 write 🚧; compression: evutils[aedat]
HDF5 (DSEC/RVT layout) .h5, .hdf5 ✅ ✅ evutils[hdf5], ms-index random access
HDF5 (Prophesee layout) .h5, .hdf5 ✅ 🚧 ECF-compressed files need the ECF plugin
NPZ .npz ✅ ✅ streaming, np.load-compatible
CSV / TXT .csv, .txt ✅ ✅ native C parser
BIN .bin 🚧 🚧 planned
from evutils.io import EventReader


ev_file = EventReader("raw_file.raw", delta_t=10_000)

events = ev_file.read()

It also supports random access — jump to an absolute timestamp or event index (forward or backward) and keep reading in the configured window mode:

with EventReader("raw_file.raw", delta_t=10_000) as r:
    r.seek(t=2_000_000)   # skip to t = 2.0 s
    window = r.read()     # first delta_t window from there
    r.seek(n=1_000_000)   # or jump to the 1,000,000th event

Seeking uses an index or exact record math, and falls back to iterate-and-skip on non-seekable streams. For EVT the index is built in memory on the first seek (exact) by default; pass EventReader(..., index="metavision") to instead read a Metavision .tmp_index sidecar (fast, but approximate near large event gaps).

dense

Dense representations — turn a sparse event stream into fixed-size per-pixel tensors: histograms, voxel grids, time surfaces, accumulation frames and TORE. (A future sparse module will hold event graphs, sparse tensors and point clouds.)

filtering

Selecting and dropping events: spatial masking today, with denoising, ROI and downsampling to follow.

transforms

torchvision/tonic-style augmentation transforms (drops, spatial flips, jitter, time skew/normalize, refractory filtering). Each composable Transform class pairs with a pure functional kernel, and Compose chains them with minimal unwrap/repack overhead.

random

Generating random events and adding noise to event recordings

types

The library is built around the EventArray type — a wrapper giving events a struct-of-arrays (SoA) representation, which nearly every reader, writer and transform exchanges:

  • Fields (Event_dtype): t int64 (signed 64-bit µs), x/y uint16 (up to 65,535 × 65,535 px), p uint8.
  • SoA — four contiguous columns; cache-friendly, vectorizes over whole columns, no record padding: 8+2+2+1 = 13 bytes/event (≈ 13 MB/MEv). Best for the column-wise processing that dominates event workloads.
  • Array-of-structs equally supported (from_aos / to_aos / np.asarray, cheap); C-aligned record is 16 bytes/event. Best for per-record iteration or an opaque buffer for another library/serializer. Transforms dispatch on input type, so you get back whichever form you passed in.
  • Slicing, field subsetting, and an optional lightweight metadata dict (e.g. sensor_size) round out the type.

vis

The vis modules provides several methods for visualizing the events (for example as histograms), but also provides a streamlined interface for more complex visualization techniques, such as using the E2Vid reconstructor.

from evutils.vis.reconstructor import RPG_Reconstructor

reconstructor = RPG_Reconstructor(1280, 720)  # (width, height)

img = reconstructor.gen_frame(events)

Running tests

Tests are managed via pytest. If you installed the package with the [dev] or [test] flag, you can run the standard test suite via:

uv run pytest -s

Testing Docstrings

The library uses doctest to ensure all Python >>> examples inside docstrings are correct and functional. Because the default configuration only scans the tests/ directory, you must explicitly tell pytest to scan the source code and ignore legacy submodules (like rpg_e2vid which contains Python 2 syntax):

uv run pytest --doctest-modules src/evutils --ignore=src/evutils/vis/reconstructor/rpg_e2vid/

Benchmarks

In-RAM read/write throughput benchmarks live in benchmarks/throughput.py and are kept out of the normal test run. They report M events/s as two matrices (format × library). Run explicitly:

uv run python benchmarks/throughput.py                        # evutils + installed peers
uv run python benchmarks/throughput.py --dataset small --events 2_000_000   # quick smoke

The benchmark downloads a real Prophesee recording on first use, decodes a capped in-RAM payload, and measures every format on a RAM disk (/dev/shm). Optional cross-library comparisons (expelliarmus, evlib, evt3) light up automatically once installed (uv pip install -e ".[compare]"); OpenEB/Metavision is compared via the Docker image in benchmarks/docker/. See benchmarks/README.md for details.

Goals & Roadmap

We aim for universal event format support, prioritizing blazing fast read/write speeds, completeness, and extensibility.

  • Universal format support (.raw, .evt2, .dat, .aedat4, .hdf5, .npz, .csv, etc.)
  • Full Read/Write parity where possible
  • Chunked & Streaming access
  • External trigger data parsing
  • Random access / Timestamp indexing (EventReader.seek(t=/n=) — by time or event index, forward/backward)
  • Arbitrary input sources: memory-mapped IO, pure in-memory streams (HTTP streams pending)
  • On-the-fly Compression wrappers: passing file handles through zstd or lz4 compression transparently before decoding
  • EventStreamer Pipeline Refactor: Decouple EventReader's monolithic chunking logic into composable functional generators in chunking.py, exposing a native EventStreamer for power-users while turning EventReader into a clean Façade. (EventStreamer and stream_* generators exist but EventReader does not use them yet; unification pending — see TODO.md.)

Acknowledgements

Thanks to all the contributors for supporting this project:

  • Elia Franc
  • Jakub Mandula

Cite

@PhDThesis{2024mandula_evutils,
  author        = {Jakub Mandula},
  title         = {EV-Utils: collection of utilities for working with event-based vision data},
  school        = {Dept. of Information Technology and Electrical Engineering, ETH Zurich},
  year          = 2024
}

Metadata

Release files for evutils 0.3.18

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

Source distribution (sdist)

Source distribution for evutils 0.3.18
File Size Uploaded Provenance
evutils-0.3.18.tar.gz 2.6 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for evutils 0.3.18
File
evutils-0.3.18-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
evutils-0.3.18-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
evutils-0.3.18-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
evutils-0.3.18-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
evutils-0.3.18-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
evutils-0.3.18-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
evutils-0.3.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
evutils-0.3.18-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
evutils-0.3.18-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
evutils-0.3.18-cp313-cp313-macosx_10_13_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.13+ x86-64 Details
evutils-0.3.18-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
evutils-0.3.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
evutils-0.3.18-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
evutils-0.3.18-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
evutils-0.3.18-cp312-cp312-macosx_10_13_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.13+ x86-64 Details
evutils-0.3.18-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
evutils-0.3.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64, Linux glibc 2.17+ x86-64 Details
evutils-0.3.18-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
evutils-0.3.18-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
evutils-0.3.18-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details
evutils-0.3.18-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
evutils-0.3.18-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64, Linux glibc 2.28+ x86-64 Details
evutils-0.3.18-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64, Linux glibc 2.28+ ARM64 Details
evutils-0.3.18-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
evutils-0.3.18-cp310-cp310-macosx_10_9_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.9+ x86-64 Details

Total release size: 8.0 MB

Release files / evutils-0.3.18.tar.gz

Download URL evutils-0.3.18.tar.gz
Size 2.6 MB
Tags Source
SHA-256 checksum
How to use checksums
c50d437e8864f4694a6bc239edfbbb059448cca1bfe74ddd83c9ad33c5abed66
BLAKE2b-256 checksum
How to use checksums
3731500192fcc16450d94793bd176e54764897f7674295a009c03f9fabc07eae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp314-cp314-win_amd64.whl

Download URL evutils-0.3.18-cp314-cp314-win_amd64.whl
Size 213.1 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
f6c0a85ddcde17cbf971cc326f718b1329c8055c6c45e8f1a49883e9b1e3a458
BLAKE2b-256 checksum
How to use checksums
562c121d7eac4813bc364e3e455c769c48044e306f5ce8543cea5bf7ade24b8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL evutils-0.3.18-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 218.1 kB
Tags CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
e753496d0eaf3030b61eef949294e60302d4080b60dc0d4019f76b93e3849c07
BLAKE2b-256 checksum
How to use checksums
eca1006427f74588cc44b9cde171070ba7b264d476554080a164f80328a51a31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL evutils-0.3.18-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 212.6 kB
Tags CPython 3.14 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
560d8336a1f30cb1ae4fb3c7ea1299611772bc5395f6925861aa07d0906020b6
BLAKE2b-256 checksum
How to use checksums
7815e8e871e7f973d7c7bd0b4f085c07781dbf8c67cd3ef93e29d7b763f1f07c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp314-cp314-macosx_11_0_arm64.whl

Download URL evutils-0.3.18-cp314-cp314-macosx_11_0_arm64.whl
Size 211.5 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
665dc77cef326a693030c6902bc9593a2c1ef820493a2321c70ce8eae6c5bec4
BLAKE2b-256 checksum
How to use checksums
3461196449743892f7cd9551e97476cf7b5822be1f1d183e9ddc38ef00280368
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp314-cp314-macosx_10_15_x86_64.whl

Download URL evutils-0.3.18-cp314-cp314-macosx_10_15_x86_64.whl
Size 211.7 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
8d22151b0609f6adb436f025d7c8700da52b8067017c25c86a6921b740821b5a
BLAKE2b-256 checksum
How to use checksums
878acf8cbde9e1707ef36fa8b968e5401554cb96db3a9939cbc286aee49d7260
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp313-cp313-win_amd64.whl

Download URL evutils-0.3.18-cp313-cp313-win_amd64.whl
Size 212.7 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
76e63ecac65740c955a7a000f39012cbfc558e7802fd291d20cea329ce4e3f48
BLAKE2b-256 checksum
How to use checksums
d6d185986c9a7433c3bd7b144e750dc46886f9a8427eb3d029c18155a34f2f87
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL evutils-0.3.18-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 218.1 kB
Tags CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3d638362da0f12387d1d4286cabec3fac0ffe453cf5b435a543842d3ad5d8118
BLAKE2b-256 checksum
How to use checksums
2f56f0125ddfe6057590af39b8bd3092917347d1629167add81e55c12033276e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL evutils-0.3.18-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 212.6 kB
Tags CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
1be45820bc1ae2229def3c4e28725fedc7b3720b93399edc58f727b58aa74c9b
BLAKE2b-256 checksum
How to use checksums
c696690fc7cb1249fa008f6fbf13ac5b8d93edaba94485495fe1241b992d7204
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp313-cp313-macosx_11_0_arm64.whl

Download URL evutils-0.3.18-cp313-cp313-macosx_11_0_arm64.whl
Size 211.5 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ba1bdd3c10f661c3c0e0623b90907bf08b37be0c8fb72d647011fdb70aa3c395
BLAKE2b-256 checksum
How to use checksums
17fea227ab014fbc8f060723bbdb4088218a67a6a6e3d30441162fc6d1996783
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp313-cp313-macosx_10_13_x86_64.whl

Download URL evutils-0.3.18-cp313-cp313-macosx_10_13_x86_64.whl
Size 211.7 kB
Tags CPython 3.13 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
4d230122549522a843043dffe64c7f96e28b4a0256fad4015012cb97fbc91e00
BLAKE2b-256 checksum
How to use checksums
9c686234984d2f1c778f18ba7c5161d8897db161b4d2c1dc0c43d5d031fb10a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp312-cp312-win_amd64.whl

Download URL evutils-0.3.18-cp312-cp312-win_amd64.whl
Size 212.7 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
e9e21e91078470480e8978635d983e26de56664509053da7897d9ae65ef7ad95
BLAKE2b-256 checksum
How to use checksums
2e9eede3ee507d0bcd20b56d9c16b08a01224a52550c05600cee5b8a507271c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL evutils-0.3.18-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 218.1 kB
Tags CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
2b29272b1696d4124ba6f395ad6433da67a2d0a8930d196ea6d9247222ad5648
BLAKE2b-256 checksum
How to use checksums
ce7fa9919224d280cd5ee13a9e0d7c42c3fb2a418269ab0485bf354cdc471207
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL evutils-0.3.18-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 212.6 kB
Tags CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
cfe9ee9b915de50d637f9d84af6f55ab8b799c45475780454ccecdea532891aa
BLAKE2b-256 checksum
How to use checksums
9a963dced39cae566625a3e763678f88c77dd2d104863b5ce4a006a44d2c4942
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp312-cp312-macosx_11_0_arm64.whl

Download URL evutils-0.3.18-cp312-cp312-macosx_11_0_arm64.whl
Size 211.5 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
56a1bdf3fcccf616d9e418c45728cbaccd0e7a656307f5c2749e9e8dccae910d
BLAKE2b-256 checksum
How to use checksums
8ee9e1191a408241913023aa48bbc72622fa2957fe9901dd40c01ce13ed3cae7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp312-cp312-macosx_10_13_x86_64.whl

Download URL evutils-0.3.18-cp312-cp312-macosx_10_13_x86_64.whl
Size 211.7 kB
Tags CPython 3.12 macOS 10.13+ x86-64
SHA-256 checksum
How to use checksums
05400d2c4a33d663cb7f9921e7dacc1f4fb12a38c1c3fffbe69df4e3626ec3ca
BLAKE2b-256 checksum
How to use checksums
0220f65e4a118d7486636003be901b76520ef9232fadb44e0ad890594e8e2765
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp311-cp311-win_amd64.whl

Download URL evutils-0.3.18-cp311-cp311-win_amd64.whl
Size 212.7 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
e134d6b190d2786d7eb96252fac0d7e58ab932083aca80ceff51ab0ca131e01b
BLAKE2b-256 checksum
How to use checksums
56fbdf11b6df3ecd11c4dc31ef42e115f732c8a5b35e2fb932ab63eec7795f35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL evutils-0.3.18-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 218.1 kB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
1f11a0fdb1e889fe584843c7925f1b0b49f4377e4b404e069c55bad283ee8b22
BLAKE2b-256 checksum
How to use checksums
0b9d0493dc61d272dc994de19988f2e4962138f4b49f738b8458ea0a8edfefee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL evutils-0.3.18-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 212.6 kB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
59423bc342e67a2604c93cf4ea08dd60efe99859979200d07290882c1caffc60
BLAKE2b-256 checksum
How to use checksums
ade9acb356d844f1c6070f22bb7e351ccad8b56414eb465eae7820097a0d5cf7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp311-cp311-macosx_11_0_arm64.whl

Download URL evutils-0.3.18-cp311-cp311-macosx_11_0_arm64.whl
Size 211.5 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
55d52f347b2123c6fbd6dfd4be6ef000bef5c9813ccb79aaf1f2147f3367b24a
BLAKE2b-256 checksum
How to use checksums
b432f3f0c629ded285c016bdc01afd41c92755d4e91ec1bc3eed0f25cb80998b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp311-cp311-macosx_10_9_x86_64.whl

Download URL evutils-0.3.18-cp311-cp311-macosx_10_9_x86_64.whl
Size 211.7 kB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
1a589580460909d8db6d5f9dec6d8691a24f91a2e7ffe287109072e47b20e34e
BLAKE2b-256 checksum
How to use checksums
9493f65158593c0e8964a1a537d8fb3d138c3d5ccb33b6ac7362899b83b611c1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp310-cp310-win_amd64.whl

Download URL evutils-0.3.18-cp310-cp310-win_amd64.whl
Size 212.7 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
c37443534b01e5b2645c208115b93fbd9b3a639b71ed6fca1b0bd08c8262db34
BLAKE2b-256 checksum
How to use checksums
b04c318b0042cb38a021d0e2fe5dcf1cfe1a86306b17c8c49e15b5496840fbfe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl

Download URL evutils-0.3.18-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Size 218.1 kB
Tags CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
3afbb3fea8babf8f2ec3452232652c04abdeaa4ca663bd5bd5dfb8c06818ae2a
BLAKE2b-256 checksum
How to use checksums
f41e3c8c67cdf97cd50794830ba434d5241ba3088d61243eb79c81e7a34f7f7d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl

Download URL evutils-0.3.18-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Size 212.6 kB
Tags CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c995f27e789a51bd528dfa1e621ea6956f8764fb1a45b25ab121a09b1e5a387c
BLAKE2b-256 checksum
How to use checksums
1100f5c6738391036947f296c05b5acced1287741d041248397ae21e60664177
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp310-cp310-macosx_11_0_arm64.whl

Download URL evutils-0.3.18-cp310-cp310-macosx_11_0_arm64.whl
Size 211.5 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
dfc1686a05a7ad225c84cfcfe815b8b937452cf2ddb0dca6db0090e441f6e462
BLAKE2b-256 checksum
How to use checksums
2c691a5ccacd49b91a4a91b733abbe63c552c4a5b69f84098e2c483e3d6d41cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Release files / evutils-0.3.18-cp310-cp310-macosx_10_9_x86_64.whl

Download URL evutils-0.3.18-cp310-cp310-macosx_10_9_x86_64.whl
Size 211.7 kB
Tags CPython 3.10 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
a6dd0762c4e76780d4cb95804973b5edfead8fee9fd1c9ae0677d44539283adf
BLAKE2b-256 checksum
How to use checksums
a890f08649c909b47a66c16c251f11db7e35b0b7d7349bdb8def37734fd30368
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 17, 2026.

Transparency log

Security for evutils 0.3.18

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.

Full provenance

All 26 files in this release have been uploaded with provenance metadata.

Select from 26 files

Attestation for evutils-0.3.18.tar.gz

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 Jul 17, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

0.3.18 This release

26 release files Full provenance

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