BI-Vital Python Library
bivital is the official tool-chain for working with BI-Vital data in Python.
It stream-lines everything from project setup to labelling and makes your
workflows reproducible – whether you prefer a quick CLI call or an interactive
Jupyter notebook.
✨ Main capabilities
| Area | What you can do |
|---|---|
| Project management | Create a clean on-disk project folder tree for multi-series studies (bvtool project) |
| Data import | Import raw CSV records from the hard drive or directly from the BI-Vital hardware and sort them automatically by device ID. (bvtool data) |
| Series handling | Group measurements into logical blocks – perfect for cross-day sessions (bvtool series) |
| Label workflow | Attach time-stamped labels (activities, events, anomalies) via CLI or notebook helpers (bvtool label) |
| CLI everywhere | One Swiss-army-knife command: bvtool – ideal for scripts & head-less servers |
| Notebook ready | Native pandas/numpy objects make it easy to pass data to your own ML pipeline or use other libraries such as Neurokit2
|
🐍 Installation
The package is published on PyPI: PyPI - bivital.
Please refer to the README in the repository for detailed installation notes.
▶️ Usage
The full user manual can be found in the official Python library repository.
💡 Examples
Hands-on notebooks live in the src/bivital/example/ folder of the
official repository — perfect to copy-paste and adapt to your own project:
| Example | What it shows |
|---|---|
basic_example.ipynb |
Create a project, import BI-Vital CSV data, and plot ECG + heart rate. |
data_and_label_interpolate_example.ipynb |
Demonstrates attaching labels and performing time-aligned interpolation of signals + labels. |
time_index_handling_example.ipynb |
Shows advanced handling of time indices when working with multi-series data. |
→ Browse them at py_bivital/examples