Skip to main content

Python tools (backed by Rust) for sequence analysis

Project description

prseq (Python)

Python tools for sequence analysis, powered by Rust.

PyPI Python Version Build Status Downloads License: MIT

Overview

prseq provides Python bindings to a high-performance Rust library for FASTA and FASTQ parsing. It includes:

  • Pythonic API: Full type hints and Python-native data structures
  • CLI Tools: Ready-to-use command-line utilities
  • Rust Performance: Fast parsing with automatic compression detection
  • Memory Efficient: Streaming parsers for large files
  • Universal Input: Files, compressed files, and stdin support

The core parsing is implemented in the Rust prseq library.

Installation

Using uv (recommended)

uv add prseq

Using pip

pip install prseq

From source (developers)

git clone https://github.com/VirologyCharite/prseq.git
cd prseq/python
pip install maturin
maturin develop

Quick Start

Command Line Tools

# Analyze a FASTA file
fasta-info sequences.fasta
fasta-stats sequences.fasta.gz  # Works with compressed files
fasta-filter 100 sequences.fasta  # Keep sequences ≥100bp

# Analyze a FASTQ file
fastq-info reads.fastq
fastq-stats reads.fastq.bz2
fastq-filter 50 reads.fastq  # Keep sequences ≥50bp

# All tools support stdin
cat sequences.fasta | fasta-stats
gunzip -c reads.fastq.gz | fastq-filter 75

Python API

import prseq
from pathlib import Path

# FASTA files
records = prseq.read_fasta("sequences.fasta")
for record in records:
    print(f"{record.id}: {len(record.sequence)} bp")

# FASTQ files
records = prseq.read_fastq("reads.fastq")
for record in records:
    print(f"{record.id}: {len(record.sequence)} bp, quality: {len(record.quality)}")

# Streaming for large files - accepts str, Path, file object, or None
for record in prseq.FastaReader("large.fasta"):  # String path
    if len(record.sequence) > 1000:
        print(f"Long sequence: {record.id}")

for record in prseq.FastaReader(Path("large.fasta")):  # Path object
    print(f"{record.id}")

# Read from stdin
for record in prseq.FastqReader():  # None = stdin
    print(f"Read: {record.id}")

# Read from file object (must use binary mode 'rb')
with open("sequences.fasta", "rb") as f:
    for record in prseq.FastaReader(f):
        print(f"{record.id}")

Python API Reference

FASTA Support

from pathlib import Path
from prseq import FastaRecord, FastaReader, read_fasta

# FastaRecord - represents a single sequence
record = FastaRecord(id="seq1", sequence="ATCG")
print(record.id)        # "seq1"
print(record.sequence)  # "ATCG"

# Read all records into memory
records = read_fasta("file.fasta")
records = read_fasta("file.fasta.gz")  # Auto-detects compression
records = read_fasta(None)  # Read from stdin

# Stream records (memory efficient) - source can be:
# - str: file path
# - Path: pathlib.Path object
# - file object: open file in binary mode
# - None: read from stdin

reader = FastaReader("large.fasta")  # String path
reader = FastaReader(Path("large.fasta"))  # Path object
reader = FastaReader()  # None = stdin

with open("file.fasta", "rb") as f:  # Binary mode required
    reader = FastaReader(f)  # File object
    for record in reader:
        print(f"{record.id}: {len(record.sequence)}")

# Performance tuning
reader = FastaReader("file.fasta", sequence_size_hint=50000)

FASTQ Support

from pathlib import Path
from prseq import FastqRecord, FastqReader, read_fastq

# FastqRecord - represents a single read
record = FastqRecord(id="read1", sequence="ATCG", quality="IIII")
print(record.id)        # "read1"
print(record.sequence)  # "ATCG"
print(record.quality)   # "IIII"

# Read all records into memory
records = read_fastq("reads.fastq")
records = read_fastq("reads.fastq.bz2")  # Auto-detects compression
records = read_fastq(None)  # Read from stdin

# Stream records (memory efficient) - source can be:
# - str: file path
# - Path: pathlib.Path object
# - file object: open file in binary mode
# - None: read from stdin

reader = FastqReader("large.fastq")  # String path
reader = FastqReader(Path("large.fastq"))  # Path object
reader = FastqReader()  # None = stdin

with open("reads.fastq", "rb") as f:  # Binary mode required
    reader = FastqReader(f)  # File object
    for record in reader:
        # Validate quality length matches sequence
        assert len(record.sequence) == len(record.quality)
        print(f"{record.id}: {len(record.sequence)} bp")

# Performance tuning for short/long reads
reader = FastqReader("reads.fastq", sequence_size_hint=150)  # Short reads
reader = FastqReader("nanopore.fastq", sequence_size_hint=10000)  # Long reads

Advanced Usage

import prseq

