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))
# Decode only some streams — deselected fields come back as b"" and their coded
# streams are skipped, never entropy-decoded (sequence-only measured ~12x faster
# on ONT long-read archives, ~1.3-1.6x single-threaded on short-read Illumina)
for rec in fqxv.open("reads.fqxv", streams=("seq",)):
... # rec.name == rec.quality == b""
# FASTA out, quality skipped entirely — the CLI's `decompress --fasta` as an API
fqxv.decompress_to_path("reads.fqxv", "reads.fasta", fasta=True)
# 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 — streams= selection works on
every layout. Two selection caveats: long-read archives code quality against the
bases, so selecting quality still decodes the sequence internally; and a skipped
stream's integrity digest cannot be checked (run fqxv.verify() for a full
check). 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/
Metadata
Release files for fqxv 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fqxv-0.8.0.tar.gz | 977.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| fqxv-0.8.0-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| fqxv-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| fqxv-0.8.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| fqxv-0.8.0-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
| fqxv-0.8.0-cp39-abi3-macosx_10_12_x86_64.whl | CPython 3.9 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 3.8 MB
Release files / fqxv-0.8.0.tar.gz
| Download URL | fqxv-0.8.0.tar.gz |
|---|---|
| Size | 977.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee8e1c442db6bf8f62821080e853d14c8ae63ececb7f01c900bc8800fffb3f17
|
|
BLAKE2b-256 checksum How to use checksums |
c47ae6263edc8b63a7af2ed7383821be3cd766e597a60f3bb6d33fbb673d2ca2
|
| 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 23, 2026.
Transparency logRelease files / fqxv-0.8.0-cp39-abi3-win_amd64.whl
| Download URL | fqxv-0.8.0-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 507.9 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
36feaaaf9185c500e19a509dd5a284c70b08fd0f6a4511656161856a88d0d83b
|
|
BLAKE2b-256 checksum How to use checksums |
11112da6353b9dfacc914f6e5d9fd2fbad8ad2d9cc13c72ff739f938d09c700a
|
| 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 23, 2026.
Transparency logRelease files / fqxv-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | fqxv-0.8.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 624.6 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
1e865d2cd1d1cfc6ce13f5d26629474ec1dcb89c5424f60b835dd0deee7a6eba
|
|
BLAKE2b-256 checksum How to use checksums |
11ba6249c03ef292314687ded0a59127af54630ca9b7049e8d682b9b2b8c8239
|
| 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 23, 2026.
Transparency logRelease files / fqxv-0.8.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | fqxv-0.8.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 578.3 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
de20ecb5fa035dd26843e89c39a17458f27d415522085e120ed5fbf46338624d
|
|
BLAKE2b-256 checksum How to use checksums |
a9a41457a32bb65cab097087416d377788380a6693b2fd4a1519d63b627c2061
|
| 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 23, 2026.
Transparency logRelease files / fqxv-0.8.0-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | fqxv-0.8.0-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 530.1 kB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
13a95d6d0f27637a551158db2a5ea2c8f94239b2ee74cbeeecc4b9e1bad0e894
|
|
BLAKE2b-256 checksum How to use checksums |
08cdb0f37352a41893e9c3dbbca9719b125ebbbcc059e080cc8abe480811d322
|
| 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 23, 2026.
Transparency logRelease files / fqxv-0.8.0-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | fqxv-0.8.0-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 584.4 kB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
7e4957b869284ddd807b960235d21dd13439d609a1524a075d40904992c2a381
|
|
BLAKE2b-256 checksum How to use checksums |
c26b18ff0ff207ea1467860172a2b8a091e19fd75f17779470344e692f4548f0
|
| 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 23, 2026.
Transparency log