Skip to main content

Python bindings for Pinnacle Technology PVFS (virtual filesystem for physiological recordings)

Project description

pypvfs

pypvfs is the PyPI distribution name for Pinnacle Technology PVFS — a virtual filesystem used for physiological recordings. This is not related to the historical HPC “Parallel Virtual File System” or other unrelated “PVFS” acronyms.

After installation you import the pvfs_tools Python package (same module layout as in the former Morelia monolith):

pip install pypvfs
from pvfs_tools.Core.pvfs_data_file import PvfsDataFile

Optional extras

Extra Purpose
video WebM/VP8 export (WebMWriter uses PyAV). pip install "pypvfs[video]"
test pytest + av for running the test suite locally
examples pyedflib + av for the Tk GUI EDF and WebM examples

Native library

The package ships platform-specific native libraries under pvfs_tools.Core (.dll on Windows, .so on Linux) when present in the wheel or source tree. If your platform binary is missing, build from src/pvfs_tools/Core/ using build_linux.sh (Linux/WSL) or build_pvfs_x64.ps1 (under src/pvfs_tools/ on Windows), then from this repository root run pip install -e ..

Examples (repository examples/)

Requires a working pypvfs install; GUI examples need a display.

Script Extra deps Description
examples/pvfs_create_cli.py CLI to create a synthetic PVFS file
examples/pvfs_to_edf_converter.py pyedflib Tk GUI: PVFS → EDF+
examples/pvfs_to_video_converter.py pypvfs[video] Tk GUI: PVFS video → WebM
pip install pyedflib
python examples/pvfs_to_edf_converter.py

Documentation

Tests

pip install -e ".[test]"
pytest

Repository

Source and issues: see Repository URL in pyproject.toml.

Publishing releases

Step-by-step (tags, GitKraken, PyPI checks): docs/RELEASE.md.

Do not rely on twine upload from a developer machine for routine releases (credentials drift and audit pain). Use the GitHub Action instead.

  1. Configure trusted publishing on PyPI for this GitHub repository and workflow publish.yml (OIDC — no PYPI_API_TOKEN in repo secrets unless you choose that path).
  2. Bump version in pyproject.toml, commit, then create and push a version tag matching your policy, e.g. v0.1.2:
    git tag v0.1.2
    git push origin v0.1.2
    
    Pushing tag v* runs .github/workflows/publish.yml: builds sdist + wheel on Ubuntu and uploads with pypa/gh-action-pypi-publish. (A Linux+Windows matrix used to emit two wheels with the same filename for this package, which broke twine check with BadZipFile; use cibuildwheel later if you need explicit win_amd64 wheels on PyPI.)
  3. Manual run: Actions → Publish to PyPIRun workflow (same build/upload path).

Note: ptech-morelia already uses a similar pattern (tag push + matrix build + OIDC) in its packaging workflow — keep both projects on the same release habit so versions stay aligned when you cut coordinated releases.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypvfs-1.0.1.tar.gz (171.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypvfs-1.0.1-py3-none-any.whl (164.5 kB view details)

Uploaded Python 3

File details

Details for the file pypvfs-1.0.1.tar.gz.

File metadata

  • Download URL: pypvfs-1.0.1.tar.gz
  • Upload date:
  • Size: 171.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pypvfs-1.0.1.tar.gz
Algorithm Hash digest
SHA256 18a6d688e0b7801875ac868ac64539a11f3c11f396e83a7a47e88d91f3533add
MD5 3234761d4d9d48789325321c32a2164c
BLAKE2b-256 9b5054243ab1c5c9e412d5defe9f570dc9e1554cef76488475c24191c6792a97

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypvfs-1.0.1.tar.gz:

Publisher: publish.yml on Pinnacle-Technology-Inc/pypvfs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pypvfs-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pypvfs-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 164.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pypvfs-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4af036841806adf938f445f702e00172185d2f00288eb46b63b746aa7c117f33
MD5 b6585ddd34ccf0bd2a9b0daaff366a6b
BLAKE2b-256 98d819c71e94fd0175d83789ad50ce4510c13c019eca755c131acfcdf78663b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for pypvfs-1.0.1-py3-none-any.whl:

Publisher: publish.yml on Pinnacle-Technology-Inc/pypvfs

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page