Skip to main content

mef3io

A single C++ core for MEF 3.0 read/write, wrapped for Python (nanobind) and MATLAB (MEX). The high-level semantics of the legacy mef_tools — float scaling, NaN discontinuities, precision inference, the int32-counts + conversion-factor primitive write path — live in C++, so every language binding behaves identically.

Documentation: https://bnelair.github.io/mef3io/ — install, Python / MATLAB / C++ guides, the MEF 3.0 format reference, and measured comparisons against the legacy stack.

Status

Read and write are implemented and cross-validated against the legacy pymef / mef_tools stack in both directions (~253 Python tests + standalone C++ tests). Scope notes:

  • Video (.vidd/.vmet/.vidx) is out of scope (traversal skips it).
  • Encryption is none or fully-encrypted (section 2 → L1 key, section 3 → L2 key); "level-1 only" is not a valid MEF file — see docs/encryption_model.md. Unlike the legacy reader, an L1 password actually works (signal + technical metadata, subject metadata locked) — see docs/legacy_comparison.md.
  • Records: read/write Note, EDFA, SyLg, Seiz (others read as header-only).
  • Pure-Python backend: not yet implemented (backend="pure" raises).
  • Append extends the channel's last segment in place (legacy semantics); new_segment=True forces a fresh segment.
  • Third-party reader compatibility: metadata section 2 declares the buffer sizes readers built on meflib (CyberPSG and similar) allocate from. How a given stack consumes them varies by meflib build — some pass these fields straight to the decoder, others size from the block's own sample count — so mef3io treats all of them as load-bearing. Versions ≤ 1.1.2 left maximum_difference_bytes and maximum_contiguous_block_bytes at 0, which a reader cannot tell from an unset field: a crash from exactly this has been reproduced in the field. (Sessions they wrote still read correctly in mef3io and in pymef, which sizes from the sample count — which is why it went unnoticed for so long.) Since 1.1.3 all of them are measured from the blocks written; appending to an older segment repairs it in place, and rewriting the session fixes it outright. See docs/mef3_format.md.
  • Validation: mef3io.Validator checks a session's declarations against its data and never writes; mef3io.repair_session rewrites only the checks you name — see Validating and repairing. Opening a session that leaves those declarations unset warns once, saying plainly that reading is unaffected.

Full docs live at https://bnelair.github.io/mef3io/ (built from docs/ with MkDocs Material, deployed by .github/workflows/docs.yml). In-repo: METADATA.md (session/subject/acquisition metadata), docs/mef3_format.md (format reference), docs/design.md (design), docs/legacy_comparison.md (measured performance

Install

Python — prebuilt wheels (no compiler needed) for Linux (x86_64/aarch64), macOS (arm64/x86_64), and Windows (AMD64/ARM64), Python 3.10+:

pip install mef3io                 # runtime (numpy only)
pip install "mef3io[test]"         # + oracle tests (pymef, mef-tools, pandas, pytest)
pip install "mef3io[bench]"        # + NWB-Zarr benchmark stack

MATLAB — download the mef3io-matlab-vX.Y.Z.zip bundle from the GitHub release (classes + CI-tested MEX for all platforms, one addpath), or compile once on your machine (needs a C++20 compiler configured via mex -setup C++; ~30 s). See matlab/README.md:

run('<repo>/matlab/build_mex.m'); addpath('<repo>/matlab')
r = mef3io.Reader('session.mefd'); x = r.read('ch1');

From source (Python development) — needs CMake ≥ 3.26 and a C++20 compiler; uses the active env's Python:

scripts/dev_build.sh            # builds build/dev, symlinks the extension into python/mef3io
python -m pytest tests          # conftest sets up paths; needs pymef/mef-tools as oracle
python -m build --wheel         # build a wheel

All bindings share one version: the repo-root VERSION file feeds the wheel metadata, mef3io::version() in C++, and the MEX build.

The legacy mef-tools package (PyPI; import name mef_tools) is the correctness oracle and benchmark baseline: the test/benchmark scripts use a local mef_tools checkout when run inside the original repo, and otherwise the pip-installed mef-tools — so a standalone checkout just needs pip install "mef3io[test]" (or [bench]).

