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.2.tar.gz (900.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.2-cp39-abi3-win_amd64.whl (426.3 kB view details)

Uploaded CPython 3.9+Windows x86-64

fqxv-0.6.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (537.2 kB view details)

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

fqxv-0.6.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (507.1 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

fqxv-0.6.2-cp39-abi3-macosx_11_0_arm64.whl (464.2 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

fqxv-0.6.2-cp39-abi3-macosx_10_12_x86_64.whl (500.5 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: fqxv-0.6.2.tar.gz
  • Upload date:
  • Size: 900.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.2.tar.gz
Algorithm Hash digest
SHA256 afeb65aa19d235272bbb2a4cfa79682c770a20a6f7b4ecb416c124e7a54f226e
MD5 1075c81d63155e7d4d2ee9f673081e85
BLAKE2b-256 bf4398075a2b1da39ff8d599a6a4e75933d0efcbdce06c865cea97736f281412

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: fqxv-0.6.2-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 426.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.2-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 717888bcd7a3024ac7e422a852352a1765433d1ce870a0b9ad1f0ce5cc761906
MD5 ed890efb8a31132dcee9f906eeff06b6
BLAKE2b-256 41e9a3d11a2bea0603ab7c17205bfed268690551200fb4a3c459b189e1c93cb0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fqxv-0.6.2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d4b51b2718354676fce626c82acb89f52ed092b59a56e77c3367292397de932f
MD5 e015406c28dfbea01fec2c1a99c526b4
BLAKE2b-256 ce414c1cf45807a03a4ee6fe1d08e351d2f3c9990ea809910628d52116a18f27

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fqxv-0.6.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 04d5d787f3b05465f78002507911f9fcfc1228adde63f27fa8f98b74150cd5a5
MD5 6f46caf343eef0fe81281a2250f6abe1
BLAKE2b-256 6299eea9e37eb58599ba9b964acc88850be989b21612ad4dcdc289aad314fa66

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: fqxv-0.6.2-cp39-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 464.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.2-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2484fa270cab1a749a65c2f45f9d3a511c1dea465e463eaa6a017638992e4816
MD5 249968153812b35033173794cdfa5e69
BLAKE2b-256 7b42b3878471504e2915e05a2495073d7448422d9d387ec204e403bf682a933d

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: fqxv-0.6.2-cp39-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 500.5 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.2-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3337e44ee9910f7dc0bb854f56ff215548645b98027353bd52fc6426049e533c
MD5 594843c12d57448b09f0d3997d232884
BLAKE2b-256 d189050c22cf6d32960ca52d3ac0fde9ec623b98745ca8c47cb7817306bd385b

See more details on using hashes here.

Provenance

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

This release

0.6.2 This release

6 files

0.6.1

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