Skip to main content

VibFrame to AnnData

Python package for staged conversion of TWave VibFrame data into reusable AnnData datasets.

Public user and API documentation: https://413hq.github.io/vibframe-anndata-docs/

The workflow is intentionally split in two phases:

  1. Ingest raw VibFrame data once into an AnnData base (obs, obsm, uns).
  2. Add, recalculate or remove features from the raw signals already stored in AnnData, without reopening the original VibFrame.

For datasets that fit comfortably in memory:

from vibframe_anndata import add_features, import_raw, remove_features, write_h5ad

adata = import_raw("dataset.vibframe.zip")
write_h5ad(adata, "dataset_raw.h5ad")

adata = add_features(
    adata,
    {
        "version": 1,
        "features": [
            {"name": "rms", "source": "waveform"},
            {"name": "kurtosis", "source": "waveform"},
        ],
    },
)

adata = remove_features(adata, ["kurtosis"])
write_h5ad(adata, "dataset_features.h5ad")

Snapshot-level evaluation labels under evaluation/snapshot_truth/ can be carried into obsm["ground_truth"] without exposing them as model features:

adata = import_raw(
    "dataset.vibframe.zip",
    config={"version": 1, "ground_truth": {"enabled": True, "on_missing": "error"}},
)

For datasets larger than RAM, use the blockwise H5AD APIs:

from vibframe_anndata import import_raw_to_h5ad, add_features_to_h5ad

base = import_raw_to_h5ad(
    "dataset.vibframe.zip",
    "dataset_raw.h5ad",
    config={
        "version": 1,
        "raw_import": {"on_missing_signal": "nan"},
        "ground_truth": {"enabled": True, "on_missing": "error"},
        "output": {"dtype": "float32"},
    },
    block_size_mib=8,
)

add_features_to_h5ad(
    base,
    {
        "version": 1,
        "output": {"dtype": "float32"},
        "feature_policy": {"on_error": "nan"},
        "features": [{"name": "rms", "source": "waveform"}],
    },
    output="dataset_features.h5ad",
    block_rows=256,
)

The large-file path is transactional: raw samples are read in observation blocks and the destination is replaced only after all feature blocks succeed.

Install from PyPI:

python -m pip install vibframe-anndata

Install for development:

python -m pip install -e ".[dev]"

The repository intentionally does not version the project data/ directory. The mandatory CI fixture is generated deterministically from versioned synthetic source.

License

The software package is released under the BSD 3-Clause License, allowing academic and research users to inspect, modify and redistribute the code while retaining the copyright and license notices.

The BSD license applies to the software source code distributed by this project. External or reference datasets, VibFrame captures and other third-party material are not relicensed by this repository unless explicitly stated. Release archives exclude VibFrame reference binaries and the local data/ tree.

Documentation

User-facing and API documentation is published independently of this repository and versioned with package releases:

Internal development, architecture, benchmark and requirements documentation remains under docs/ in this repository.

Release files for vibframe-anndata 0.2.2

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

Source distribution (sdist)

Source distribution for vibframe-anndata 0.2.2
File Size Uploaded
vibframe_anndata-0.2.2.tar.gz 164.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vibframe-anndata 0.2.2
File Interpreter ABI Platform
vibframe_anndata-0.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 250.9 kB

Release files / vibframe_anndata-0.2.2.tar.gz

Download URL vibframe_anndata-0.2.2.tar.gz
Size 164.0 kB
Tags Source
SHA-256 checksum
How to use checksums
3258559788542853c3fa05e06e505dc1cb7c3dae1ecf2262c066fb0013fdb698
BLAKE2b-256 checksum
How to use checksums
72286e7d7bda74cf061043fd29eaedb6e5d8f74fedb6c15f555de5559574aeeb
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 Sep 15, 2026.

Transparency log

Release files / vibframe_anndata-0.2.2-py3-none-any.whl

Download URL vibframe_anndata-0.2.2-py3-none-any.whl
Size 86.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
33b87bdfac3bc1e3d0f206b9be7d0a5156daaed5f82ab9f165b4746d7d7a03a6
BLAKE2b-256 checksum
How to use checksums
264cfbbdf7fabb1b8e9096b8d59174b9b31f82fe1d0a7f6ed156b799fe900b4e
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 Sep 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.0

2 release files

This release

0.2.2 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

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