Skip to main content

Read-only Python bindings for the fqxv FASTQ archiver

Project description

fqxv (Python)

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

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)

# 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)

Projection and open_index are unavailable for globally-reordered archives (--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.

Build from source

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

Project details


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.5.1.tar.gz (452.5 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.5.1-cp39-abi3-win_amd64.whl (416.9 kB view details)

Uploaded CPython 3.9+Windows x86-64

fqxv-0.5.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (528.7 kB view details)

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

fqxv-0.5.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (498.9 kB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

fqxv-0.5.1-cp39-abi3-macosx_11_0_arm64.whl (456.2 kB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

fqxv-0.5.1-cp39-abi3-macosx_10_12_x86_64.whl (491.9 kB view details)

Uploaded CPython 3.9+macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for fqxv-0.5.1.tar.gz
Algorithm Hash digest
SHA256 4918d6d832fffc2d8b22c0941230c451d28b37886a5c0db4099069de1d48cb09
MD5 ff175d4e6e67b85b223c6b05faa1e010
BLAKE2b-256 03c6dca443726051d250607db6ab4d208969041215d24502ac32fe96f9311d22

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for fqxv-0.5.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 07f885dc77bdc45eca9ded2f6965ee8281877701d7cd3f30ea8ab3ca01f444d2
MD5 fecb969c7c8dbd08db8fcd116bb4b357
BLAKE2b-256 0151385b84fc24d6b376fe0e7403ef8845064f3cc5eedd362cf93bf483e62783

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fqxv-0.5.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ec1e43cf989402d4b38c901b62f1a79b6aae19d677fb2ea774c813495a553d1e
MD5 0455fcd48c15e8b5b710b69f95ce206e
BLAKE2b-256 1b1bc63777504a6afc852ff42b573de12e2a62676cfffb548c170091588bbe41

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for fqxv-0.5.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb265a242eea3ef0eba0b362e3dec8ad3434c54ada06ecf4b9d00aee29253b39
MD5 c049dd59f56c76800b16a438c90743dc
BLAKE2b-256 0b02381008229e73bc0c674a39ead377dc2bec93bf2eced0588497f72238e514

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for fqxv-0.5.1-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b246d58a1cb1a38dab7599990490013010a770d77160293e8e7b41dedf35419
MD5 67ebac57e29260e70cea491a0f7c01d9
BLAKE2b-256 4b7da97bb02092e3e7e3c552698cb2c5549160a3ce3c55a387e20785af8e9cbe

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for fqxv-0.5.1-cp39-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6795ec7dc03565618d557fc740b86ca9717f33398f6674e1364c22fcc94fe9bb
MD5 82af94c683142b8b5f3230969386df90
BLAKE2b-256 6a7b63f11f52b45fd4c0d57c51b73c6c3b9198f9b576211b7b9d7c17fef53d32

See more details on using hashes here.

Provenance

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page