Skip to main content

fqxv (Python)

Read-only Python bindings for fqxv, a Rust toolkit for lossless FASTQ archiving.

uv pip install fqxv

The wheels are abi3 (one per platform, CPython >= 3.9) and carry the native codecs, so there is no Rust toolchain to install.

import fqxv

# Stream records (works on every layout, including reordered archives)
for rec in fqxv.open("reads.fqxv"):
    print(rec.name, rec.sequence, rec.quality)  # all bytes

# In-memory input works too
data = open("reads.fqxv", "rb").read()
n = sum(1 for _ in fqxv.open(data))

# Whole-archive convenience
fqxv.decompress_to_path("reads.fqxv", "reads.fastq")
raw = fqxv.decompress_to_bytes("reads.fqxv")
info = fqxv.inspect("reads.fqxv")
print(info.reads, info.format_version, info.platform)

# Column projection / random access (plain layout only)
idx = fqxv.open_index("reads.fqxv")
seqs = fqxv.read_sequences("reads.fqxv")        # list[bytes], skips quality
ids = fqxv.read_names("reads.fqxv", groups=[0]) # just the first row group
block0 = fqxv.read_block("reads.fqxv", 0)       # list[Record]

# Read over the network (fqxv.remote, standard-library HTTP). Streaming decodes the
# whole archive on the fly; projection fetches only the column you ask for via HTTP
# byte-range requests.
import fqxv.remote as remote
for rec in remote.stream("https://host/reads.fqxv"):   # or a presigned S3 URL
    ...                                                # streams; no full download
arc = remote.open_index("https://host/reads.fqxv")     # 1 tail GET → footer index
names = arc.names()                                    # ~1% of the file, CRC-checked
print(arc.bytes_fetched, "of", arc.size)
n = remote.download("https://host/reads.fqxv", "reads.fastq")  # → FASTQ on disk

# Any file-like works, so an AWS SDK response streams straight in — no fqxv HTTP:
import boto3
body = boto3.client("s3").get_object(Bucket=b, Key=k)["Body"]
for rec in fqxv.open(body):
    ...
# For concurrent async range fetches, drive fqxv.parse_index_suffix /
# Index.stream_range / fqxv.decode_*_bytes with your own httpx/aiohttp session
# (see fqxv.remote's module docstring).

# Integrity check — raises fqxv.FqxvError on a corrupt archive
fqxv.verify("reads.fqxv")

# Project the archive size/ratio from a FASTQ *without* compressing (gzip/BGZF ok)
est = fqxv.estimate("reads.fastq.gz", level=5)  # also: quality_binning=, sample_reads=
print(est.ratio, est.archive_bytes, est.exhausted)

# Paired mates (or 10x R1/R2/I1/I2) compress into one archive — pass a list and
# their sample sizes are summed. A str/bytes source stays a single input.
est = fqxv.estimate(["R1.fastq.gz", "R2.fastq.gz"])

The on-disk .fqxv format is stable at 1.0 (a version independent of this package's), so archives written today stay readable by later releases — and an archive this build cannot read is refused with an error, never misread.

Projection and open_index are unavailable for globally-reordered archives (--order any, --max, --order shuffle), whose streams are mutually dependent; use fqxv.open() to iterate those. Everything here is read-only: verify and estimate only measure — neither writes an archive — and full compression stays in the CLI.

Full API reference: https://rnabioco.github.io/fqxv/python/.

Build from source

uv pip install maturin
maturin develop            # from crates/fqxv-python/

Download files

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

Source Distribution

fqxv-0.6.1.tar.gz (896.8 kB view details)

Uploaded Source

Built Distributions

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

fqxv-0.6.1-cp39-abi3-win_amd64.whl (424.0 kB view details)

Uploaded CPython 3.9+Windows x86-64

fqxv-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (535.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

fqxv-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (505.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

fqxv-0.6.1-cp39-abi3-macosx_11_0_arm64.whl (462.2 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

fqxv-0.6.1-cp39-abi3-macosx_10_12_x86_64.whl (498.0 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

Details for the file fqxv-0.6.1.tar.gz.

File metadata

  • Download URL: fqxv-0.6.1.tar.gz
  • Upload date:
  • Size: 896.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fqxv-0.6.1.tar.gz
Algorithm Hash digest
SHA256 935abfd64c04c1957a145b2b1006b0bfd925669304db426738206f4e8e2605a8
MD5 de4aa6a8ff12b66febe47431d7ef69e1
BLAKE2b-256 638fea5b9e2224cd4521d81cd18d5a1aeaf376435d110df872bfd5f0ea0efef7

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.1.tar.gz:

Publisher: wheels.yml on rnabioco/fqxv

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

File details

Details for the file fqxv-0.6.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: fqxv-0.6.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 424.0 kB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fqxv-0.6.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 82c74592c7173fa7a0883d0f372792032ea3086792d3328f8996b2b855cb7877
MD5 19ed94f0d9ead3d37438abd24d9e70ca
BLAKE2b-256 42cd40f02db6d9284b42fd3200eccf1a1d009aea37ddff1e0d9654d1b79545ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.1-cp39-abi3-win_amd64.whl:

Publisher: wheels.yml on rnabioco/fqxv

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

File details

Details for the file fqxv-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fqxv-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b4fbf36cfb3a3b9d07012f2f454e6f3d957aef251b92ff811006ad1e9b5c2b0
MD5 d242908f860420aee2bbab8f27b0fd33
BLAKE2b-256 5b92de79d56a7c1282c34a5d739779a2dd41824539a783de4be49a4dd3efc02e

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: wheels.yml on rnabioco/fqxv

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

File details

Details for the file fqxv-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fqxv-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 02828fbca9b9bb0bac41d44736fd50831b4f6a95f51e000527b65376cb418834
MD5 c6ab5f424e8d6039bb55fd3b43489c1b
BLAKE2b-256 934828503afdb77ca3848a88903ea0d5d6dc2099fb2da6fddf996b9708fd1d73

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: wheels.yml on rnabioco/fqxv

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

File details

Details for the file fqxv-0.6.1-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: fqxv-0.6.1-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 462.2 kB
  • Tags: CPython 3.9+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fqxv-0.6.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5baa977835c208ab8c458adaf4aabfd1d262984ef23b6b8a8b8b8331e67a7c76
MD5 47f8d0d01d3ea0a91366304123423881
BLAKE2b-256 9883638974edfa499e397bdc903c7652c6e467cbc8b09566c9a813cdda91e4d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.1-cp39-abi3-macosx_11_0_arm64.whl:

Publisher: wheels.yml on rnabioco/fqxv

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

File details

Details for the file fqxv-0.6.1-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: fqxv-0.6.1-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 498.0 kB
  • Tags: CPython 3.9+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for fqxv-0.6.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b2e59267cab90e0d05fc5fe199d3e4e7e26ebcccfd2338e360b13cfd988bd8ec
MD5 22e6c02b518bf00c56b4bbd9a14dd459
BLAKE2b-256 05819b7cd18d8f330225e8eff37300e25b5fd85414aec7d3827774a53fb5da07

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.1-cp39-abi3-macosx_10_12_x86_64.whl:

Publisher: wheels.yml on rnabioco/fqxv

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

Release history Release notifications | RSS feed

0.7.0

6 files

0.6.2

6 files

This release

0.6.1 This release

6 files

0.6.0

6 files

0.5.2

6 files

0.5.1

6 files

0.5.0

6 files

0.4.0

6 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