Skip to main content

pypvfs

pypvfs is the PyPI package name for Pinnacle Technology PVFS — a virtual filesystem format used for physiological recordings. It is not the historical HPC “Parallel Virtual File System” or other unrelated uses of the “PVFS” acronym.

Install from PyPI, then import the pvfs_tools package:

pip install pypvfs
from pvfs_tools.Core.pvfs_data_file import PvfsDataFile

pvfs_tools provides:

  • pvfs_tools.Core — low-level PVFS access via ctypes and bundled native libraries (pvfs.dll / pvfs_wrapper.dll on Windows, libpvfs.so / libpvfs_wrapper.so on Linux).
  • pvfs_tools.Database — higher-level helpers for experiment databases (SQLAlchemy-backed).

Runtime dependencies are listed in pyproject.toml (numpy, pydantic, SQLAlchemy, Pillow).

Supported platforms (PyPI wheels)

Published wheels target 64-bit x86 only:

Platform Wheel tag (typical)
Linux manylinux_2_28_x86_64
Windows win_amd64

Wheels are tagged py3-none-…: one wheel per OS covers Python 3.10+ on that OS (the native code does not link against libpython).

There is no published wheel today for macOS, Linux ARM, musl (Alpine), or 32-bit Windows. On those environments, install from the sdist or a git checkout so the native libraries are built locally (see below).

Optional extras

Extra Installs Use case
video av (PyAV) WebM / VP8 export (WebMWriter and the video example GUI).
examples pyedflib, av Tk GUIs that need both EDF export and video/WebM paths.
test pytest, av Run the project test suite locally.

Examples:

pip install "pypvfs[video]"
pip install "pypvfs[examples]"
pip install -e ".[test]"   # from a clone: editable install + tests

Native library and building from source

From a wheel: native libraries are already built and installed under pvfs_tools.Core. No compiler is required.

From source (sdist or git clone): the build uses scikit-build-core and CMake to compile pvfs.cpp and pvfs_wrapper.cpp. You need:

  • CMake ≥ 3.15 (often pulled into the build environment automatically)
  • A C++17 toolchain (g++ / clang++ on Linux, MSVC on Windows)
pip install ".[test]"
pytest

Note on pip install -e . — scikit-build-core's editable mode loads Python files from src/pvfs_tools/, but CMake-built .dll / .so files live in the build/ directory. pvfs_binding.py looks for the native library next to itself, so an editable install will fail with “native library could not be loaded”. Use a regular install (or rebuild between edits) when you need the native code.

Examples (bundled in the wheel)

Runnable scripts are installed under pvfs_tools.examples. After pip install pypvfs you can use the pypvfs-examples command on your PATH, or run modules with python -m:

Module Suggested install Description
pvfs_tools.examples.pvfs_create_cli base package CLI: synthetic PVFS file
pvfs_tools.examples.pvfs_to_edf_converter pypvfs[examples] (needs pyedflib) Tk: PVFS → EDF+
pvfs_tools.examples.pvfs_to_video_converter pypvfs[video] or pypvfs[examples] (needs av) Tk: PVFS video → WebM
pypvfs-examples --list
python -m pvfs_tools.examples.pvfs_create_cli --help

The same .py files also live under examples/ in the repository for browsing in GitHub.

Documentation and source

  • PyPI shows this README; the BSD 3-Clause license text is included in package metadata (see the LICENSE file in the installed .dist-info / sdist).
  • Library usage (detailed): docs/USAGE.md — workflows, APIs, and patterns; not in the wheel; browse on GitHub or in a clone. Written to match tests/test_pvfs.py.
  • Source and issues: github.com/Pinnacle-Technology-Inc/pypvfs (also set as Repository / Documentation in pyproject.toml for pip show / PyPI links).
  • Releases (maintainers): see docs/RELEASE.md in the repo — not installed into site-packages.

Publishing (maintainers)

Routine releases use GitHub Actions and PyPI trusted publishing (OIDC), not ad-hoc twine from a laptop.

  1. Bump version in pyproject.toml and commit.
  2. Create and push a tag whose name starts with v (e.g. git tag v1.0.6 && git push origin v1.0.6).
  3. Confirm the Publish to PyPI workflow ran for that tag (or run it manually from the Actions tab).

That workflow uses cibuildwheel on Linux and Windows to build the platform wheels and uploads wheels plus the sdist. Details: docs/RELEASE.md.

Metadata

Release files for pypvfs 1.0.7

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

Source distribution (sdist)

Source distribution for pypvfs 1.0.7
File Size Uploaded
pypvfs-1.0.7.tar.gz 20.0 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pypvfs 1.0.7
File Interpreter ABI Platform
pypvfs-1.0.7-py3-none-win_amd64.whl Python 3 none Windows x86-64 Details
pypvfs-1.0.7-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64, Linux glibc 2.27+ x86-64 Details

Total release size: 20.7 MB

Release files / pypvfs-1.0.7.tar.gz

Download URL pypvfs-1.0.7.tar.gz
Size 20.0 MB
Tags Source
SHA-256 checksum
How to use checksums
6103cdde8a56481c68ed88f8b092a73e09d9189ac74d1c5b5186d7b573fa100e
BLAKE2b-256 checksum
How to use checksums
a5c5a14687710922a8fbd92449dea60391532a6f031736460dab542a0beb9418
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / pypvfs-1.0.7-py3-none-win_amd64.whl

Download URL pypvfs-1.0.7-py3-none-win_amd64.whl
Size 106.7 kB
Tags Python 3 Windows x86-64
SHA-256 checksum
How to use checksums
b995b02b3844b319ee9795d7a213b455b14e325803d6359131ec64f764a13409
BLAKE2b-256 checksum
How to use checksums
e2ee7d5b8872c551814a71f11b6dc82e55d0cfd9b017ca6d8cd8bf6289745122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / pypvfs-1.0.7-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pypvfs-1.0.7-py3-none-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 572.8 kB
Tags Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
1eca67839443176874908f865216af37f881195886111ede6e44f44c1b83f035
BLAKE2b-256 checksum
How to use checksums
82a898aac698c7d5fbfaadbb713b087475efb55dfb3229f632e07910b41d68f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

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

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.7 This release

3 release files

1.0.6

3 release files

1.0.5

3 release files

1.0.4

3 release files

1.0.3

3 release files

1.0.1

2 release files

0.0.1

2 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