Usage

import numpy as np, mef3io

# Write. NaN = discontinuity gap; precision inferred if omitted.
with mef3io.Writer("session.mefd", overwrite=True, units="uV") as w:
    w.write("eeg1", float_signal, start_uutc, fs=256.0)
    # amplifier counts + V/bit, stored verbatim:
    w.write_int32("eeg2", counts_int32, ufact=2.5e-7, start_uutc=start_uutc, fs=256.0)
    w.write_annotations([{"time": start_uutc, "text": "note"}], channel="eeg1")

# Read. Partial reads by uUTC; gaps are NaN; scaled by the conversion factor.
with mef3io.Reader("session.mefd", n_threads=0) as r:   # 0 = all cores
    r.channels
    r.info("eeg1")
    x  = r.read("eeg1", t0, t1)       # float64, NaN gaps
    xi = r.read_raw("eeg1", t0, t1)   # {samples: int32, valid: mask, ...}
    r.segments("eeg1")                # per-segment map: what data is where
    r.toc("eeg1")                     # block index for viewers/seeking
    r.records("eeg1")                 # annotations

Warm-start metadata cache (opt-in)

Off by default. cache="auto" snapshots channel metadata into the per-user OS cache dir (safe for read-only sessions); a path makes it persistent. Warm opens serve channels/info without touching the tree and defer the backend until a data read. Invalidated automatically on any size/mtime change or on write.

mef3io.Reader("session.mefd", cache="auto")          # temp/OS cache dir
mef3io.Reader("session.mefd", cache="/data/s.cache") # persistent

Drop-in for existing pipelines

# from mef_tools.io import MefReader, MefWriter
from mef3io import MefReader, MefWriter

Same call shapes and semantics as the legacy classes (NaN-gap splitting, precision inference, int32 arrays via the primitive path, in-segment appends). See examples/07 and docs/legacy_comparison.md.

Parallelism

RED block decode and encode run on an internal thread pool (n_threads: 0 = hardware concurrency, 1 = serial; per-call override on reads). Output is byte-identical regardless of thread count. Bindings release the GIL, so external dataloader parallelism is safe too.

Layout

core/        C++17/20 library (types, byteio, crc, crypto, headers, metadata,
             red, session, reader, records, writer, session_writer, validate)
             + Catch2 tests
bindings/    nanobind extension (_mef3io)
python/mef3io/  Reader, Writer, Validator, compat (mef_tools.io shim), cache, pure
matlab/      MEX gateway over the C ABI (core/include/mef3io/c_api.h),
             +mef3io Reader/Writer classes, build_mex.m, test_mef3io.m
examples/    runnable scripts: write/read, int32, append, segment map,
             annotations, encryption, legacy drop-in, replicability checks
tests/       golden fixture generator + P1–P18 pytest suites (pymef oracle)
benchmarks/  bindings + legacy/NWB-Zarr comparison scripts
docs/        MkDocs site source (guides, format reference, legacy comparison)
scripts/     dev_build.sh (dev build + extension symlink)

Contributing & support

Bug reports and feature requests via issues, questions via discussions. See CONTRIBUTING.md to build and test locally, and SECURITY.md to report vulnerabilities privately. Please cite via CITATION.cff.

License

Apache 2.0. Developed at the Mayo Clinic Bioelectronics Neurophysiology and Engineering Lab (BNEL).

Metadata

Release files for mef3io 1.2.0

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

Source distribution (sdist)

