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.33-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (403.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

prseq-0.0.33-cp314-cp314-win_amd64.whl (244.4 kB view details)

Uploaded CPython 3.14Windows x86-64

prseq-0.0.33-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.1 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

prseq-0.0.33-cp314-cp314-macosx_11_0_arm64.whl (341.5 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

prseq-0.0.33-cp313-cp313-win_amd64.whl (244.9 kB view details)

Uploaded CPython 3.13Windows x86-64

prseq-0.0.33-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (400.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

prseq-0.0.33-cp313-cp313-macosx_11_0_arm64.whl (342.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

prseq-0.0.33-cp312-cp312-win_amd64.whl (244.6 kB view details)

Uploaded CPython 3.12Windows x86-64

prseq-0.0.33-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (399.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

prseq-0.0.33-cp312-cp312-macosx_11_0_arm64.whl (342.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

prseq-0.0.33-cp311-cp311-win_amd64.whl (246.5 kB view details)

Uploaded CPython 3.11Windows x86-64

prseq-0.0.33-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (402.7 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

prseq-0.0.33-cp311-cp311-macosx_11_0_arm64.whl (343.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

prseq-0.0.33-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (402.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

prseq-0.0.33-cp310-cp310-macosx_11_0_arm64.whl (343.5 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

File hashes

Hashes for prseq-0.0.33-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 40c16a2b92e845a89b8cf48f91443e71dece76380c90f38edcd7b39b1bc1a120
MD5 9409a8b59255200e76584bcf3526722f
BLAKE2b-256 d973c07146b5a020e7f56e8ad1bd98dc35ed7ef4a3318110a26fb72f297c0e49

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.33-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 244.4 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.33-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d9b14ff539f23f53b364737c81408c65778dbb58826cd8e8e918f6537b5a3ab1
MD5 ffe722dea0044e38d08a5dbc90498b11
BLAKE2b-256 7d4de51d6ccba7442f877756c5cae9a6b52327510be6b2d6b6cd1705a0ac12d3

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ffeb1621526a494b16eae154f4b98f4c2d70e86925b171ae7a534ac9a63eb793
MD5 4b47ce1187281cbc311ba2b52678e9f1
BLAKE2b-256 9a54d70950ee65100ad7b29242020700ba1d100ed3e42ce0a2b484b023cc1505

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b08f48f236ef0060850462a008bf02f71895cb1e0661c4bb60fbc00bbc4fca0
MD5 2c27f1892d24b61beb2f72460e613156
BLAKE2b-256 d10006a329ae4d657a7a099f441ed42f0edec2f4dfd86d774c66f9ecef8b8c56

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.33-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 244.9 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.33-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 9433ecf2fbe2d77236dd67fef1f93eb8802a822b8bda0ce195a82b7cbba7c5e8
MD5 48616cb0180ea5c0227cdc21ad3c7007
BLAKE2b-256 ff0bc3d4e68202b1ad50d96b94a644d3d5bc0a16a8186ca95dd0e3ae15fb63bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 334e25aa9a0b584b856563d149fab8f0c8d4fb517c50ffd58f5932bdebdcb4a4
MD5 e3743a54a6100ab6b501150a9486dfce
BLAKE2b-256 55eef940093fbe8923e472c7d251d8075751e1beb345123136ae9920482aefd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 017e8d8388595214789ef2e12f9cc68484b0c00bd930baa2ec997ec11cfc0f5d
MD5 5a2686114b119c9d2d6a9f9ed997f6bb
BLAKE2b-256 53974bab0a1b01b8d1ea330e04fc9529363d2140e6e0c5837b3ae3595d21216a

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.33-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 244.6 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.33-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9c9c476e5479c9bb7a520b1fc773479047cbbe137f16042356fd5c1e1fb8f25e
MD5 51ae16a92f0e5ce111fd3a16647eb7c1
BLAKE2b-256 f01153629516f8489658fa0d06c2cc0f0aed6945a8d7b1572b7851bf182b7001

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8476602ded96e64f5c8b0d9bebb4a18adaff962c03851c097f7866a96a2b7377
MD5 a7c9a4ca984868486f4d482f41b40fc6
BLAKE2b-256 1acb610a6d85db1abf373eee11f03cfc839b2b57cf956b58cf19b1087d8be8c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d283fbc1b7a2bcbf3e9b988ce6da8f7241279f55faa640740411be8f1c3e2154
MD5 59b70394dc7aef6e6aab4bd8f0a15a32
BLAKE2b-256 d7a54b90761a540dce1c91cdaf6164b90a2233b13e25e63f4199c17f03189ef3

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.33-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 246.5 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.33-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 92486ec3a8f8b6a944ba8aba956490d3fd0b38e50988969e77fc7c09a41dc235
MD5 8008b25aedafeccea72a27689ac671a4
BLAKE2b-256 be0465a57851fe1f52cde17b6a3e00c62b436864d38fe7fda3c0d1eff7347f3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ddc6ebe6d681e5c7d464e208bed6260016af89c1f6548157d98690ba9042648e
MD5 5f734c216d9eb4d4dbf72a4cd2b79d0f
BLAKE2b-256 bb39d4ca191a6b871f3b20299c7e0875cefea5b1c6169ab5833f3fbfaa2aadf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2bd89cfb08ee49448115aac6f07a5307d08cfd7ef20d6dbf62b2e511d7946ccf
MD5 71f4df306c5a3d19c21d6bad844ffb8f
BLAKE2b-256 7175cb503680cc6ed03668dde12cd01ccddd7e01f01b99b41c1032b4e8aba5b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: prseq-0.0.33-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.33-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 47cf6aa69dfbd32d049951bc7ddbcfc7e312f33696574bbc0d38a88f94a0485a
MD5 ee3f019c14bb42d79f3a0d7aa6d696fe
BLAKE2b-256 e15520c92753e57f555476a291c5ce19ec501e6d5f72598136743df8fd0ecbe0

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 afb6d20bc3a4fceea1ef9a9a701cb85e294b499f632a77ed16fba736ecc55b13
MD5 1a0b28b02eccd6cd6205a790ffdc6b41
BLAKE2b-256 ccd0c9b6129b6bbf088159cf9cbf04f27e9cc6e22d222f9160c64870938fd619

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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.33-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for prseq-0.0.33-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bdee7e4266677dc7b488c773aedc81b0ad7cc2bf45524614f022f2767cf1c7e1
MD5 5821b1be9016eb7e15cdc35045e7860b
BLAKE2b-256 199c0602c3f35bbb66e5f1cbd884f08e3b2633a3472de24c56dbb5b2dd9f1207

See more details on using hashes here.

Provenance

The following attestation bundles were made for prseq-0.0.33-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