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.
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
Disulfidefor resolved PDBSSBONDor mmCIF disulfide declarations andCovalentfor other resolvedLINK,CONECT, or_struct_connbonds. Undeclared CYS pairs matching the original distance and CB--SG--SG--CB dihedral rule producePotentialDisulfide; other contacts in the covalent-distance band producePotentialCovalent. 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
AllChargedby default for Arpeggio-compatible positive-ionisable typing.Heuristicapplies explicit evidence followed by a pH-dependent intrinsic-pKa prior, whileExplicitOnlynever 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
Aas 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
SasaFilteratom 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
Python Package (Recommended)
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)
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}
|