Skip to main content

COSMolKit — Rust-native cheminformatics toolkit

coverage workflow badge codecov badge crates.io badge docs.rs badge pypi badge npm badge MIT license badge

COSMolKit is a Rust-native cheminformatics and structural biology toolkit with first-class Python 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.

For supported cheminformatics operations, RDKit-compatible behavior is treated as the correctness floor. COSMolKit uses boundary-scoped parity claims: a feature is considered parity-covered only when its documented reference surface passes the required exact or numerical comparisons. Fixed reference oracles, source-backed implementations where reference semantics require them, committed regression corpora, and explicit capability boundaries are used together; aggregate success rates or approximate similarity are not treated as substitutes for behavioral parity.

COSMolKit combines a native Rust API with Python interfaces designed for array-oriented scientific and machine-learning workflows. Molecular graphs, coordinates, fingerprints, bounds matrices, and structural data are exposed in forms suitable for NumPy, PyTorch, dataset processing, and model-building pipelines.

COSMolKit 0.5.0

The current chemistry reference is RDKit 2026.03.6 (Python distribution 2026.3.6). See the source-upgrade record for the exact revision and upstream-diff scope.

  • Modular Rust architecture: separate crates own model values and domain algorithms; cosmolkit remains the public entry point and molecule runtime.
  • Cargo features: select functionality such as core, bio, fingerprints, or reaction; prerequisites are included. Default is full; 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 Molecule.from_smiles Molecule.fromSmiles
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

Validation Status

COSMolKit treats parity as source-backed semantic equivalence within explicitly documented boundaries, not as statistical agreement of final outputs. Compatibility-critical chemistry is implemented as a line-by-line, source-backed port with explicit operation contracts and traceable correspondence to pinned upstream code. Validation corpora verify that port; they are not used to iteratively tune heuristic reimplementations until outputs happen to agree.

The comparison boundary therefore extends well beyond final strings. Covered surfaces compare exact bytes, bits, return status, complete atom and bond state, stereochemistry, derived state and invariants, RNG state, seed handling, and random draw sequences where stochastic behavior is part of the contract, every matrix entry, coordinates, energies, and every gradient component where applicable. Discrete results must match exactly; declared numerical tolerances reach 1e-8 for matrix entries and 1e-6 for coordinates, energies, and gradients. 99% or 99.9% agreement remains unfinished when any covered mismatch exists.

No differences have been observed on the known corpus of several hundred thousand molecules; million-scale 0.5.0 parity validation is pending. The historical ChEMBL 37, 5,000-record and 152-record results in VALIDATION.md come from 0.3.0. They are retained as historical evidence, not a claim that 0.5.0 has passed the same comparisons. Current validation must record the tested implementation, reference versions, options, counts and actual outcomes.

Installation

pip install cosmolkit

Core Concepts

  • Value-style molecules: methods such as with_hydrogens(), without_hydrogens(), with_kekulized_bonds(), and with_2d_coordinates() return new molecule values, keeping topology-changing operations explicit and preventing derived chemistry state from being silently invalidated.
  • Explicit mutation: in-place Molecule operations always end with _. The trailing underscore has no other public Molecule meaning.
  • Explicit errors: invalid input and unsupported behavior are surfaced as errors instead of silent fallbacks.
  • Batch-native processing: MoleculeBatch keeps 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 in forms that fit Python numerical workflows.
  • Source-backed 3D workflows: conformer generation and UFF/MMFF optimization are available through the public Python API, 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.Molecule.from_smiles("CCO")
mol_h = mol.with_hydrogens()

assert mol is not mol_h

Python Quick Start

import cosmolkit as ck

mol = ck.Molecule.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())

atom_pair = mol.fingerprint_atom_pair()
print(atom_pair.on_bits())

layered = mol.fingerprint_layered()
print(layered.on_bits())

pattern = mol.fingerprint_pattern()
print(pattern.on_bits())

stereoisomers = list(ck.Molecule.from_smiles("FC(Cl)Br").enumerate_stereoisomers())
print([isomer.to_smiles() for isomer in stereoisomers])

batch = (
    ck.MoleculeBatch.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_list())

prepared.write_images("molecule_images")

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())

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_list()

Conformer Generation And Optimization

import cosmolkit as ck

mol = ck.Molecule.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
  • Four scalar InChI APIs with exact source-defined official-C/RDKit parity and structured errors
  • 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 for the validated exact-parity branches, 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 BioStructure parsing, 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-friendly, batch-friendly, and suitable for model-building 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/. For the current InChI interface, see python/examples/inchi_roundtrip.py.

