Skip to main content

mef3io

Read and write MEF 3.0 (Multiscale Electrophysiology Format) files from Python, MATLAB and C++. MEF 3.0 is a compressed, optionally encrypted file format for long electrophysiology recordings: mainly EEG, intracranial EEG (iEEG) and ECG, but it suits any regularly sampled signal, such as EMG, other biosignals or sensor data. One C++ core does the work, so every language reads and writes the same files the same way. Sessions written by mef3io open in the established MEF 3.0 tools listed below, and sessions written by those tools open in mef3io.

PyPI Python CI Docs License

Documentation: https://bnelair.github.io/mef3io/

MEF 3.0 and the original libraries

mef3io grew out of an earlier stack of MEF libraries and stays compatible with it: files written by either open in the other. MEF 3.0 support is maintained here, in mef3io, as open source (Apache-2.0).

  • MEF 3.0 specification: the header of meflib, meflib.h, is titled "Specification for Multiscale Electrophysiology Format (MEF) version 3.0". The format's design is described in Brinkmann et al., Large-scale electrophysiology: acquisition, compression, encryption, and storage of big data, J Neurosci Methods 180(1):185-192, 2009, doi:10.1016/j.jneumeth.2009.03.022.
  • meflib: the original reference C library for MEF 3.0, from the msel-source project.
  • pymef (docs): a Python wrapper over meflib.
  • mef_tools (archived; on PyPI as mef-tools): high-level Python reading and writing built on pymef. mef3io stands in for it: from mef3io import MefReader, MefWriter.
  • MATLAB (legacy): matmef (a MATLAB wrapper over meflib), mef_reader_fieldtrip (FieldTrip reader for MEF 2.1, MEF 3.0 and MED 1.0) and MEF_import (EEGLAB plugin). mef3io has its own MATLAB interface.
  • The older MEF 2.1 format has its own library and specification, mef_lib_2_1; mef3io reads and writes MEF 3.0 only.

mef3io is an independent implementation of the specification, tested against meflib, pymef and mef_tools. New to the format? See MEF 3.0 for students.

Install

pip install mef3io

Prebuilt wheels for Linux, macOS and Windows (Python 3.10+); numpy is the only dependency. For MATLAB, download mef3io-matlab-vX.Y.Z.zip from the latest release and addpath it, or build the MEX yourself. For C++, add core/ to your CMake project. Details for all three: Install.

Usage

import numpy as np
import mef3io

fs = 256.0
start = 1_700_000_000_000_000            # microseconds since 1970 (uUTC)
signal = np.random.randn(60 * int(fs))   # one minute
signal[1000:1500] = np.nan               # a gap: NaN is stored as missing data

with mef3io.Writer("session.mefd", overwrite=True, units="uV") as w:
    w.write("eeg1", signal, start, fs=fs)
    w.write_annotations([{"time": start, "text": "recording start"}], channel="eeg1")

with mef3io.Reader("session.mefd") as r:
    print(r.channels)                     # ['eeg1']
    x = r.read("eeg1", start, start + 10_000_000)  # first 10 s, float64, gaps = NaN
    print(r.segments("eeg1"))             # what data is where
    print(r.records("eeg1"))              # annotations

The same session in MATLAB:

r = mef3io.Reader('session.mefd');
x = r.read('eeg1');

More: the Python, MATLAB and C++ guides, runnable examples, and short how-to pages such as converting EDF, EDF+ or BDF to MEF 3.0.