# Filter sequences by length
def filter_by_length(filename, min_length):
    for record in prseq.FastaReader(filename):
        if len(record.sequence) >= min_length:
            yield record

# Calculate GC content
def gc_content(sequence):
    gc_count = sequence.upper().count('G') + sequence.upper().count('C')
    return gc_count / len(sequence) if sequence else 0

# Process compressed files
records = prseq.read_fasta("sequences.fasta.gz")
avg_gc = sum(gc_content(r.sequence) for r in records) / len(records)

# Convert FASTQ to FASTA
def fastq_to_fasta(fastq_file, fasta_file):
    with open(fasta_file, 'w') as f:
        for record in prseq.FastqReader(fastq_file):
            f.write(f">{record.id}\n{record.sequence}\n")

CLI Tools

FASTA Tools

Command Description Example
fasta-info Show basic file information fasta-info sequences.fasta
fasta-stats Calculate sequence statistics fasta-stats sequences.fasta.gz
fasta-filter Filter by minimum length fasta-filter 100 sequences.fasta

FASTQ Tools

Command Description Example
fastq-info Show basic file information fastq-info reads.fastq
fastq-stats Calculate sequence statistics fastq-stats reads.fastq.bz2
fastq-filter Filter by minimum length fastq-filter 50 reads.fastq

CLI Examples

# Basic usage
fasta-info genome.fasta
fastq-stats reads.fastq

# With compressed files (auto-detected)
fasta-stats sequences.fasta.gz
fastq-info reads.fastq.bz2

# Using stdin (great for pipelines)
cat sequences.fasta | fasta-stats
gunzip -c reads.fastq.gz | fastq-filter 100

# Performance tuning for large sequences
fasta-stats --size-hint 50000 genome.fasta
fastq-filter --size-hint 10000 150 nanopore.fastq

Development

Prerequisites

  • Python 3.8-3.12
  • Rust 1.70+
  • maturin for building Python extensions

Setup

cd python
pip install maturin
maturin develop

Testing

# Run all tests
python -m pytest tests/ -v

# Run integration tests
python -m pytest tests/ -v --integration

# Type checking with MyPy
mypy src/prseq

Building

# Development build
maturin develop

# Production wheel
maturin build --release

Publishing

cd python
maturin publish

Type Checking

The package includes full type hints and is configured for MyPy with Python 3.8+ compatibility. Type stubs are automatically generated for the Rust extension modules.

Rust Core

The Python package is built on top of the Rust prseq library, which provides the high-performance parsing implementation. If you need Rust-native parsing without Python, check out the Rust crate directly.

Links

License

This project is licensed under the MIT License - see the LICENSE file for details.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