Development

Small focused Rust test filters may use the default debug profile while iterating:

cargo test -p cosmolkit-core <test-filter>

Large local runs, parity suites, and CI tests should use release mode with the runtime strict checks enabled on cosmolkit:

cargo test -p cosmolkit-core --release
cargo test -p cosmolkit --release --features op-contracts-strict

Detached core algorithms have no runtime-check features. Release-mode testing keeps operation contracts and runtime invariants enabled on cosmolkit through op-contracts-strict; optimized release builds for distribution use default features unless explicit runtime checks are requested.

Functionality in 0.5.0

Status labels:

  • ✅ stable public functionality within its documented supported scope
  • 🧪 public experimental feature; available, but its behavior or API may change

The ✅ status applies to the documented COSMolKit scope. It does not claim that every API or input branch from an upstream reference library is implemented; separately named upstream capabilities outside that scope are not represented as implemented. Every path inside a parity-covered boundary is still required to match; individual failing rows cannot be reclassified as out of scope.

Chemistry Core

Goal: keep the supported molecular core correct before expanding breadth.

  • ✅ Molecule, atom, and bond graph model
  • ✅ SMILES parsing
  • ✅ SMILES writing with RDKit-style writer options for supported branches
  • ✅ Ring perception, valence handling, aromaticity, and Kekulization
  • ✅ Hydrogen addition and removal
  • ✅ Sanitization for supported chemistry workflows
  • ✅ Tautomer enumeration, canonical selection, scoring, and source-defined stereochemistry and isotopic-hydrogen options
  • ✅ Stereochemistry inspection for supported atom and bond states
  • ✅ Typed potential-stereo analysis and lazy stereoisomer enumeration through the pinned RDKit Python behavior, including arbitrary-width counts, seeded random generation, enhanced stereo groups, uniqueness, and optional embedding
  • ✅ Atom chiral-tag assignment from selected 3D conformers, with a designated 77-case full-state special-regression matrix for assignChiralTypesFrom3D
  • ✅ Distance-geometry bounds matrices
  • ✅ Native 3D conformer generation and UFF/MMFF post-optimization for supported molecules
  • ✅ Molecule.to_inchi(), Molecule.to_inchi_key(), inchi_to_key(), and Molecule.from_inchi() for source-defined behavior; official-C undefined allocation behavior returns a structured error
  • ✅ Source-backed Morgan, MACCS, RDKFingerprint/topological, Avalon, Pattern, AtomPair, and Topological Torsion fingerprints for their validated exact-parity branches, including typed provenance, count/bit forms, tautomer-aware Pattern hashing, 2D/3D AtomPair distances, Tanimoto similarity, and ordered batch execution
  • 🧪 Source-backed RDKit Layered fingerprint 0.7.0, including all six active layers, roots, masks, seeded counts, and ordered batch execution; upstream classifies this fingerprint family as experimental
  • ✅ Substructure matching and Python SMARTS parse metadata
  • ✅ Molecular descriptors: weight/formula, H-bond and Lipinski counts, Crippen/TPSA/QED, connectivity Chi, Hall-Kier/Kappa/Phi, ring and stereo counts, MQN, Labute ASA, and SlogP/SMR VSA for the documented parameter space

File I/O and Depiction

Goal: make common molecule import, export, and visualization workflows usable from Python.

  • ✅ MOL/SDF reading
  • ✅ MOL2 reading
  • ✅ XYZ block reading
  • ✅ SDF dataset indexing for large files
  • ✅ SDF writing for supported V2000/V3000 branches
  • ✅ PDB block to molecule conversion
  • ✅ mmCIF block to molecule conversion through the same molecule-conversion profile
  • ✅ 2D coordinate generation
  • ✅ SVG drawing
  • ✅ PNG export
  • ✅ RDKit-style visual parity testing for supported depiction output
  • ✅ 3D conformer generation and embedding APIs

Batch-Native Workflows

Goal: make high-throughput molecule preparation and export a core product identity.

  • ✅ Ordered MoleculeBatch.from_smiles_list()
  • ✅ Batch transforms for sanitization, hydrogens, Kekulization, and 2D coordinates
  • ✅ Configurable parallelism with with_parallel_jobs()
  • ✅ Configurable progress display with with_progress_bar()
  • ✅ Per-record errors, valid masks, and error reports
  • ✅ Batch SMILES, image, and SDF export paths
  • ✅ Golden parity tests for parallel batch behavior

Protein and Structural Biology

