This release is a pre-release and may not be stable for production use.
COSMolKit — Rust-native cheminformatics toolkit
COSMolKit is a Rust-native cheminformatics and structural biology toolkit with first-class Python and JavaScript/TypeScript bindings. It provides molecular graph operations, SMILES/SMARTS and molecular file workflows, 2D depiction, native 3D conformer generation, UFF/MMFF optimization, fingerprints, molecular descriptors, InChI, batch processing, and protein structure APIs. Selected workflows are also available directly in the browser through the COSMolKit Web Tools.
Chemistry implementations follow pinned upstream source semantics. Reference versions, comparison rules and completed results are recorded in VALIDATION.md.
COSMolKit combines a native Rust API with Python interfaces for scientific and machine-learning workflows and JavaScript/TypeScript interfaces for browser applications. Molecular graphs, coordinates, fingerprints, bounds matrices, and structural data integrate with NumPy, PyTorch and JavaScript typed arrays.
Features
The current chemistry reference is RDKit 2026.09.1 (Python distribution
2026.9.1). See the upstream-diff audit
for the exact revision and upstream-diff scope.
- Modular Rust architecture: separate crates own model values and domain
algorithms;
cosmolkitremains the public entry point and molecule runtime. - Cargo features: select functionality such as
core,bio,fingerprints, orreaction; prerequisites are included. Default isfull; see the Rust feature guide. - WebAssembly support: run the same Rust chemistry engine in the browser through JavaScript bindings, without a separate algorithm implementation.
- One API, three languages: shared operations, defaults, results, and error categories, with idiomatic names for Rust, Python, and JavaScript. See Public API Design for cross-language naming rules and shared API contracts.
Each public API is one logical entry with three projections:
| Logical name | Rust | Python | JavaScript |
|---|---|---|---|
from_smiles |
Molecule::from_smiles("CCO")? |
ck.mol_from_smiles("CCO") |
ck.molFromSmiles("CCO") |
molecular_weight |
mol.molecular_weight() |
mol.molecular_weight() |
mol.molecularWeight() |
to_smiles |
mol.to_smiles() |
mol.to_smiles() |
mol.toSmiles() |
with_hydrogens |
mol.with_hydrogens() |
mol.with_hydrogens() |
mol.withHydrogens() |
tpsa |
mol.tpsa() |
mol.tpsa() |
mol.tpsa() |
Learn once, then move between Python notebooks, native Rust applications, and browser-based JavaScript without relearning the chemistry API.
Documentation
- Python documentation: https://kit.cosmol.org/python
- JavaScript documentation: https://kit.cosmol.org/javascript
- Rust documentation: https://docs.rs/cosmolkit/latest/cosmolkit/
- Interactive Web Tools: https://tools.cosmol.org/tools
Installation
# Rust
cargo add cosmolkit
# Python
pip install cosmolkit
# JavaScript/TypeScript (browser or bundler)
npm install @cosmol-studio/cosmolkit
Core Concepts
- Value-style molecules: methods such as
with_hydrogens(),without_hydrogens(),with_kekulized_bonds(), andwith_2d_coordinates()return new molecule values, keeping topology-changing operations explicit and preventing derived chemistry state from being silently invalidated. - Explicit mutation: in-place
Moleculeoperations always end with_. The trailing underscore has no other publicMoleculemeaning. - Explicit errors: invalid input and unsupported behavior are surfaced as errors instead of silent fallbacks.
- Batch-native processing:
MoleculeBatchkeeps input order, supports structured per-record failures, and can run batch transforms and exports with configurable parallelism. - Array-friendly data access: coordinates, bounds matrices, fingerprints, and graph features are exposed through NumPy and JavaScript typed arrays.
- Source-backed 3D workflows: conformer generation and UFF/MMFF optimization are available through the Python and JavaScript APIs, and atom chiral tags can be assigned from a selected 3D conformer with pinned-RDKit parity.
Value-Style Transformations
Normal molecule operations return new objects and do not mutate their inputs. This follows the same explicit-dataflow direction as modern dataframe libraries: users can reason about each transformation as a new value while COSMolKit can share unchanged internal storage efficiently.
import cosmolkit as ck
mol = ck.mol_from_smiles("CCO")
mol_h = mol.with_hydrogens()
assert mol is not mol_h
Python Quick Start
import cosmolkit as ck
mol = ck.mol_from_smiles("c1ccccc1O")
mol_2d = mol.with_2d_coordinates()
print(mol_2d.to_smiles())
print(mol_2d.coordinates_2d)
mol_3d = mol.with_hydrogens().with_3d_conformer()
print(mol_3d.coordinates_3d())
svg = mol_2d.to_svg(width=400, height=300)
mol_2d.write_png("phenol.png", width=400, height=300)
fp = mol.fingerprint_morgan()
print(fp.on_bits)
array = fp.to_numpy() # uint8, one entry per bit
batch = (
ck.mols_from_smiles_list(
["CCO", "c1ccccc1", "CC(=O)O"],
)
.with_parallel_jobs(8)
.with_progress_bar(False)
)
prepared = batch.with_hydrogens().with_2d_coordinates()
print(prepared.valid_mask)
print(prepared.to_smiles())
prepared.write_images("molecule_images")
JavaScript Quick Start
Initialize the WASM module once. Value-style transforms leave their input
unchanged; call free() when WASM objects are no longer needed.
import init, * as ck from "@cosmol-studio/cosmolkit";
await init();
const mol = ck.Molecule.fromSmiles("c1ccccc1O");
const mol2d = mol.with2dCoordinates();
const fp = mol.fingerprintMorgan();
const batch = ck.MoleculeBatch.fromSmilesList(["CCO", "c1ccccc1", "CC(=O)O"]);
console.log(mol.toSmiles(), mol.molecularWeight());
console.log(mol2d.toSvg(400, 300));
console.log(fp.onBits);
console.log(batch.toSmiles());
batch.free();
fp.free();
mol2d.free();
mol.free();
See the JavaScript guide for browser/CDN initialization and more examples.
Protein Structures
Use BioStructure for complete PDB/mmCIF structural data, including modeled
proteins, nucleic acids, ligands, waters, entities, models, and metadata. Use
Protein only when an amino-acid-only projection is intended.
import cosmolkit as ck
from pathlib import Path
structure = ck.BioStructure.from_pdb(Path("complex.pdb").read_text())
print(structure.num_models, structure.num_chains, structure.num_atoms)
# Structural format conversion remains on the complete structural value.
mmcif_text = structure.to_mmcif()
roundtrip = ck.BioStructure.from_mmcif(mmcif_text)
print(roundtrip.num_atoms)
This example reads your complex.pdb file.
The protein projection is explicit and leaves the full structure available:
protein = structure.protein()
print(protein.num_chains)
print(protein.num_residues)
print(protein.num_atoms)
SDF and Dataset Workflows
SdfDataset builds a lightweight index of SDF record byte ranges, so individual
records and chunks can be read without loading an entire file into memory.
Molfile-only readers such as Molecule.read_mol() follow RDKit
MolFromMolBlock boundaries: they stop after the first M END line and leave
trailing SDF data fields to the SDF APIs.
import cosmolkit as ck
dataset = ck.SdfDataset.open("library.sdf")
print(len(dataset))
record = dataset[0]
mol = record.molecule
for batch in dataset.batches(size=1024, errors="keep", n_jobs=8):
smiles = batch.to_smiles()
This example reads your library.sdf file.
Conformer Generation And Optimization
import cosmolkit as ck
mol = ck.mol_from_smiles("CC(=O)NC").with_hydrogens()
params = ck.EmbedParams(random_seed=0xF00D, num_threads=1)
embedded = mol.with_3d_conformer(params)
print(len(embedded.conformers_3d))
print(embedded.coordinates_3d())
multi = mol.with_3d_conformers(5, params)
print(len(multi.conformers_3d))
uff = embedded.uff_force_field()
print(uff.energy())
outcome = uff.minimize_(max_iterations=200)
print(uff.energy())
mmff = embedded.mmff_force_field()
print(mmff.energy())
outcome = mmff.minimize_(max_iterations=200)
print(mmff.energy())
with_3d_conformer() uses source-backed distance-geometry embedding for trusted
molecular graphs: molecules without explicit hydrogens are embedded as heavy-atom-only
conformers instead of failing or automatically adding hydrogens. Calling
with_hydrogens() first is recommended for all-atom geometry, force-field
optimization, and hydrogen-bond-sensitive workflows. Coordinate-only inputs
such as XYZ blocks do not contain a bond topology and are not valid ETKDG
inputs until a trusted graph has been constructed.
Feature Areas
- Molecular graph construction and inspection
- SMILES parsing and writing
- MOL/SDF reading and writing
- MOL2 reading with RDKit-style
Mol2ParserParams - XYZ block reading
- InChI/InChIKey conversion with structured diagnostics
- Source-backed 3D atom-chiral-tag assignment
- Typed potential-stereo analysis and lazy, source-ordered stereoisomer enumeration with exhaustive, bounded random, uniqueness, enhanced-group, and optional embedding controls
- Hydrogen transforms and Kekulization
- Sanitization and chemistry problem detection
- Source-backed Rust tautomer enumeration, canonical selection, scoring, callbacks, current and V1 transform catalogs, and ordered result provenance
- 2D coordinate generation and SVG/PNG depiction
- Native 3D conformer generation with DG/KDG/ETDG/ETKDG parameter presets
- Read-only molecular alignment/RMSD measurement and explicit value-style or trailing-underscore coordinate alignment
- UFF/MMFF optimization of generated or imported 3D conformers
- Morgan, MACCS, RDKit topological, Avalon, Pattern, AtomPair, and Topological Torsion fingerprints, including sparse/count forms, provenance, tautomer-aware Pattern hashing, 2D/3D AtomPair distances, and ordered batch execution
- Source-backed RDKit Layered fingerprint 0.7.0 with all six active layers, roots, masks, seeded atom counts, and ordered batch execution; this family retains upstream's experimental classification
- Distance-geometry bounds matrices
- Substructure matching and SMARTS parse metadata
- Ordered batch transforms and exports
- Python pickle round-tripping for
Molecule - Complete PDB/mmCIF
BioStructureparsing, Gemmi-aligned mmCIF writing, protein projections, and explicit structure-to-molecule conversion - Support-status metadata for public features
Design Principles
COSMolKit aims to be Python- and JavaScript-friendly, batch-friendly, and suitable for scientific and browser workflows.
- Correctness comes before breadth.
- Public transforms use value semantics.
- Mutation-capable workflows are explicit.
- Fail-closed capability boundaries: a separately named capability outside documented support returns a structured error rather than fabricated chemistry. This is an API design rule, not an accepted mismatch within a supported feature.
- RDKit-parity behavior is the correctness floor for supported cheminformatics features.
- High-throughput APIs should preserve input order and expose per-record failures.
- Reference semantics come before heuristic approximation; semantic debt is treated as a correctness risk.
Examples
Python examples live in python/examples/; JavaScript examples live in
wasm/examples/vanilla/.
For the current InChI interface, see
python/examples/inchi_roundtrip.py.
Development
See dev/README.md for local checks and contribution rules, python/dev.md for Python builds, and wasm/dev.md for JavaScript/TypeScript builds.
Acknowledgments
COSMolKit includes Rust ports of code and algorithms from:
License
COSMolKit is licensed under the MIT License. Vendored sources and externally derived test fixtures retain their upstream copyright and license terms as documented beside those files.
Metadata
Release files for cosmolkit 0.6.0rc2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| cosmolkit-0.6.0rc2.tar.gz | 10.8 MB | Without provenance | Details for cosmolkit-0.6.0rc2.tar.gz |
Built distributions (wheels)
Total release size: 304.6 MB
Release files / cosmolkit-0.6.0rc2.tar.gz
| Download URL | cosmolkit-0.6.0rc2.tar.gz |
|---|---|
| Size | 10.8 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cbb6a42d0603d001970d10b7745f9436b1b11b86f531934ee944b69c91f7e12a
|
|
BLAKE2b-256 checksum How to use checksums |
689cef0760021b59396fbcd96a44c1e6b49fbf3aa6735fcf5ca6002555f4074b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp313-cp313-win_amd64.whl
| Download URL | cosmolkit-0.6.0rc2-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 14.9 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9044346eb95c11368bb70cd4bef51ae7e73e41e810fb181a4eac3d321e50cbba
|
|
BLAKE2b-256 checksum How to use checksums |
ea5d6cda8958ea52273cdaacf0222a715f83ea521c92ab7aba266d5e39271476
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cosmolkit-0.6.0rc2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 15.7 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
47847020c2850d48fbf928920f6a8d9293fe8d34b099e3580444eda7ff7214f8
|
|
BLAKE2b-256 checksum How to use checksums |
e1d722d3ee186db5d463bb6452dcdd3e419e18e17d5fbc4e73da0df207c211b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | cosmolkit-0.6.0rc2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 14.7 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
2d497e3b4d196c251c3494efb6d37321f98db8ceeea52024a5936861389bd077
|
|
BLAKE2b-256 checksum How to use checksums |
b2fec542b7e07190151fddfbfa5208f0ff6d46214db62abc919f1b5d006b98c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | cosmolkit-0.6.0rc2-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 28.6 MB |
| Tags | CPython 3.13 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3a7b455e3974005a8280a21e405176aa67fb4601103e048adeeb071b46d2ba56
|
|
BLAKE2b-256 checksum How to use checksums |
0a0a1224600d995cb73b4261558b33d90cc19d1b6b954abb509c173da8d12f6c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp312-cp312-win_amd64.whl
| Download URL | cosmolkit-0.6.0rc2-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 14.8 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
c96872ada543205e5c8fd23d2ebb554050c8a74b0e5f1e6e5b58146b6ac837cf
|
|
BLAKE2b-256 checksum How to use checksums |
114cf0d556985cd044db0868ba6c4de285410c9f61963a5d84931f96b40976a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cosmolkit-0.6.0rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 15.6 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
0eb30987ae5767b378fb1525448551a4b677e1d3dac98ba082ab158d3d077b2d
|
|
BLAKE2b-256 checksum How to use checksums |
6028a31e9c28ae08e7f2fb300f9703584aeaa7903d1dba69d6af2393f113dbeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | cosmolkit-0.6.0rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 14.6 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
1e31d9b2bedcd3350da4bbe38ecc50f7f8cddf549da06379f50bf91b57f151c6
|
|
BLAKE2b-256 checksum How to use checksums |
fdb8aa5027bdc5eb75433a6886a0e304097d47616352962283726c17c517d324
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | cosmolkit-0.6.0rc2-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 28.5 MB |
| Tags | CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
204eae82676fd9e275035554a2b10db126cfbb8da36cd58897de978a79f486c8
|
|
BLAKE2b-256 checksum How to use checksums |
73885ec2b6fb539e0dd4d410958968cccbcb249293adf2fe938206e56b2326b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp311-cp311-win_amd64.whl
| Download URL | cosmolkit-0.6.0rc2-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 14.6 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
211b9d134586aa61c05fb06ff8e96d954e257cb8432f8efe0cfcf23947257476
|
|
BLAKE2b-256 checksum How to use checksums |
b7df50a5b2116ebaaf932b537b2e2c0abbffb10cec4df947ad0d7c5399fd6509
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cosmolkit-0.6.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 15.4 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
3b922b7b065fb57fb11e773da87e7db3de4e89359df1c6033e6bb87ef3465ec1
|
|
BLAKE2b-256 checksum How to use checksums |
540ea90cff9b9e9c823c35cbda7ac8deee9bc27c13d7c94b2db84f5c61315087
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | cosmolkit-0.6.0rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 14.5 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
47550ef5340ab02c3281a0e54a678cc8d68366b4cc7f9e0522ab1025bf2a23d3
|
|
BLAKE2b-256 checksum How to use checksums |
6ff8d85fe450999a35be578436038ed166c9abb18bb3b135d83cbc8874056110
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | cosmolkit-0.6.0rc2-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 28.6 MB |
| Tags | CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
90aeb796803389e7306f33dc1b1f2740677f2cb8aadaf3a9498a1388d3f1f470
|
|
BLAKE2b-256 checksum How to use checksums |
db769960a71006267b721b81132dadddf1e3ef620d7a1061f95fe09b106f15cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp39-abi3-win_amd64.whl
| Download URL | cosmolkit-0.6.0rc2-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 14.6 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
939bc9d8d61967bfebf68d93eb4508631f8f33061bfa97e2e5eb5580f360e071
|
|
BLAKE2b-256 checksum How to use checksums |
fd2b6a5ea17d61157f08e342997bc5bfe0177b5e59cc4bfdd061a4dc37b79508
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cosmolkit-0.6.0rc2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 15.4 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
efe278528d58648b50e144c92be1cfb87fe6816ff99163e2eea4fe831ec927eb
|
|
BLAKE2b-256 checksum How to use checksums |
ecc8fbe1b5f8c88f6afa32cca7e6b77972ba66ba8a63f8d432fef3acdc12af54
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | cosmolkit-0.6.0rc2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 14.5 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
7e6f6c809c91e1ca9252176bf1b113ad766575226bb78014a5b2a421a2e14ba0
|
|
BLAKE2b-256 checksum How to use checksums |
92035e9133c9b6289e475f08631eb70e9c09f204efb478fa8372e90e56c7072a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Release files / cosmolkit-0.6.0rc2-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | cosmolkit-0.6.0rc2-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 28.6 MB |
| Tags | CPython 3.9 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
196e181df94e154962b5acf701f76f498d539cf374323fafdc9aacf9368f010c
|
|
BLAKE2b-256 checksum How to use checksums |
85ed852ad28ac95e0e7a6457248990e81a6bb265e1af07c951e3cc0f21bc022f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Security for cosmolkit 0.6.0rc2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.