prseq-0.0.32-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (402.9 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

prseq-0.0.32-cp314-cp314-win_amd64.whl (244.5 kB view details)

Uploaded CPython 3.14Windows x86-64

prseq-0.0.32-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (398.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

prseq-0.0.32-cp314-cp314-macosx_11_0_arm64.whl (341.3 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

prseq-0.0.32-cp313-cp313-win_amd64.whl (245.0 kB view details)

Uploaded CPython 3.13Windows x86-64

prseq-0.0.32-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

prseq-0.0.32-cp313-cp313-macosx_11_0_arm64.whl (341.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

prseq-0.0.32-cp312-cp312-win_amd64.whl (244.8 kB view details)

Uploaded CPython 3.12Windows x86-64

prseq-0.0.32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

prseq-0.0.32-cp312-cp312-macosx_11_0_arm64.whl (341.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

prseq-0.0.32-cp311-cp311-win_amd64.whl (246.3 kB view details)

Uploaded CPython 3.11Windows x86-64

prseq-0.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (402.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

prseq-0.0.32-cp311-cp311-macosx_11_0_arm64.whl (342.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

prseq-0.0.32-cp310-cp310-win_amd64.whl (246.3 kB view details)

Uploaded CPython 3.10Windows x86-64

prseq-0.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (402.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

prseq-0.0.32-cp310-cp310-macosx_11_0_arm64.whl (343.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file prseq-0.0.32-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b8fb76e52983e35ac0ff6926b36d0bdab1c7d39cc51b502f48abbff1aa6d634
MD5 35cd2494b41a94676f342dbd2b72b170
BLAKE2b-256 16a4d0807a4f71b37eacb0d343a410643c02e70fc5a0a5a41ea6f59a8af93b11

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.32-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 244.5 kB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for prseq-0.0.32-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 bdc09d53a4c4b8b430a160291cc42cca0c0164ef44fea2a9d0262ec59917e28d
MD5 94d44305bfa5451dc97a97d0715094de
BLAKE2b-256 4378b356fe0ab192caf38273b0387ca436dedca92b72d6e65af73c5b6fa51f12

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp314-cp314-win_amd64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cb7d38dadac8d62b496b0786ce0084a06b1da8a74104b9d5aff3d8d16bdac00f
MD5 797d713fada2092ee9051cd615a72285
BLAKE2b-256 9ea0edf8086740d105e24db23bd59711ce9fa181b7fca694a27473ba8d9cc0cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d40a9fa0f2ac56b3050383965719cf404288e5058b8233b8b873920a1b23479f
MD5 45ffc3539e9a1994d14e4f9f674bf2ab
BLAKE2b-256 89ed731376910994b257f8d6db6a9bb1ef13a6b268d5ca089240766f2e3e1a7e

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.32-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 245.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for prseq-0.0.32-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c01812c0cd1a06b6616c534304448b4e7b2f782f015a4bc2172496113779c0e2
MD5 2540c79cd4dcb85d6e2e34c0a70bcb9d
BLAKE2b-256 8f981db6d569fa6cbd22196c5b66e7d1c0441b633d8cec2bfefc974a44bed3cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp313-cp313-win_amd64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b40812b83a03094b2d56404bca4b0bf03e912a7d5814374f8d6d28b97e13e7bd
MD5 bc4ebecaab499851f33500c373e47725
BLAKE2b-256 7559e9e1961a0a9b945dd8cd71bccd609f939caa29ed68b7a685f309a08a2468

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 77d2ad50f721f8e4e8849b69aa8195d16bab6d603988445cd2a3f23c418416c7
MD5 77f78a2d6709f33d398c4d81709e37aa
BLAKE2b-256 9717c17af8a419d25b49f657c389494be977591e6d912b9a39e6166e2da68360

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.32-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 244.8 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for prseq-0.0.32-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8a37e6a85eeb0c8f3e7242b7fdde78e75781819322751311cdb10fa4a25c9235
MD5 11bdb9c90fe304ea7f43725c6973c74e
BLAKE2b-256 873ca5ed8f08ead40783c3c25c1fd851f1e4d140af90609c1f12effd59ca771e

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp312-cp312-win_amd64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bbf89d15a31cf3a7140d7ee3f2391177480a272cfa6cb6d118006c5fe83432b9
MD5 ec3c49d4111e9f4a1f87e02e7174feef
BLAKE2b-256 45184f53e94456f3047d8e91803bc26ab9478e8582ec4aa9fa6719150ab0bb9e

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2d1da94f87499611ba35584b1e6d5f746b76eba88fb2946c7e5a7244d9b43d4c
MD5 f0246a2db79e62609e0355c4eafffdda
BLAKE2b-256 2f2b7461b8d5887ef1a01e96e1f2e5fcbc8cb0b45385d2aaeeef4d7c6b893cf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.32-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 246.3 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for prseq-0.0.32-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ad2a2a4888c568cb9b5389f8fac44ea2a2225ecae39ed236b85b8a0e3ef9f8a
MD5 2b143853d398a21b4325bbfff0b8800e
BLAKE2b-256 03455448f4a4440ba07ad47f53a9a212f3e27a3e3ad46803bb2d879aa897f965

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp311-cp311-win_amd64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7d746fb00eebe927816ad30c615f4d0236091ec509ea21d73200f3d08b25dd93
MD5 007fa536ee5a24d74da797e48e00c478
BLAKE2b-256 03c28a32c2d669cf6acdab027db594c833cbe7d7ebb60ab7803cb756f47903c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 edff052d5bbd366822c0e99b2b563fd3b7f2c8ec3f293d22af89834e485a0928
MD5 477301dde0497082d0b601f71742241f
BLAKE2b-256 ce059329e235ac7ffb36f21962cf67ba4ea439a4bdf915c451608041f7ae9f06

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.32-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 246.3 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for prseq-0.0.32-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 78008bcf1b414d09a08177e35b5b7720c95e4bb2ef2c8b1e71c0b86645cf524b
MD5 d64d055cd07b7081a2d8427f4abfd6f0
BLAKE2b-256 d0410f9c0ffcb98261b9ffc1d350d132665fcef3f7ce0ea1bf8b890bc01750fa

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp310-cp310-win_amd64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fd20c5fef9cd92ab7a84a69851857ee8078c1ee7a9f97a924beb6c5cd7ee94d1
MD5 084116cd0c25e8fcc72157affbf3c666
BLAKE2b-256 cacdf3d93aad4ad8d10ba267243e7a31733188a08aa288f309524d04c8c1dd0e

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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

File details

Details for the file prseq-0.0.32-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.32-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a647edb57dd144a55b8a115f771c7244ba85370d76ef50016f13481656f947ae
MD5 ed08bed70fdcc945d3b8a35c7b2fb020
BLAKE2b-256 5bd34c8cdbd78013df8dae084dea53369fc54db560262f08e1dc4fc3acc9d0d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.32-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: workflow.yaml on VirologyCharite/prseq

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