What it is built for

  • Recordings far larger than memory. A single channel of a long recording can be tens of gigabytes. A read loads only the blocks the requested time window needs, and decoding runs on all cores.
  • Missing data as a first-class value. Gaps in a recording come back as NaN on the sampling grid, never silently stitched together; read_raw returns the raw integer samples with a validity mask.
  • Recordings that keep growing. A session can be appended to for days or months; with one Writer kept open, each append costs time in proportion to the new data, not to the recording so far. If a write is interrupted, the session can be checked and recovered — see Long recordings and Validating and repairing.
  • Existing data and code. It reads MEF 3.0 sessions from other writers, and from mef3io import MefReader, MefWriter runs code written for the legacy mef_tools package with only the import changed.
  • Protected recordings. Both MEF 3.0 password levels work as specified: the level-1 password opens the technical metadata while the subject's identity stays behind the level-2 password.
  • Looking before reading. mef3io.inspect(path) (or python -m mef3io inspect) describes a session — channels, segments, gaps, annotations, encryption, what identifying fields it holds — without reading any samples, and long reads and operations can report progress and be cancelled from another thread (Python and C++).
  • Sharing recordings without identifying the patient. mef3io.anonymize_session writes a de-identified copy of a session: every date and time moved by the same amount (so events still line up with the signal), names, ID, location, descriptions and annotation text removed, and the samples copied unchanged. Channels can be left out, and the copy can be unencrypted or protected with new passwords. mef3io.anonymize.check reports everything that would stop a copy before anything is written, and every copy is verified against its source (no original date or name left anywhere) before it is saved. The original is never changed. Python and C++; see De-identification.
  • Programs that stay responsive. Opening, reading and writing release Python's GIL, so a GUI or server keeps running while a session opens or decodes on a worker thread. Reads on one Reader can run from several threads at once (a Writer is not for sharing); see Parallelism for the limits.
  • One file instead of a folder. A session can be packed into a single .mefd.tar and read in place, without unpacking.

Upgrading from mef3io 1.1.2 or earlier

Sessions written by mef3io 1.1.2 and earlier read correctly in mef3io and pymef, but declare some buffer sizes as 0, which can crash meflib-based readers. Opening one warns once. Appending with a current version repairs the segment it extends; mef3io.repair_session fixes the rest in place — see Validating and repairing. Changes in every version, and what an upgrade asks of you, are listed in the release notes.