Source distribution for mef3io 1.2.0
File Size Uploaded
mef3io-1.2.0.tar.gz 711.5 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for mef3io 1.2.0
File
mef3io-1.2.0-cp314-cp314-win_arm64.whl CPython 3.14 CPython 3.14 Windows ARM64 Details
mef3io-1.2.0-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
mef3io-1.2.0-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
mef3io-1.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
mef3io-1.2.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
mef3io-1.2.0-cp314-cp314-macosx_10_15_x86_64.whl CPython 3.14 CPython 3.14 macOS 10.15+ x86-64 Details
mef3io-1.2.0-cp313-cp313-win_arm64.whl CPython 3.13 CPython 3.13 Windows ARM64 Details
mef3io-1.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
mef3io-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details
mef3io-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
mef3io-1.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
mef3io-1.2.0-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
mef3io-1.2.0-cp312-cp312-win_arm64.whl CPython 3.12 CPython 3.12 Windows ARM64 Details
mef3io-1.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
mef3io-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
mef3io-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.26+ ARM64, Linux glibc 2.28+ ARM64 Details
mef3io-1.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
mef3io-1.2.0-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
mef3io-1.2.0-cp311-cp311-win_arm64.whl CPython 3.11 CPython 3.11 Windows ARM64 Details
mef3io-1.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
mef3io-1.2.0-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
mef3io-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
mef3io-1.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
mef3io-1.2.0-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
mef3io-1.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
mef3io-1.2.0-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
mef3io-1.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64, Linux glibc 2.26+ ARM64 Details
mef3io-1.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
mef3io-1.2.0-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details

Total release size: 14.8 MB

Release files / mef3io-1.2.0.tar.gz

Download URL mef3io-1.2.0.tar.gz
Size 711.5 kB
Tags Source
SHA-256 checksum
How to use checksums
a63ed63ef3fd362bcbc313d16f364fe43c08d7c7518644118fd281d6dc837f04
BLAKE2b-256 checksum
How to use checksums
47268889ca8dee9ef89cb2befded8ec504ecebd914b51a2521be0d61a2af440c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp314-cp314-win_arm64.whl

Download URL mef3io-1.2.0-cp314-cp314-win_arm64.whl
Size 449.8 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
3067c1ef7f3b91f57cb73b22c4b18e288643953255d1629f488998e6dd2d2c84
BLAKE2b-256 checksum
How to use checksums
f0c9760f1b75b50762cf88cd7f11d3a178074c265b6f4ed7ada0637d69774ca4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp314-cp314-win_amd64.whl

Download URL mef3io-1.2.0-cp314-cp314-win_amd64.whl
Size 457.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
7b63499ea62ad0bc17c62c2b2d714f710c90a26f15e37fe8b677f97cfef4367c
BLAKE2b-256 checksum
How to use checksums
ef5379a686ca46f8998ea8b2a134ae88869ff9aedd30bdfbbf3ba17d2e223b0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.2.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 603.9 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5c6a1839e291fe638dbc898badef435c09ecfe8d7d682dc4920745cab21da308
BLAKE2b-256 checksum
How to use checksums
b4e134a17964762d2daaf7d8c08e6caed1b39bbcda676b6de592b1fe5ad50883
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.2.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 530.1 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
a729eb2af97f222378cd603bcf149c2419589c525e77ccf060c73ba0c94385a0
BLAKE2b-256 checksum
How to use checksums
b9d757e6ff938882c59a8ddca0030ecf784586f442e5a4ed337aac86561c347a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL mef3io-1.2.0-cp314-cp314-macosx_11_0_arm64.whl
Size 419.6 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e67a649f8fdc90947442bc2a3d8eb714f8eb6386fb21ffbf213dd91325e98aa5
BLAKE2b-256 checksum
How to use checksums
50d832c5e86a3a86dd577e2edea5b557d25de434973f499f35eb5ad255665701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL mef3io-1.2.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 456.4 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
0a32373b9b7b250abff46bdffae5bf5baf17c95c0f8dc1ec4fc7d5aced897756
BLAKE2b-256 checksum
How to use checksums
85065a59c37e72e42916a21e7aa808969408582136d4e71149466b60b1544400
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp313-cp313-win_arm64.whl

Download URL mef3io-1.2.0-cp313-cp313-win_arm64.whl
Size 436.7 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
338d3d817d90522e400bbfd1cadc9a84e999e41860cae8b36aa4c605b26f21fc
BLAKE2b-256 checksum
How to use checksums
525e0fa80e75bebbe8d205f3ed8399a7237fcfe70a48cb24ca3c6be70a9bccf3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp313-cp313-win_amd64.whl

