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.0.tar.gz (891.0 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.0-cp39-abi3-win_amd64.whl (424.3 kB view details)

Uploaded CPython 3.9+Windows x86-64

fqxv-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (535.3 kB view details)

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

fqxv-0.6.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (504.8 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

fqxv-0.6.0-cp39-abi3-macosx_11_0_arm64.whl (462.1 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

fqxv-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl (498.4 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: fqxv-0.6.0.tar.gz
  • Upload date:
  • Size: 891.0 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.0.tar.gz
Algorithm Hash digest
SHA256 104f1a202e4230dfdabd152e1568b58ae9064e1257e517992b097ea4414fb657
MD5 041d5dff0baea69944f79e109f064d3c
BLAKE2b-256 f85a92b8854c85c5463228b27d30fb2698ed68616c52b4d432769431b81a9d48

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.0.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.0-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: fqxv-0.6.0-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 424.3 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.0-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 0325f71bc1586c780eedeb02b8de4c0cb1490e38a123bc4b3c849adedf78c825
MD5 f14fd15adebd0416fd9dd16943e26a82
BLAKE2b-256 70a44fb3e82f2c423b38a1eb760b213ed95b04c4b6a8abb814a7714c297faa53

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.0-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.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for fqxv-0.6.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23625e91c329a7579e3b28ccbf2791a3ac3a88a269d5314fc129f3246e6b5320
MD5 1445a2b0f35fba9cd9cb3f80eb685631
BLAKE2b-256 168b2d7c9014612bcb2b4be0c6c9094b6e4b10a386f2e6b1a6f93be2aa2bdc55

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.0-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.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for fqxv-0.6.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bae69d8d2465d6214ccf9448d4b54325eb751023abee3779e2798dbceb4c1284
MD5 2051d0fae2ae2d89ee4798f7284f9f56
BLAKE2b-256 b9c9014451db8ab440792ce9850af3c9f46859e177b8ea9a5fb1ce851901a8bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.0-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.0-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: fqxv-0.6.0-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 462.1 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.0-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dfc3d618dfc0ec165a3ad9530ccdc705625f2ac14d7af85fd1ec9330923eea52
MD5 77a74654242af9cb18c19c127f3fb2c6
BLAKE2b-256 b6c9d4e8fa5e7897f735e95867ae25c99de10569f0a84605a9c3d29390e051b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.0-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.0-cp39-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: fqxv-0.6.0-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 498.4 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.0-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0b117d7ef3bb6cc9fef0b5e530ef5823592db7f4520d8145a4fe25febb4b2e7f
MD5 e61f06cada23984e75e306a6d7d3db84
BLAKE2b-256 e82ca77cf3a153060f6018b079f8343f403744b814e7b44385298dffaad55d30

See more details on using hashes here.

Provenance

The following attestation bundles were made for fqxv-0.6.0-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

0.6.1

6 files

This release

0.6.0 This release

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