Goal: provide practical Biopython-like structure workflows without forcing users through low-level structural tables.

  • ✅ Protein.from_pdb() / Protein.from_mmcif() high-level entry points
  • ✅ BioStructure.from_pdb() / BioStructure.from_mmcif() complete-structure entry points and mixed-structure hierarchy traversal
  • ✅ Protein chain, residue, and atom iteration
  • ✅ Protein-only projection from broader structural data
  • ✅ PDB/mmCIF structural parsing
  • ✅ Gemmi-aligned BioStructure mmCIF serialization and file writing
  • ✅ Structural selection and chain/residue/atom traversal

Python API and ML Readiness

Goal: expose verified molecular behavior through a practical Python interface.

  • ✅ Stable value-style mutation contract for public molecule transformations
  • ✅ Graph, coordinate, fingerprint, descriptor, and bounds-matrix accessors
  • ✅ Python examples for drawing, SDF-to-SMILES, pickle round-tripping, batch processing, and proteins
  • ✅ Type stubs and documentation coverage
  • ✅ NumPy fingerprint vectors and batch matrices

Browser and Deployment

Goal: make validated COSMolKit functionality usable without requiring a local Python or Rust installation.

  • ✅ COSMolKit Web Tools for browser-based molecular workflows
  • ✅ Browser-native deployment of selected COSMolKit functionality through WebAssembly
  • ✅ Generated JavaScript/TypeScript API with prebuilt feature combinations

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.5.0

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

Source distribution (sdist)

Source distribution for cosmolkit 0.5.0
File Size Uploaded
cosmolkit-0.5.0.tar.gz 9.8 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for cosmolkit 0.5.0
File
cosmolkit-0.5.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
cosmolkit-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
cosmolkit-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
cosmolkit-0.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.13 CPython 3.13 macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.12+ x86-64 Details
cosmolkit-0.5.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
cosmolkit-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
cosmolkit-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
cosmolkit-0.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.12 CPython 3.12 macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.12+ x86-64 Details
cosmolkit-0.5.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
cosmolkit-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
cosmolkit-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
cosmolkit-0.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.11 CPython 3.11 macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.12+ x86-64 Details
cosmolkit-0.5.0-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
cosmolkit-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
cosmolkit-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
cosmolkit-0.5.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl CPython 3.9 abi3 macOS 10.12+ universal2 (ARM64, x86-64), macOS 11.0+ ARM64, macOS 10.12+ x86-64 Details

Total release size: 207.6 MB

Release files / cosmolkit-0.5.0.tar.gz

Download URL cosmolkit-0.5.0.tar.gz
Size 9.8 MB
Tags Source
SHA-256 checksum
How to use checksums
5aceb7eda4d725cfb52576357e4c1c03585dde0688bd669bbd290ed1df9363cd
BLAKE2b-256 checksum
How to use checksums
1e9565f7d162253619776cbbee00e461bd88187a11e6f1b8aded64e5bf628102
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp313-cp313-win_amd64.whl

Download URL cosmolkit-0.5.0-cp313-cp313-win_amd64.whl
Size 9.9 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
564ea20d86f456a74aa5f6a96f00b939ba67f5cc57654621ebb20bbcf8a43cd7
BLAKE2b-256 checksum
How to use checksums
95395e0dd4e7599162812a3631c850150bef43f44652d2276a26d9396361c853
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cosmolkit-0.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.4 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a4b29cf0d1299466bdd8b56a3c55ac0cd245dfb24ce6c53f166971e494c94fd7
BLAKE2b-256 checksum
How to use checksums
62824f5c8da92b8dd970d228074a98717c3c7b2bc2abe56d396418683953359b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL cosmolkit-0.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 9.9 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
82c349b3f6a8c9fe2c8f80bd793d1a9b5a15940dea85eb302feb62c6eda6f93f
BLAKE2b-256 checksum
How to use checksums
7f626014f88e6f3e62f9d7671f97df94164c0267490271784859f8e0d531cb39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL cosmolkit-0.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 19.2 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
4264c4a2b9d6878f80d808fbeb106f1ceae361528093892eaada778b8ba26fef
BLAKE2b-256 checksum
How to use checksums
bd48efac398b985ac625e39605f1ed30d77161f10a9afc7197c29cd09f8c6b72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp312-cp312-win_amd64.whl

Download URL cosmolkit-0.5.0-cp312-cp312-win_amd64.whl
Size 9.9 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
278f9b7ad3e9ddd8dc3ac99e8a768db0ad4bbf29d642d99deef72318e5437c90
BLAKE2b-256 checksum
How to use checksums
4525271673267a36a50ae833e9597ff6c1d385b9eac89dbf462ef5e3f7290ba8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cosmolkit-0.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.4 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0771dc345387e9e7dc3291f7c18924e8e505262bb1a98fe2760526c5f956bd6e
BLAKE2b-256 checksum
How to use checksums
775b38f55f7914261190c82e6033d087ac0bbad4c1e35fa5446dce6a6ae32bac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL cosmolkit-0.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 9.9 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
5fe7d65d6dc40785540b0790ee30a81365dfa7aebdde2d955fa53951626a2bd3
BLAKE2b-256 checksum
How to use checksums
e8430ef5c815ada4ecfc00fba21bd9480d95b8ec610064be2642ed8df9d1d2f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL cosmolkit-0.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 19.2 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
0bf41cb3f1ce762aba01fd40801a7e02646049785ba20fe19cd4adaccc022976
BLAKE2b-256 checksum
How to use checksums
aa48bf7bfcd10968a032ef4bbc88630a3932e056a0bcff04036f064e2487d651
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp311-cp311-win_amd64.whl

Download URL cosmolkit-0.5.0-cp311-cp311-win_amd64.whl
Size 10.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
533fb3c6c128cd682e2c0e4a44e1a0d47d4ffa97d940e1beae62c4c0902ae238
BLAKE2b-256 checksum
How to use checksums
10e59dd8cd8dbbc881a263212327d841717f9b17a0a84e1d2458be9759386297
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cosmolkit-0.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.5 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4f850532e206ca2e03bd923dba064b413091c208fcc86572d6fc439077433017
BLAKE2b-256 checksum
How to use checksums
eb6aac38af97349233aa7c5ad479210ddb34ac45bcd4426b74841a2e812c1027
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL cosmolkit-0.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 10.0 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
ee5927c22a578ee43c7ef23093c079752f5d644b6efa1c12021870b3827554cc
BLAKE2b-256 checksum
How to use checksums
7f6183a0da30ff5d10c81626175585cbd6897ad0494e92ee1254c2293a24ace2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL cosmolkit-0.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 19.2 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
1f9d8ec0745197c0382ab0e95620555ac990224f6045e527e1f5dbc7e52a4194
BLAKE2b-256 checksum
How to use checksums
678966443c73ce7b290c1ba03bcf69d827d3f4b1cb28bb87136c6444e50d664d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp39-abi3-win_amd64.whl

Download URL cosmolkit-0.5.0-cp39-abi3-win_amd64.whl
Size 9.9 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
9add4bca96744bffe67d357b4546520ff18bf933922bc695265c3bf7b5b7571e
BLAKE2b-256 checksum
How to use checksums
cbc344cc0230030a8559e5147fd8ad150acfa8763c720839fbc3c9284b304c2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL cosmolkit-0.5.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 10.5 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
c8713a41eee48319e2c9166d802d88ddb6af1129c2844c4278d87ea2b24bb0dc
BLAKE2b-256 checksum
How to use checksums
1072f41e84efeebc1c11ffd8fa301742bde63ab6857cb32cb18d08a34d42c064
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL cosmolkit-0.5.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 10.0 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
43bfd8f646dfb7bfd93fe79bf79b706dc899cb74f4206cac53623d96527db4f5
BLAKE2b-256 checksum
How to use checksums
bec305e70ee6f01c7c6c84adb80b9ea8fae6a6e891804602865c81c13ebc02e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / cosmolkit-0.5.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl

Download URL cosmolkit-0.5.0-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Size 19.2 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
7caf13c821925cb7d1c75806ea60b41f0dc29377a14c7c8652e9977f16310f4f
BLAKE2b-256 checksum
How to use checksums
22662949c6520ed15090f58af169bd1b03cb181907adbc5ea8a4ad17e7f61f68
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.5.0 This release

17 release files

0.3.0

5 release files

0.2.13

5 release files

0.2.12

5 release files

0.2.11

5 release files

0.2.9

5 release files

0.2.8

5 release files

0.2.7

5 release files

0.2.5

5 release files

0.2.3

4 release files

0.2.2

4 release files

0.2.1

4 release files

0.2.0

4 release files

0.1.3

4 release files

0.1.2

4 release files

0.1.1

4 release files

0.1.0

4 release files

0.0.9

4 release files

0.0.8

4 release files

0.0.7

4 release files

0.0.6

4 release files

0.0.5

4 release files

0.0.4

4 release files

0.0.3

4 release files

0.0.2

4 release files

0.0.1

4 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