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
- Filter calculations to specific chains
- Output results in various formats (e.g., JSON, CSV, Parquet)
- 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.
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")
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
To see all available options:
arpeggia help
arpeggia contacts --help
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.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 124.3 MB
Release files / arpeggia-0.9.0-cp314-cp314-win_amd64.whl
| Download URL | arpeggia-0.9.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f21ee4ddf28f81432bfff7391088d3ae71ab3110596e4fd7e3783506c5714f98
|
|
BLAKE2b-256 checksum How to use checksums |
711727027df679a43daed8a7d64baff7ec544c23e88761dd9700398cc987d059
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | arpeggia-0.9.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
4f27645e155c90b88c0e8e038eeda200de72ece5bcdfbbed8475470ef9c0ebb2
|
|
BLAKE2b-256 checksum How to use checksums |
3a6b88d08729d46ea678bf755c13c61b0d1accfebac8874e714f5672efbeabf0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | arpeggia-0.9.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.7 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
052899c067ac77628b2cdc71253d7115f06efba47eba4fba6b4688609bbed884
|
|
BLAKE2b-256 checksum How to use checksums |
6cbbf332b3837bbd1ab87a711841ca117d7ad0c2a4dda6442f7b99489a2d3b1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | arpeggia-0.9.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
035a8be7344e2b3f9f6c482fdbec29f0cc89983a175eab06aea1b0bbc8aa3956
|
|
BLAKE2b-256 checksum How to use checksums |
a9c904a1d34d10683ed81bffb5ea3d04e6949b93a437ee52207a6ec6f52e6963
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp313-cp313-win_amd64.whl
| Download URL | arpeggia-0.9.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
724ef549a829e14789f4c0fcbedd38f75529a73fd1f0439d005b86a2a9994e34
|
|
BLAKE2b-256 checksum How to use checksums |
7fbcbaff3f35e490f83dd95759eead0bf3e63d1d8e3695fed1db824b4f9d8380
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | arpeggia-0.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
37be0a34bef5abd1af053ef1d058812232b77e048752fc06366b1639b08932c3
|
|
BLAKE2b-256 checksum How to use checksums |
9326d22a05f77e6c72d23213751fb4234cb8790759fdc26da1d002782c01bd6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | arpeggia-0.9.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.7 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
5532b6cc830e846bc2d17dbe4f0cf0105c68eda11039632ef73c79f7f12dd1fa
|
|
BLAKE2b-256 checksum How to use checksums |
148f4015d6b1f9d3647eaad9fde93c560facd74648cb3da74509b4859ea56239
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | arpeggia-0.9.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a6d4cdb298f9c94a521d973e94ffc26c6c1e4df4c4e1e217734ddbca1a1d49c8
|
|
BLAKE2b-256 checksum How to use checksums |
5403fa790b30dbbfbf4df650d4fa3afd1c63c14ae3625a3b6076d9e6f3fe68e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp312-cp312-win_amd64.whl
| Download URL | arpeggia-0.9.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
49f207a2b676afb779053f4f96f68e00b22db0e0c61de5163e10b44ffd7aa13b
|
|
BLAKE2b-256 checksum How to use checksums |
a89dc663c9fcd232b59c5385af74ac067cddb8f990c013a6b2e3779cbd29b09b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | arpeggia-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
d1442bd340c8996a1c77d6760eefc76479e4ca81523853fbe39e7d8bd7ef7c63
|
|
BLAKE2b-256 checksum How to use checksums |
698bf3a286bdc69611ba2bea55563e359e515895fcfce91ce7a0280cc2abfb5d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | arpeggia-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
71fc2a0ea2a5c2f9e93bbd49d8dc18e212b0454f9ec3ce5f882596204744b1e5
|
|
BLAKE2b-256 checksum How to use checksums |
e31a71c2402a815358d54ab269c10907d6cc500425bc357d4aceee41992a3497
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | arpeggia-0.9.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.5 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b4d0dd38d95230aee91a43705b3523e22477235b41cefd4252ebe023d364c516
|
|
BLAKE2b-256 checksum How to use checksums |
c0b697c0a921b1886813f40eb36d65e8187845f77b20bf37175208484af8ebb3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp311-cp311-win_amd64.whl
| Download URL | arpeggia-0.9.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1a596c20bc9a400d6d750ee1cd0608b116d70ebb25839752fe55342ad124cc70
|
|
BLAKE2b-256 checksum How to use checksums |
120195ced9cd3f27463bb6bdd9aff31165a58e97640bd5a258b84aa0a37f6ca3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | arpeggia-0.9.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
3509fbd01a039fd59514dd68e1cb64ef5719ad8ead23dba854dae857ba71fdac
|
|
BLAKE2b-256 checksum How to use checksums |
7c58331fad555c0d655a1e1fac6a3868c570caacf234a3300ebfe14bdc44e267
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | arpeggia-0.9.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
9c21d596e6b1dd4d13b23c3a20bd012582860c2d62145e9035473c3c8d635430
|
|
BLAKE2b-256 checksum How to use checksums |
0b0295c2c0f8d395845e8a39ab51906aac33204685cf84676aad6bc798ee80f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | arpeggia-0.9.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cfe7a5951d7e060246d46b4b6f9088bae7225d926cc8b3bdf571d814ea71c955
|
|
BLAKE2b-256 checksum How to use checksums |
d846e62d34b3ffdf6ec3e7bb500c3385d0dfe86bdf5aeacdd7e2e9b532a5d961
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp310-cp310-win_amd64.whl
| Download URL | arpeggia-0.9.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bcf3e7a028b737e8e80d95741c335ee6a6423a5a2b86c721a01ccf04e1caf273
|
|
BLAKE2b-256 checksum How to use checksums |
78f1916b6ec00b187ccdc1851f029cf0c31ea9b0316bb669927443309bc3b8c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | arpeggia-0.9.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 6.4 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
bf050618e41e135b4dfb496fab9c9a58195a98cfdecbb8087df2b5886c4da3f9
|
|
BLAKE2b-256 checksum How to use checksums |
5273c2123cf79a02286ebbf92ecd78c4809928676293454c9b76dc8b7b2b3456
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | arpeggia-0.9.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 5.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
7f1559b1af5974566992d06f81126c690ac99aa5f40688cb183a1416581f5230
|
|
BLAKE2b-256 checksum How to use checksums |
3abb32dc02fde6256251b0741624414f398ae4a23a358f1a8a1ff0ef4fe4b303
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | arpeggia-0.9.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 5.6 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0636c9c68567d395317ec3d10b28ca93d933357ea878585fbbed9c976b535626
|
|
BLAKE2b-256 checksum How to use checksums |
aebe7c6c25a7bd53da43349741e2eff47c091ce5122028645f97d6b60a0ebf5e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.6 {"installer":{"name":"uv","version":"0.12.6","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}
|