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
- Quick reference: docs/pvfsQuickStart.txt
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.
- Configure trusted publishing on PyPI for this GitHub repository and workflow
publish.yml(OIDC — noPYPI_API_TOKENin repo secrets unless you choose that path). - Bump
versioninpyproject.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 tagv*runs.github/workflows/publish.yml: builds sdist + wheel on Ubuntu and uploads withpypa/gh-action-pypi-publish. (A Linux+Windows matrix used to emit two wheels with the same filename for this package, which broketwine checkwithBadZipFile; use cibuildwheel later if you need explicitwin_amd64wheels on PyPI.) - Manual run: Actions → Publish to PyPI → Run 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18a6d688e0b7801875ac868ac64539a11f3c11f396e83a7a47e88d91f3533add
|
|
| MD5 |
3234761d4d9d48789325321c32a2164c
|
|
| BLAKE2b-256 |
9b5054243ab1c5c9e412d5defe9f570dc9e1554cef76488475c24191c6792a97
|
Provenance
The following attestation bundles were made for pypvfs-1.0.1.tar.gz:
Publisher:
publish.yml on Pinnacle-Technology-Inc/pypvfs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypvfs-1.0.1.tar.gz -
Subject digest:
18a6d688e0b7801875ac868ac64539a11f3c11f396e83a7a47e88d91f3533add - Sigstore transparency entry: 1520757101
- Sigstore integration time:
-
Permalink:
Pinnacle-Technology-Inc/pypvfs@c374280846b02ad3a2b4b5a33ae04face0ba774a -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/Pinnacle-Technology-Inc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c374280846b02ad3a2b4b5a33ae04face0ba774a -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4af036841806adf938f445f702e00172185d2f00288eb46b63b746aa7c117f33
|
|
| MD5 |
b6585ddd34ccf0bd2a9b0daaff366a6b
|
|
| BLAKE2b-256 |
98d819c71e94fd0175d83789ad50ce4510c13c019eca755c131acfcdf78663b8
|
Provenance
The following attestation bundles were made for pypvfs-1.0.1-py3-none-any.whl:
Publisher:
publish.yml on Pinnacle-Technology-Inc/pypvfs
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pypvfs-1.0.1-py3-none-any.whl -
Subject digest:
4af036841806adf938f445f702e00172185d2f00288eb46b63b746aa7c117f33 - Sigstore transparency entry: 1520757111
- Sigstore integration time:
-
Permalink:
Pinnacle-Technology-Inc/pypvfs@c374280846b02ad3a2b4b5a33ae04face0ba774a -
Branch / Tag:
refs/tags/v1.0.2 - Owner: https://github.com/Pinnacle-Technology-Inc
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c374280846b02ad3a2b4b5a33ae04face0ba774a -
Trigger Event:
push
-
Statement type: