Skip to main content

Arpeggia

This is a port of the Arpeggio library to Rust, with a focus on identifying certain protein-protein interactions in PDB and mmCIF files.

PyPI version License Python versions Ask DeepWiki

Features

  • Parse PDB and mmCIF files
  • Parse user selection of chain groups
  • Extract protein chains and residues
  • Calculate distances between residues
  • Identify protein-protein interactions
    • Steric clashes
    • VdW interactions
    • Hydrophobic interactions
    • Aromatic interactions
    • Cation-pi interactions
    • Ionic interactions
    • Hydrogen bonds
    • Weak hydrogen bonds
    • Resolved disulfide/covalent bonds and inferred potential contacts
  • Calculate SASA (Solvent Accessible Surface Area) at atom, residue, and chain levels
  • Calculate relative SASA (RSA) normalized by MaxASA values
  • Calculate SAP (Spatial Aggregation Propensity) scores for aggregation prediction
  • Calculate Shape Complementarity (SC) scores at protein-protein interfaces
  • Superpose structures with Kabsch RMSD and cluster conformations with k-medoids
  • Filter calculations to specific chains
  • Output results in CSV, Parquet, or NDJSON
  • Python bindings via PyO3
  • Returns Polars DataFrames for efficient data manipulation

Scientific conventions

  • Contact rows use Disulfide for resolved PDB SSBOND or mmCIF disulfide declarations and Covalent for other resolved LINK, CONECT, or _struct_conn bonds. Undeclared CYS pairs matching the original distance and CB--SG--SG--CB dihedral rule produce PotentialDisulfide; other contacts in the covalent-distance band produce PotentialCovalent. Clash and van der Waals regions are separately named.
  • Explicit hydrogen-bond geometry uses only hydrogens associated with the donor atom. Missing donor hydrogens produce warnings; Arpeggia does not protonate input structures.
  • Histidines use AllCharged by default for Arpeggio-compatible positive-ionisable typing. Heuristic applies explicit evidence followed by a pH-dependent intrinsic-pKa prior, while ExplicitOnly never guesses. Inferred histidine charge produces potential ionic, repulsion, and cation-pi labels rather than definitive ones.
  • All analyses deterministically choose the highest-occupancy alternate conformer, with A as the tie-breaker, and warn when selection occurs.
  • Standard atom, residue, and chain SASA use one atom population and ProtOr radii with elemental fallback. Polar/hydrophobic columns follow Rosetta's legacy SasaFilter atom partition; numerical areas remain Shrake–Rupley.
  • dSASA is the two-sided buried area SASA(group 1) + SASA(group 2) - SASA(complex). Divide by two only when a one-sided interface-area convention is required.
  • SAP uses the Rosetta-compatible full-atom Reduce-radius exposure definition with a 1.1 Å default probe and sums positive score contributions while reporting complete side-chain SASA. Arpeggia does not add missing atoms, so direct Rosetta comparison requires the same caller-prepared full-atom input. Monomers without a Rosetta calibration are omitted with a warning.
  • RMSD uses uniform-weight Kabsch superposition with proper rotations and exact selected-atom correspondence. Structure clustering uses the resulting pairwise RMSD matrix and observed medoid structures; it does not perform sequence alignment or add missing atoms.

Installation

Install using pip:

pip install arpeggia

Published wheels support CPython 3.10–3.14 on x86-64 Linux and Windows, and Arm64 Linux and macOS.

Or install from source using maturin:

git clone https://github.com/y1zhou/arpeggia.git
cd arpeggia
uv sync --frozen --all-extras
uv run maturin develop --uv --release --features python --locked

Rust Binary

For the command-line tool, you can install pre-built binaries from the GitHub Releases page, or build from source:

git clone https://github.com/y1zhou/arpeggia.git
cd arpeggia
cargo install --path .

This will install the arpeggia binary to your Cargo binary directory (usually ~/.cargo/bin).

Usage

Python API

import arpeggia

# Analyze protein contacts
contacts_df = arpeggia.contacts(
    "structure.pdb",
    groups="/",                    # All-to-all chain interactions
    vdw_comp=0.1,                 # VdW radii compensation
    dist_cutoff=6.5,              # Distance cutoff in Ångströms
    ignore_zero_occupancy=False,  # Set True to ignore zero occupancy atoms
    protonation="all-charged",    # Or "heuristic" / "explicit-only"
    ph=7.4,
)
print(f"Found {len(contacts_df)} contacts")
print(contacts_df.head())

# Calculate solvent accessible surface area
# Atom-level (default)
sasa_df = arpeggia.sasa("structure.pdb", level="atom", probe_radius=1.4, n_points=100, model_num=0)
print(f"Calculated SASA for {len(sasa_df)} atoms")

# Residue-level SASA
residue_sasa = arpeggia.sasa("structure.pdb", level="residue")
print(f"Calculated SASA for {len(residue_sasa)} residues")

# Chain-level SASA for specific chains only
chain_sasa = arpeggia.sasa("structure.pdb", level="chain", chains="A,B")
print(f"Calculated SASA for chains A and B")

# Calculate relative SASA (RSA) normalized by Tien et al. (2013) MaxASA values
rsa_df = arpeggia.relative_sasa("structure.pdb")
print(f"Calculated RSA for {len(rsa_df)} residues")

# Calculate Spatial Aggregation Propensity (SAP) scores for aggregation prediction
sap_df = arpeggia.sap_score("antibody.pdb", level="residue")
print(f"Calculated SAP for {len(sap_df)} residues")

# SAP for specific chains (e.g., antibody heavy and light chains)
sap_hl = arpeggia.sap_score("antibody.pdb", chains="H,L", sap_radius=5.0)
print(f"Calculated SAP for H and L chains")

# Calculate buried surface area at the interface
bsa = arpeggia.dsasa("structure.pdb", groups="A,B/C,D")
print(f"Buried surface area: {bsa:.2f} Ų")

# Additive two-sided polarity components
total, polar, hydrophobic, unknown = arpeggia.dsasa_components(
    "structure.pdb", groups="A,B/C,D"
)

# Calculate Shape Complementarity at an interface
sc_score = arpeggia.sc("antibody_antigen.pdb", groups="H,L/A")
print(f"Shape Complementarity: {sc_score:.3f}")  # Typical values: 0.5-0.7

# Extract protein sequences
sequences = arpeggia.seq("structure.pdb")
for chain_id, seq in sequences:
    print(f"Chain {chain_id}: {seq}")

# Extract declared SEQRES/entity-polymer sequences, including missing coordinates
declared_sequences = arpeggia.seqres("structure.pdb")

# Superpose on chain A, measure chains B/C, and cluster a pairwise matrix
rmsd = arpeggia.rmsd(
    "reference.cif",
    "mobile.cif",
    superpose_residues="A",
    rmsd_residues="B,C",
    atoms="ca",
)
pairs = arpeggia.pairwise_rmsd("structures/", num_threads=8)
clusters = arpeggia.cluster_structs(pairwise_rmsd=pairs, max_clusters=10)

The functions return Polars DataFrames for efficient data manipulation. You can easily convert to pandas if needed:

import polars as pl

# Convert to pandas
contacts_pd = contacts_df.to_pandas()

# Or save directly to various formats
contacts_df.write_csv("contacts.csv")
contacts_df.write_parquet("contacts.parquet")

Command-Line Interface

The CLI provides the same functionality:

# Analyze contacts
arpeggia contacts -i structure.pdb -o output_dir -g "A,B/C,D" -t csv

# Analyze contacts, ignoring atoms with zero occupancy
arpeggia contacts -i structure.pdb -o output_dir --ignore-zero-occupancy

# Calculate SASA at different levels (atom, residue, chain)
arpeggia sasa -i structure.pdb -o output_dir --level atom
arpeggia sasa -i structure.pdb -o output_dir --level residue
arpeggia sasa -i structure.pdb -o output_dir --level chain

# Calculate SASA for specific chains only
arpeggia sasa -i structure.pdb -o output_dir --level residue --chains "A,B"

# Calculate relative SASA (RSA) for each residue
arpeggia relative-sasa -i structure.pdb -o output_dir

# Calculate SAP scores for aggregation prediction
arpeggia sap -i antibody.pdb -o output_dir --level residue

# Calculate SAP for specific chains (e.g., antibody H and L chains)
arpeggia sap -i antibody.pdb -o output_dir --chains "H,L"

# Calculate buried surface area at the interface
arpeggia dsasa -i structure.pdb -g "A,B/C,D"

# Calculate Shape Complementarity at an interface
arpeggia sc -i antibody_antigen.pdb -g "H,L/A"

# Extract sequences
arpeggia seq structure.pdb

# Extract declared SEQRES/entity-polymer sequences
arpeggia seqres structure.pdb

# RMSD and fixed-count clustering; save the reusable long pair table
arpeggia rmsd reference.cif mobile.cif --atoms backbone
arpeggia cluster-structs -i structures/ -o results/ \
  --num-clusters 5 --pairwise-rmsd --num-threads 8

To see all available options:

arpeggia help
arpeggia contacts --help

See Structure RMSD and clustering for selection grammar, exact-correspondence requirements, output schemas, cache semantics, memory estimates, and threading behavior.

Chain Groups Specification

The groups parameter allows you to specify which chains interact with each other:

  • "/" - All chains interact with all chains (including self) for contacts
  • "A,B/C,D" - Chains A,B interact with chains C,D
  • "A/" - Chain A interacts with all other chains
  • "A,B/" - Chains A,B interact with all remaining chains