Download URL mef3io-1.2.0-cp313-cp313-win_amd64.whl
Size 445.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
7fe2fb0ff662b9566a50ccb1f75d3c820dbf274ad0333ab3af2b31bfcbc765f3
BLAKE2b-256 checksum
How to use checksums
b0591a3ac5a4cec05edd72a9073c6a93e06c9d3e138f1693b1d91c39c274bae7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.2.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 603.6 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
bb9ab5ab6bce359f9adcf8bb93634457404694b774b5ea61fe2cd944e4148e6c
BLAKE2b-256 checksum
How to use checksums
4c33fd319d39fab2d25990a497864a50c212f881eb436667b9852883eb192091
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.2.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 530.0 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b9c2a484d3fab0facfce2690e44a9391f04163154b834fcc9c3c5ecb0859388b
BLAKE2b-256 checksum
How to use checksums
8c9f985706af776a317a437cb758561f4309ff3f9775f2307842d1bbe0a84c04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL mef3io-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 419.6 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
49f55e1468694229e1dbebf7c26caf8ac174b4d2db0290a80fc23db08af5d7e7
BLAKE2b-256 checksum
How to use checksums
ae48dd41c026d3a4825ab0545a5c027a37c0a7462336ca23b33a898bedd9b432
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp313-cp313-macosx_10_15_x86_64.whl

Download URL mef3io-1.2.0-cp313-cp313-macosx_10_15_x86_64.whl
Size 456.3 kB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
21cc0e29e9a99fddc0c90c5d9e163d746f4d554eb575909af8e062ce1cee225e
BLAKE2b-256 checksum
How to use checksums
1a40759bc97a2b351cf981b805c656332f60c0e098b5ca2fcb3382343a3b6756
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp312-cp312-win_arm64.whl

Download URL mef3io-1.2.0-cp312-cp312-win_arm64.whl
Size 436.7 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
b45bb4a2ee04184d7610056071fa9699ddd8297afef6cd8842f03161ac221c15
BLAKE2b-256 checksum
How to use checksums
daa6fd39d113edf43a611174d11ed3e0f5333d9bb32323966d852efd85921fad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp312-cp312-win_amd64.whl

Download URL mef3io-1.2.0-cp312-cp312-win_amd64.whl
Size 445.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
16af3d98e8eb09a633ae4bab5f66794573265ab27d195054d68db325fae7c97b
BLAKE2b-256 checksum
How to use checksums
1f276a4a3b569210356af4e2b3f1727eebe4e4bcec95ae1a5092b7d329738ee8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.2.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 603.8 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f26ad05a201b0fc4a6b1f5072b3e03343a6067baba808355d244e33439d850eb
BLAKE2b-256 checksum
How to use checksums
64d7efc0e724439e001e65f7059e3259fd93a9416013948a2b57fbd4a3eb9323
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.2.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 530.1 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
b0e242ff4ed202b741b2b935f53c8f9a372f5c7bdf4efd6d0581bb67c1376b01
BLAKE2b-256 checksum
How to use checksums
296f8bd6c3a543d427b328ebd5102ca174dd599ebeb93a4e5da2e4f7bc95901b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL mef3io-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 419.6 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7a6ed70d883a16ef49ef9333e84aa8aaf447c0688c59c60b5f5c1b54a6cba4fb
BLAKE2b-256 checksum
How to use checksums
8e58754c4028506beae4137f25d2d9bed2fa24fa2cb38a433a61181e59635428
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp312-cp312-macosx_10_15_x86_64.whl

Download URL mef3io-1.2.0-cp312-cp312-macosx_10_15_x86_64.whl
Size 456.3 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
cacbdb76504d77384f19a81e3c28a6ff6fa54bf1a063547853e05badd5f51ff2
BLAKE2b-256 checksum
How to use checksums
b4f4594571e7ff1997a58853f653f9497fa4aaf9aaa95cb32420e4e418e8e938
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp311-cp311-win_arm64.whl