Scope and limitations

  • Video files (.vidd) are out of scope; a session's video folders are skipped.
  • Encryption is all or nothing per session: unencrypted, or both password levels set. It protects the subject's identity and annotation text, not the signal: the samples and their timing can be decoded without a password, so keep confidential recordings on protected storage. See what encryption protects.
  • Data-block encryption. The MEF 3.0 specification defines encrypted data blocks. Leaving them unencrypted is not the design of MEF 3.0 but an artifact of past implementations: meflib does not encrypt them unless asked, and the legacy readers mishandle encrypted blocks (pymef crashes on them, and meflib requires the level-2 password even for level-1 blocks). mef3io reads such blocks (some third-party tools write them): a block encrypted at level 1 with either password, one at level 2 with the level-2 password. Recordings mef3io writes today leave data blocks unencrypted and stay fully compatible; encrypted metadata works in every direction. mef3io intends to follow the specification here later, which could produce recordings that older tools cannot read; that is not decided yet (#94, #92).
  • Single-file .mefd.tar sessions are a mef3io addition, not part of MEF 3.0, so meflib, pymef and mef_tools cannot open them directly. They are plain uncompressed tar files, so they can always be unpacked: mef3io.extract_session, tar -xf (built into Windows 10 and later, macOS and Linux) or the free 7-Zip on Windows. The unpacked .mefd folder works with the legacy tools.
  • Records (annotations): every record type MEF 3.0 defines is read; Note, SyLg and EDFA can be written with their text.
  • De-identification: meflib's recording-time offset, once used to "anonymize" sessions, is deprecated in mef3io: it does not hide the recording date (the date stays in every metadata file, in plain text unless the session is encrypted). mef3io never creates such sessions; it reads and extends existing ones. To share a recording, make a de-identified copy with mef3io.anonymize_session (Python and C++, not MATLAB). It keeps channel names and does not change the signal itself, and with annotation text kept it removes only the names it knows — see De-identification.
  • MATLAB reads and writes sessions, annotations and metadata, packs and unpacks .mefd.tar archives and recovers interrupted writes. Inspecting, validating and repairing, cancelling and progress, and de-identification are in Python and C++ only.
  • Pure-Python backend is not implemented (backend="pure" raises); the wheels carry the compiled core.

Contributing and support

Bug reports, feature requests and questions go to issues. To build and test from source, see CONTRIBUTING.md; the on-disk format reference and the design are on the documentation site. Report vulnerabilities privately as described in SECURITY.md.

core/        C++ library (the format, read, write, validation) + Catch2 tests
bindings/    Python extension (nanobind)
python/      the mef3io Python package
matlab/      MEX gateway over the C ABI + the +mef3io MATLAB classes
examples/    runnable scripts
tests/       pytest suites, cross-checked against pymef / mef_tools
benchmarks/  performance comparisons
docs/        documentation site source
  • mef3io-studio: a desktop app for exploring and anonymizing MEF 3.0 recordings; installers are on its Releases page.
  • mef3io-server: a gRPC server that streams MEF 3.0 data to viewers on a local network.

Citing and license

If you use mef3io in published work, please cite it via CITATION.cff. Licensed under Apache 2.0. Maintained by Filip Mivalt, Bioelectronics Neurophysiology and Engineering Laboratory (BNEL) at Mayo Clinic.

Contributors and credits

mef3io: Filip Mivalt (maintainer), Vladimir Sladky, Václav Křemen.

Past tools contributors: Bruno Aristimunha, Mark R. Bower, Benjamin H. Brinkmann, Clemens Brunner, Jan Cimbálník, Daniel P. Crepeau, Richard Jie Cui, Arnaud Delorme, Dora Hermes, Václav Křemen, Eric Larson, Filip Mivalt, Vladimir Sladky, Matt Stead, Keith A. Stengel, Max van den Boom, Vince Vasoli, Gregory A. Worrell and others. We thank them all. The past tools are listed above and in CONTRIBUTORS.md.

This project follows a code of conduct.

Metadata

Release files for mef3io 1.4.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.4.0
File Size Uploaded Provenance
mef3io-1.4.0.tar.gz 1.0 MB Without provenance Details

Built distributions (wheels)

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

Total release size: 23.1 MB

Release files / mef3io-1.4.0.tar.gz

Download URL mef3io-1.4.0.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
0b13e040dce307c0239153dff9dc61858ead191cde23e615648620e1a0d13454
BLAKE2b-256 checksum
How to use checksums
8003c38371b741d7e533165ba3c048ace0da9ef089688c899993922050bf72ae
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.4.0-cp314-cp314-win_arm64.whl

Download URL mef3io-1.4.0-cp314-cp314-win_arm64.whl
Size 710.1 kB
Tags CPython 3.14 Windows ARM64
SHA-256 checksum
How to use checksums
13d47e9efcf187c03bf13c8a9a68e12424db0fc7f695db7dddb7c9d15a81637c
BLAKE2b-256 checksum
How to use checksums
264d9c290d122a63a39ac5a1d02a916c26e9736ac666a1ee48c0a96b1725d0dd
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.4.0-cp314-cp314-win_amd64.whl

Download URL mef3io-1.4.0-cp314-cp314-win_amd64.whl
Size 708.5 kB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
c1da952cf43b763778922f3d7063ee0fb8ff237e06bff7954e1b388f141a48fb
BLAKE2b-256 checksum
How to use checksums
4e408e4c41c1dbb3ec11f238af0ef390f5b62a16412f1cafa2b58c049fffe255
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.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.4.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 888.8 kB
Tags CPython 3.14 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
5f6aef4b11d4824f96c8798888385c324d13873351bd6bfde6ba5a34eda76bc0
BLAKE2b-256 checksum
How to use checksums
bff19722bbf68ad1d2394f72351472d0fb075da7cd94696d4834fe0d2a9c3962
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.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.4.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 790.8 kB
Tags CPython 3.14 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
c6ce3b283a3f60449c3c788c46202b5bfe2c3c6039d1f00c86c498e36835620f
BLAKE2b-256 checksum
How to use checksums
9de490a28052b1f82c35e4d933fe833d89abecd3dc479589e6da6317ce0784b1
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.4.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL mef3io-1.4.0-cp314-cp314-macosx_11_0_arm64.whl
Size 712.2 kB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2176092033da5993aaf31e9a979e276673d0391148638e74cf6b13fc595724e7
BLAKE2b-256 checksum
How to use checksums
41a0acbc719dfec525cfa95b2e5db557b553b87b4f145b183ca4aa915fb8f122
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.4.0-cp314-cp314-macosx_10_15_x86_64.whl

Download URL mef3io-1.4.0-cp314-cp314-macosx_10_15_x86_64.whl
Size 769.2 kB
Tags CPython 3.14 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
db8dfd02465cc394fac853acb2d2be74cced90d9d16e1edbd5de2de99cdc97ab
BLAKE2b-256 checksum
How to use checksums
47c64d53ab06fff98ee636bdad3d4e6d03f3c019da6f39d7332c0e81b622efef
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.4.0-cp313-cp313-win_arm64.whl

Download URL mef3io-1.4.0-cp313-cp313-win_arm64.whl
Size 688.6 kB
Tags CPython 3.13 Windows ARM64
SHA-256 checksum
How to use checksums
7dd49f052dd9fc05c48b202d6da2edea16515bf39f690db5843740914a59c2de
BLAKE2b-256 checksum
How to use checksums
61557285b7e3d914bf74a414bc1c06393fe1f28035b2e4b1c7e99bddc566a101
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.4.0-cp313-cp313-win_amd64.whl

Download URL mef3io-1.4.0-cp313-cp313-win_amd64.whl
Size 691.6 kB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
4e1ec0209ad3f5fe3572e3447a2892fa30f46da8676a260f4218d1859c7dac73
BLAKE2b-256 checksum
How to use checksums
0c9d446ad99bdc12b29626d334349f51a1c25794e7919bc10693d13f8d9a2b70
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.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.4.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 888.5 kB
Tags CPython 3.13 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b348a5ff0c2466a879420003c7bda17120252877b856090e376a7824970c9b7e
BLAKE2b-256 checksum
How to use checksums
ed99d353d403449d3cacedbc43205a493a110851a4fdf0fb0f7ebe7b0b26ece2
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.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.4.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 790.7 kB
Tags CPython 3.13 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
459fbce7ff19146d8039e24316fdfbfc12bc91204b2b33c79e3b755258ed3676
BLAKE2b-256 checksum
How to use checksums
039225e38f76fdf173c6df3c778bb093e2809e7e22e5ebab90d8ef5a26b767cb
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.4.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL mef3io-1.4.0-cp313-cp313-macosx_11_0_arm64.whl
Size 712.3 kB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
882f3d21ab669617b380c1d61276ed8d8c35def8a22577fb1ca155b8cf605ea2
BLAKE2b-256 checksum
How to use checksums
93d94be73c8526ead83a228c6483356d14ac3beb5cb820319bc6fda73436b157
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.4.0-cp313-cp313-macosx_10_15_x86_64.whl

Download URL mef3io-1.4.0-cp313-cp313-macosx_10_15_x86_64.whl
Size 769.0 kB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
d5bbbba23b8e2877c7a338c9837221b70215e246ca07d7f51f2a0b4286ea2078
BLAKE2b-256 checksum
How to use checksums
d1b947f662010eaf258e7c8692365919ac3cac86f4d74a1f936a19ccbde3a14f
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.4.0-cp312-cp312-win_arm64.whl

Download URL mef3io-1.4.0-cp312-cp312-win_arm64.whl
Size 688.7 kB
Tags CPython 3.12 Windows ARM64
SHA-256 checksum
How to use checksums
ea97c8cfe3d179bfb97215d2f1c337d15bc5a0e3db75847c82bbf4fdc4a8087d
BLAKE2b-256 checksum
How to use checksums
dbf8cc5b01749b8a8e1d66a97a709d2938a207094720f9d47ba35ee7894a5bcb
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.4.0-cp312-cp312-win_amd64.whl

Download URL mef3io-1.4.0-cp312-cp312-win_amd64.whl
Size 691.6 kB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
ff962c1b7b226cfce984aac94f8c9a29389e1472c88c97093744893200ddfb9a
BLAKE2b-256 checksum
How to use checksums
5b378f9fae297c4a611e3a68d8e9c81e6e0582379e2fd878d5b5a7f53f92a005
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.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.4.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 888.6 kB
Tags CPython 3.12 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
4eaa7c278217424c1e7db25aa01e7203b08e5bade4137e9d21b1640f5d5812d5
BLAKE2b-256 checksum
How to use checksums
a0f03f6563e2f9dc5bf10338e13cbde682aeb76683cd0b33f454e944be6bedf0
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.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.4.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 790.7 kB
Tags CPython 3.12 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
48ceec017f47d01ff3c77092fef0851742f70cc5eaf82d3e88f48516046948de
BLAKE2b-256 checksum
How to use checksums
980747e339c8d46617e9aaef95ee95a09e80189a309f21ed71764a8a2a8bfbff
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.4.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL mef3io-1.4.0-cp312-cp312-macosx_11_0_arm64.whl
Size 712.2 kB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
3ed48e4989edd9aaa86add543bf29e36caccf38f5f30568e4772b9987d35122e
BLAKE2b-256 checksum
How to use checksums
ace7bc71e8de64a70457aa871429921623f6198502e6daa76d9b8a8ba7ed223c
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.4.0-cp312-cp312-macosx_10_15_x86_64.whl

Download URL mef3io-1.4.0-cp312-cp312-macosx_10_15_x86_64.whl
Size 769.0 kB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
5859b9abac36afa89058a8cf50d268f9f30c7b8175c30923290c42eab47747e0
BLAKE2b-256 checksum
How to use checksums
2749cb1de889bdcda2d39b266f3db0ed4b041ce847324d0771f91c6e48ff26c2
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.4.0-cp311-cp311-win_arm64.whl

Download URL mef3io-1.4.0-cp311-cp311-win_arm64.whl
Size 689.0 kB
Tags CPython 3.11 Windows ARM64
SHA-256 checksum
How to use checksums
673371644ec43167258e1f99f5eebcf4ae694aded46850d8bbed8f2ffbe94308
BLAKE2b-256 checksum
How to use checksums
653c59431011677cc754a4cd0fb96a82debaf99c915160e0504294a83645d7e8
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.4.0-cp311-cp311-win_amd64.whl

Download URL mef3io-1.4.0-cp311-cp311-win_amd64.whl
Size 691.9 kB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
71c48347c94bb29798820892c0aad8b68a8ca9a04ac1196d95a8e792de226b54
BLAKE2b-256 checksum
How to use checksums
9044a30003347a15baf0bb462110ed4670ad1fdd9b05d8a56437e5e5dfe8e78d
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.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.4.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 889.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
5fe9fa51d58d820361dfc02b821f1a23ba3248d91941f98ae13366f0528605b4
BLAKE2b-256 checksum
How to use checksums
755d79a5b1563701bbea6fdfb58768ac56776763577519fcc8c9ba0e0366d220
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.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.4.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 792.0 kB
Tags CPython 3.11 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
43356282c105fda987f64df33f6ba45943930eb59e31be91249d271164102972
BLAKE2b-256 checksum
How to use checksums
6d84d4057a9945f9cae91dc0a52e8b6b17a920a04622f560f6a9f59895354612
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.4.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL mef3io-1.4.0-cp311-cp311-macosx_11_0_arm64.whl
Size 712.8 kB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7ea92558736d62a441721a8c33fac3e1cd6f177f234040c7f69e45b2e7e39d50
BLAKE2b-256 checksum
How to use checksums
82c025463c69118390b942e90912e9a2db578b1bfb2059736b5683b529bc75f7
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.4.0-cp311-cp311-macosx_10_15_x86_64.whl

Download URL mef3io-1.4.0-cp311-cp311-macosx_10_15_x86_64.whl
Size 769.3 kB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
855753e5d9979050af0d6b69d87051781ce1f95db23b7a14b29d9b1b41b18d0e
BLAKE2b-256 checksum
How to use checksums
f0cdf7f81c01b7a0854139b64a7f9579a0e15aa0fe427c7eb10d2b7e367b11a1
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.4.0-cp310-cp310-win_amd64.whl

Download URL mef3io-1.4.0-cp310-cp310-win_amd64.whl
Size 691.6 kB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
12dd4953fe21b5b7d3d9cad8c89170c44a029d6d3db91ebf2580687093a440bc
BLAKE2b-256 checksum
How to use checksums
d425a84899f4794393131a3adfd39d24e950fe08767d671c85dd9c7b419aa6ee
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.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL mef3io-1.4.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 889.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
ff75771114f0b33b9c7d2be7ed1782f49da05cb45ae1668d6df816ed92c7cbb3
BLAKE2b-256 checksum
How to use checksums
bf63e11f73a59f6e9ba35e42c9b16e344bcc23df922b09a3f9071b81b4ce2436
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.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl

Download URL mef3io-1.4.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Size 792.4 kB
Tags CPython 3.10 Linux glibc 2.26+ ARM64 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
d3fb222d779b31b41bc0e8be475aa6f98f8896c22ae454669d01a17f34ed998e
BLAKE2b-256 checksum
How to use checksums
dc30a7c5ec7bb431e2503746429269fe0062f31ae024804d21308d201204a9fb
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.4.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL mef3io-1.4.0-cp310-cp310-macosx_11_0_arm64.whl
Size 713.2 kB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b4277f48eb6c8e21d9f5c666b130a88e893696ed1e23b49b23ef6c6200a3ceab
BLAKE2b-256 checksum
How to use checksums
1c14fef8570a41f28fddd10723cd9765c708df47a406740ba9f370934adea348
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.4.0-cp310-cp310-macosx_10_15_x86_64.whl

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

Security for mef3io 1.4.0

Provenance

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

No provenance found

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

A note on package security

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

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