dSASA and SC require two disjoint, non-empty groups; "/" is therefore invalid for those calculations.

Development

To build the Python package in development mode:

uv sync --frozen --all-extras
uv run maturin develop --uv --features python --locked
uv run pytest

To run Rust tests:

cargo test --locked

License

GNU General Public License v3.0 - see LICENSE for details.

Credit

This project would not be possible without the following resources:

  • Arpeggio: Original Python library for protein-protein interaction analysis.
  • pdbtbx: The structural file parser doing all the heavy lifting.
  • RustSASA: Library for calculating solvent accessible surface area.
  • sc-rs: Library for calculating the Shape Complementarity by Lawrence & Colman (1993).
  • Rosetta: Where the Spatial Aggregation Propensity (SAP) score calculations are inspired from.

Metadata

Release files for arpeggia 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for arpeggia 0.9.1
File
arpeggia-0.9.1-cp314-cp314-win_amd64.whl CPython 3.14 CPython 3.14 Windows x86-64 Details
arpeggia-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ x86-64 Details
arpeggia-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.17+ ARM64 Details
arpeggia-0.9.1-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
arpeggia-0.9.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
arpeggia-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
arpeggia-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
arpeggia-0.9.1-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
arpeggia-0.9.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
arpeggia-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
arpeggia-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
arpeggia-0.9.1-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
arpeggia-0.9.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
arpeggia-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
arpeggia-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
arpeggia-0.9.1-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
arpeggia-0.9.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
arpeggia-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
arpeggia-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
arpeggia-0.9.1-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 426.5 MB

Release files / arpeggia-0.9.1-cp314-cp314-win_amd64.whl

Download URL arpeggia-0.9.1-cp314-cp314-win_amd64.whl
Size 23.3 MB
Tags CPython 3.14 Windows x86-64
SHA-256 checksum
How to use checksums
47fe9e627d1e630a4d501622e4231ef76416c174ecb817268e8b33a33b760da9
BLAKE2b-256 checksum
How to use checksums
748e52808de07c2719f122ec948557c2b1776d5149eaf300724a28ebb4c10cd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL arpeggia-0.9.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 21.7 MB
Tags CPython 3.14 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0da4d379aa2dd296b603bf044a8c3a49dbf611fba1e0ecaeb5dc19f646e112fb
BLAKE2b-256 checksum
How to use checksums
c19b6b718a68f0a1739fa845bb07f02d82407312f1c27647493366e8c2ef347a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL arpeggia-0.9.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 20.6 MB
Tags CPython 3.14 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
2f395ad4a3342dbe93ff66a8f95be858f3b70819bcd7d4278ae2988fa980e76d
BLAKE2b-256 checksum
How to use checksums
9032a084cad003362c6533e49e01152c94fa9be353b865a1251bd6a64264a41a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp314-cp314-macosx_11_0_arm64.whl

Download URL arpeggia-0.9.1-cp314-cp314-macosx_11_0_arm64.whl
Size 19.7 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
bf6de5bca40aee648359f92f085255aa6ca9a6f3b5a23f5fd0095b4cce9f22c6
BLAKE2b-256 checksum
How to use checksums
5e8cdfdc2ebe6a8dbb8e557161ed36866173482a602fefc49792788ffa721925
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp313-cp313-win_amd64.whl

Download URL arpeggia-0.9.1-cp313-cp313-win_amd64.whl
Size 23.3 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
eec8a64b5b3f9fa30609032f4dab6a85f6aada0ee5dedf7d13f6aa553850124a
BLAKE2b-256 checksum
How to use checksums
0c62d0c540d1e52b07123e6ae96ecc803918a0728ec00539fbe36995cece32e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL arpeggia-0.9.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 21.6 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e17afeea0443256f39c021d8bb0f56432addc971d03c714dc1639cad35a9b117
BLAKE2b-256 checksum
How to use checksums
099cd1e84ddca52c62d0215e4ae69cfc0d790913299d7e9c04af6a7035309972
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL arpeggia-0.9.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 20.5 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
085fdabdf3f0d4a5b87aece4f575734fd3157473f1d1e7a9bfd5d80b64258de3
BLAKE2b-256 checksum
How to use checksums
eaa2b848f40bf4bce4d19b4c7b35c10e47e7bb6baadec78a17418cd09c7962dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp313-cp313-macosx_11_0_arm64.whl

Download URL arpeggia-0.9.1-cp313-cp313-macosx_11_0_arm64.whl
Size 19.7 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
7a24979506792ec5373fa1b08726d24b264b3244f7fdd0781dc9f3fc560f5efd
BLAKE2b-256 checksum
How to use checksums
9cda3c8c336803d9afcaf34b46a3ef6516c8dd040464959e08d8d352937bfef0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp312-cp312-win_amd64.whl

Download URL arpeggia-0.9.1-cp312-cp312-win_amd64.whl
Size 23.3 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
7199d9102325ba46b8e198e96acf26c14a49bccecc2382612e68ff9a55f55565
BLAKE2b-256 checksum
How to use checksums
0b4f94f96ac65ac4e2891079bf71336fb09b7d3a45700f8f67bd83db10176e36
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL arpeggia-0.9.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 21.6 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
74d92aabfbc55aced35bc63a528368245e6b93ed3255addf06e7b5b3239f860e
BLAKE2b-256 checksum
How to use checksums
5a9d9f34f8d55ead6f7fa74846425a13d8f35ebbdf59f4bdd493c857a6784de3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL arpeggia-0.9.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 20.5 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
082ad4027578c73000895bd16f9784b5f862b57ce99298c445e9b4876ae63b84
BLAKE2b-256 checksum
How to use checksums
829955e0159d8291b033d049b117a438766fc27286b975dda37626b19c5d9918
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp312-cp312-macosx_11_0_arm64.whl

Download URL arpeggia-0.9.1-cp312-cp312-macosx_11_0_arm64.whl
Size 19.7 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
862c024ca939ed0d3f6d107c384e8502eeb1e2202542e958f0fb4c89b584c68d
BLAKE2b-256 checksum
How to use checksums
6fa04298a87c9c5888dd49445766bc45b15490c79372fe3d8b1249ed2e25a516
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp311-cp311-win_amd64.whl

Download URL arpeggia-0.9.1-cp311-cp311-win_amd64.whl
Size 23.4 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
2dfcc97408ec8e489dbbffd55c1e57faa36693eab51230e7d30f052454f726b7
BLAKE2b-256 checksum
How to use checksums
b3f4c13fc3ce96f6c0d787a67958b2cb800a099f3cafa930cc607df270ea3552
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL arpeggia-0.9.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 21.8 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
3059de6e9e3141adbbe8ca5ceec1eb3069a0d68e5e6f2a023d967dd281e6529a
BLAKE2b-256 checksum
How to use checksums
08bab51c53f10770b3685cf017fd524bc1e724b6a13f596d4968f5f6e72475c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL arpeggia-0.9.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 20.6 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
4cde2eff1ab192a55875ce1e64681ab009f756b13d276526e60047c1464fb4e3
BLAKE2b-256 checksum
How to use checksums
105272007314558e4277ec27d8a446b52bf42fe78ba0d1c58837b915d57a75fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp311-cp311-macosx_11_0_arm64.whl

Download URL arpeggia-0.9.1-cp311-cp311-macosx_11_0_arm64.whl
Size 19.8 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
43cf874c1973b3a133a1a26a0fbbe38a4ff61316b0ea19dbe625ae12d63fd17f
BLAKE2b-256 checksum
How to use checksums
8b5b87cd52f9611cc147c46369dcf0e012090e7f3d53c9a7622fae9e4471725e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp310-cp310-win_amd64.whl

Download URL arpeggia-0.9.1-cp310-cp310-win_amd64.whl
Size 23.4 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6cda79c5b9cb911fceef534417125be9fa807bb83b2fdb2e8da3201d01d79131
BLAKE2b-256 checksum
How to use checksums
deedc776b07817167551b0d413d09d7fe17ab57ac476527beecbdf0ee775b553
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL arpeggia-0.9.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 21.8 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0412fc1d337259d142982d443d5b2c97a0eba90f7ee1c7a9430293be5c4fc435
BLAKE2b-256 checksum
How to use checksums
212b735a2f24fe6cedadaf03aaab8754d4245ed02f9e25a4e079354a9fdeea39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL arpeggia-0.9.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 20.6 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
071fd3f7f3e0284a4f84c6c4670f16e3187b0cbd57af7071c8f4656ba2e93365
BLAKE2b-256 checksum
How to use checksums
06f0cee30832f7d48519cff345f61aca9be2428cbf61503cd7c1f8c381681033
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / arpeggia-0.9.1-cp310-cp310-macosx_11_0_arm64.whl

Download URL arpeggia-0.9.1-cp310-cp310-macosx_11_0_arm64.whl
Size 19.8 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1c4bcc2bdf26fec0eeea73aa3b769572f8418f5bb8adba5efa43101415d8abd4
BLAKE2b-256 checksum
How to use checksums
b8c696052cb1a5aa9ff523f5fa5b1bd74d6d5bb43c543ad2f2ce56630b2634f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.9 {"installer":{"name":"uv","version":"0.12.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.9.1 This release

20 release files

0.9.0

20 release files

0.8.1

23 release files

0.7.0

23 release files

0.6.0

23 release files

0.5.1

23 release files

0.5.0

23 release 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