Download URL mef3io-1.2.0-cp311-cp311-win_arm64.whl
Size 437.1 kB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
876be45f5d3effb27889b467f9ea90916af9a109eb389dbb2b4987106cdfdffc
BLAKE2b-256 checksum
How to use checksums
fbb75e51611320a5a36260cf0c3e4082b038b122fd6169c780eb7a8b93810fc4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp311-cp311-win_amd64.whl

Download URL mef3io-1.2.0-cp311-cp311-win_amd64.whl
Size 445.6 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
b16d675553dd922222a7eaed0c8b450e800561317a5f4125464b817b5f72274c
BLAKE2b-256 checksum
How to use checksums
fbddecf66f069e7ca8ee10b0f2cc56b9c70d15f6f077d6fc771e3e492a02ef7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.2.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 604.2 kB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
615ea7fa7066c8c057e48d93036c6691d57039ec906ca3a65d5be8e7d276c021
BLAKE2b-256 checksum
How to use checksums
b1a2a51654bffd0cb0bf8fb6d997ea94fc892032c1e5928cdaa8edb1384729d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.2.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 531.4 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
da472c4ea459312b478f1360ef2c51b7268a8bc1f5a8b5b7b8ab6d068a7738fc
BLAKE2b-256 checksum
How to use checksums
7ac1022c526ce00790c73e1cc7a31f11fbcefde58f4abc446e634e8006e30544
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL mef3io-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 420.3 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
09d0148d88a75a58d0d8200b399973b0d2da7261bac57551dad25a7134e94875
BLAKE2b-256 checksum
How to use checksums
55e1e5e5d67678f2fd341e11154fa7636bd06f28d5d8ae0e5447698116ad9386
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mef3io-1.2.0-cp311-cp311-macosx_10_15_x86_64.whl
Size 456.5 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
2ab4d4a8d6db878a8712b7ef4f6e8d71541dd5f86687650a24b11d9fce3af99a
BLAKE2b-256 checksum
How to use checksums
dd4d99d9fb071a84e4fa68294315e7278cfc17e4b89a903da4d5ca1eb5cb4a71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp310-cp310-win_amd64.whl

Download URL mef3io-1.2.0-cp310-cp310-win_amd64.whl
Size 445.2 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
dadd76f5597e3191fa3e4e50b5d95f94d71f229ddb111e15931b99b5e48d52fa
BLAKE2b-256 checksum
How to use checksums
e76e3a872703220376f35b3e909204758a05a1a70040ab70dcb4689162f127d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.2.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 604.6 kB
Tags CPython 3.10 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
22575316a2962532ffc35e9d3d75e90e42fe6c3a6aa42699cc885e935abdb49e
BLAKE2b-256 checksum
How to use checksums
ff08520fb0e11eb38a1174a27cc73290aba212eb695dc7f0ca2ad01fdfea396f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.2.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 531.8 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9a5b016e1a79c52c1b4f5afaccadd6892740c1ed6da68dfe748516fe496478fc
BLAKE2b-256 checksum
How to use checksums
962984255100790493d04fa97b2435486ed3f556d9a9808b0eb39b6b3a151d14
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL mef3io-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 420.7 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
c96348dc781744d29f6193ea0edfa5379d6a05ade434bc98dc1d7bf6a11d156a
BLAKE2b-256 checksum
How to use checksums
d23f184c4e471b70520f473ca6c2e8700b613b3dec61204f780419c45fd6b62a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / mef3io-1.2.0-cp310-cp310-macosx_10_15_x86_64.whl

Download URL mef3io-1.2.0-cp310-cp310-macosx_10_15_x86_64.whl
Size 457.1 kB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
1b59cf3ccd0314b097cf78a2798358f5f35f83def7c9aa4067d1dfc845ea1c1c
BLAKE2b-256 checksum
How to use checksums
dc3d5562c39507ed2585b9925d281392a7ac9257b96835755b495c27665e709b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release history Release notifications | RSS feed

1.3.0

30 release files

This release

1.2.0 This release

30 release files

1.1.4

30 release files

1.1.3

30 release files

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