Skip to main content

chematic

Pure-Rust cheminformatics library for Python — SMILES parsing, descriptors, fingerprints, substructure search, formats, reactions, and bounded 3D tools.

The current published line is 1.1.3. It includes molecule pickling, indexed SDF access, V3000 bond-stereo collections, and reusable Python MMFF94/UFF force fields. Compatibility and performance claims remain operation-, artifact-, and corpus-scoped; see the validation and migration guides before replacing a production RDKit workflow.

Installation

pip install chematic

Quick Start

import chematic

mol = chematic.from_smiles("CC(=O)Oc1ccccc1C(=O)O")  # aspirin

print(mol.mw)      # 180.16
print(mol.logp)    # 1.31
print(mol.tpsa)    # 63.6
print(mol.qed)     # 0.55

# New descriptors
print(mol.vabc)              # van der Waals volume (no 3D needed)
print(mol.schultz_mti)       # Schultz MTI
print(mol.gutman_mti)        # Gutman MTI*
print(mol.gravitational_index)  # gravitational index

# pKa prediction
print(mol.pka())   # {"most_acidic": 3.49, "most_basic": None}

# ADMET profile
print(mol.admet())
# {"bbb": False, "bbb_score": ..., "caco2": ..., "herg_risk": ..., "cyp3a4_risk": ...}

# Fingerprints (bytes, 2048-bit ECFP4)
fp = mol.ecfp4()

# Tanimoto similarity
mol2 = chematic.from_smiles("c1ccccc1")
sim = chematic.tanimoto(mol.ecfp4(), mol2.ecfp4())

# Mol objects can be cached or sent to worker processes with pickle. Graph
# chemistry, stereo, R-groups, source metadata, and SD properties survive.
import pickle
restored = pickle.loads(pickle.dumps(mol))

# Natural-language property summary (for LLM / MCP agents)
print(mol.describe())

# Structural diff between two molecules
ibuprofen = chematic.from_smiles("CC(C)Cc1ccc(CC(C)C(=O)O)cc1")
d = mol.diff(ibuprofen)  # {"summary": "...", "delta_mw": 66.1, "delta_logp": 2.75, ...}

# SVG / PDF / EPS depiction
svg = mol.to_svg()
pdf_bytes = mol.to_pdf()   # bytes; requires pdf feature
eps_str   = mol.to_eps()   # PostScript string

# ChemicalJSON (Avogadro 2 / MolSSI)
cjson_str = mol.to_cjson(coords=[])   # coords: list of (x,y,z) tuples, optional
mol2, coords = chematic.from_cjson(cjson_str)

# Template-based retrosynthesis (60 retro-SMIRKS templates)
mol3 = chematic.from_smiles("CC(=O)Nc1ccccc1")  # acetanilide
results = mol3.retro_disconnect(max_results=5)
for r in results:
    print(r["template"], "→", r["precursors"])
# amide_secondary → ['CC(=O)O', 'Nc1ccccc1']

# Filter by reaction class
amides = mol3.retro_disconnect(reaction_class="AmideBond")

# Bulk substructure match against a pre-parsed Mol list (returns indices)
mols = [chematic.from_smiles(s) for s in ["CCO", "c1ccccc1O", "CC(=O)O"]]
hits = chematic.bulk.substructure_match("[OH]", mols)  # → [0, 1, 2]

# All descriptors as a dict (for Pandas)
import pandas as pd
smiles = ["CCO", "c1ccccc1", "CC(=O)O"]
df = pd.DataFrame([chematic.from_smiles(s).descriptors() for s in smiles])

# Opt-in v2 embedding pipeline: torsion-knowledge-aware distance geometry +
# stereo verification/repair + policy-gated force field, with full per-stage
# evidence (never just final coordinates)
config = chematic.PipelineV2Config.safe(
    force_field="mmff94_with_uff_fallback",
    stereo_policy="repair_and_verify",
    ring_torsion_policy="fail_closed",
)
try:
    result = mol.embed_pipeline_v2(config)
    coords = result["coords"]                       # same atom order as mol
    print(result["force_field"]["actual_force_field_used"])  # fallback if MMFF94 lacked params
    print(result["final_validation"]["sound"])
except chematic.PipelineV2Error as e:
    print(e.diagnostics["stage"], e.diagnostics["cause"])   # structured, not just a message

# Reuse prepared MMFF94 terms across iterative energy/gradient calls
field = mol.mmff_force_field(coords)
energy, gradient = field.energy_gradient()
field.set_position_(0, [coords[0][0] + 0.01, *coords[0][1:]])
status, optimized_energy = field.minimize_()

Molecular GNN input

Mol.ogb_graph_features() returns the OGB categorical graph schema as NumPy int64 arrays. It works with molecules from SMILES, SDF records, and MOL2. The keys are node_feat (N, 9), edge_index (2, 2E), edge_feat (2E, 3), and num_nodes. The edges and their features have the same order, with one edge in each direction per bond. PyTorch and PyG are optional:

import chematic

for source_index, record, error in chematic.iter_sdf_checked("ligands.sdf"):
    if error is not None:
        print(f"Rejected SDF record {source_index}: {error}")
        continue
    assert record is not None
    graph = record.ogb_graph_features()
    # Attach record.name and record.properties() as labels or IDs as needed.
    # With PyTorch Geometric installed:
    # import torch
    # from torch_geometric.data import Data
    # data = Data(
    #     x=torch.from_numpy(graph["node_feat"]),
    #     edge_index=torch.from_numpy(graph["edge_index"]),
    #     edge_attr=torch.from_numpy(graph["edge_feat"]),
    #     num_nodes=graph["num_nodes"],
    # )

The default removes RDKit-removable hydrogen graph atoms, following OGB's default SMILES conversion. Pass remove_hs=False to retain the atoms already present in the molecule; this option does not add hydrogens. Unsupported chemistry raises ValueError. This export contains categorical graph features, not coordinates or SD properties. iter_sdf_checked reports a rejected record at its source index. Its default reader limits are 1 GiB and 100,000 records; pass positive max_input_bytes and max_records overrides for larger files. Use SdfRecord.ogb_graph_features() for V2000 or V3000 SDF input: it retains explicitly unknown double-bond stereo (V2000 code 3 or V3000 CFG=2). The generic Mol.ogb_graph_features() has no record-level stereo diagnostic to read. For a 3D SDF, chirality inferred by RDKit from coordinates can differ from the chirality retained in record.mol from the CTAB wedge representation.

Features

  • Zero C/C++ dependencies — pure Rust, no RDKit or OpenBabel required
  • SMILES / MOL / SDF / ChemicalJSON parsing and writing
  • Indexed SDF datasets — SdfDataset provides cheap record counts, metadata, random access, and bounded range reads without materializing every molecule
  • 190+ descriptor values (70+ functions; several return vectors): MW, LogP, TPSA, QED, Fsp3, SA Score, HBD, vabc, schultz_mti, gutman_mti, and gravitational_index. RDKit agreement is metric-specific; see the validation report.
  • 14 fingerprint algorithms: ECFP2/4/6, FCFP4/6, MACCS, AtomPair, Torsion, …
  • pKa prediction (15 SMARTS rules — unique to chematic)
  • ADMET profile: BBB, Caco-2, hERG, CYP3A4
  • Template-based retrosynthesis: mol.retro_disconnect() — 60 retro-SMIRKS templates, SA Score ranked
  • SMARTS substructure search — chematic.smarts_match() and bulk.substructure_match(smarts, mols) (pre-parsed Mol list, returns indices)
  • SVG / PDF / EPS depiction: mol.to_svg(), mol.to_pdf(), mol.to_eps()
  • ChemicalJSON: mol.to_cjson(coords=[]), chematic.from_cjson(s) — Avogadro 2 / MolSSI compatible
  • Opt-in v2 embedding pipeline: mol.embed_pipeline_v2(config) — torsion-knowledge-aware distance geometry, stereo verify/repair, and policy-gated force field (PipelineV2Config), returning full per-stage evidence (embed stats, torsion knowledge/optimization reports, stereo before/after, force-field actual policy and fallback, final geometry validation, stage timings) instead of just coordinates; raises chematic.PipelineV2Error with structured .diagnostics on failure
  • Reusable MMFF94/UFF objects: mol.mmff_force_field(coords) and mol.uff_force_field(coords) retain prepared terms across energy, gradient, coordinate-update, and in-place minimization calls
  • Charge-conserving EEM: mol.eem_charges(coords) uses the published NEEMP model and preserves the formal-charge sum for ions

RDKit compatibility

The operation/profile boundaries and measured oracle lanes are listed in the Compatibility Contract dashboard. For persisted fingerprints, saved indices, canonical identity, stereo, and browser/Worker migration decisions, read the RDKit migration guide before changing a production workflow. Native ECFP and RDKit-compatible Morgan are separate profiles; rebuild stored fingerprints and indices under the chosen profile.

chematic.rdkit_compat provides a lightweight RDKit-compatible subset for environments where RDKit is unavailable (WASM, serverless, conda-free CI):

from chematic import rdkit_compat as Chem
from chematic.rdkit_compat import Descriptors, rdMolDescriptors, DataStructs

mol = Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O")

# Descriptors
Descriptors.MolWt(mol)          # 180.16
rdMolDescriptors.CalcTPSA(mol)  # 63.6

# Fingerprint (ExplicitBitVect) with bitInfo
bitInfo = {}
fp = rdMolDescriptors.GetMorganFingerprintAsBitVect(mol, 2, nBits=2048, bitInfo=bitInfo)
fp.GetNumBits()                         # 2048
bitInfo                                 # {bit: ((atom_idx, radius), ...)}
DataStructs.TanimotoSimilarity(fp, fp)  # 1.0
DataStructs.BulkTanimotoSimilarity(fp, [fp])  # [1.0]

import numpy as np
arr = DataStructs.ConvertToNumpyArray(fp)  # (2048,) int8 for sklearn / PyTorch

# Explain RDKit atom-pair / topological-torsion codes
code = mol.rdkit_atom_code(0)
chematic.explain_rdkit_atom_code(code)  # (symbol, branches, pi_electrons)
path_code = mol.rdkit_topological_torsion_path_code([0, 1, 2, 3])
chematic.explain_rdkit_topological_torsion_code(path_code)

# Atom / Bond traversal
for atom in mol.GetAtoms():
    atom.GetSymbol(), atom.GetAtomicNum(), atom.IsInRing()
for bond in mol.GetBonds():
    bond.GetBondType(), bond.GetBondTypeAsDouble(), bond.IsInRing()

# Ring information
ri = mol.GetRingInfo()
ri.NumRings()       # 1
ri.AtomRings()      # tuple of tuples of atom indices
ri.NumAtomRings(0)  # rings containing atom 0

# SDF I/O with SD properties
with Chem.SDWriter("out.sdf") as w:
    mol.SetProp("ID", "aspirin")
    w.write(mol)
for m in Chem.SDMolSupplier("out.sdf"):
    print(m.GetProp("ID"))

# Large seekable SDF: index once, parse records only when requested
from chematic import SdfDataset
dataset = SdfDataset.open("out.sdf")
print(len(dataset), dataset.metadata(0).title)
print(dataset[-1].smiles)

Unsupported options raise NotImplementedError or TypeError — they are never silently ignored.

Compatibility matrix

Area Status Notes
SMILES I/O ✅ Supported MolFromSmiles (aromaticity perceived when sanitize=True) / MolToSmiles
SDF I/O ✅ Supported SDMolSupplier / SDWriter + SD properties
Mol properties ✅ Supported GetProp(..., default=...), Set/Has/ClearProp, typed getters/setters, GetPropsAsDict
Mol / Atom / Bond ✅ Supported read-only traversal (GetAtoms/GetBonds/GetAtomWithIdx/…)
RingInfo ✅ Supported SSSR-based; NumRings/AtomRings/BondRings/NumAtomRings/NumBondRings
Substructure 🟡 Partial SMARTS via chematic; match order may differ from RDKit (use set comparison)
Descriptors ✅ Supported MW/HBA/HBD exact, TPSA ±1.0, LogP ±0.5 vs RDKit (differential-tested)
Morgan fingerprint 🟡 Partial nBits folding + bitInfo shape-/origin-consistent, not RDKit bit-identical (FNV-1a vs MurmurHash)
DataStructs ✅ Supported TanimotoSimilarity/DiceSimilarity/BulkTanimotoSimilarity/ConvertToNumpyArray
RWMol / editing ❌ Unsupported read-only layer
useFeatures, useBondTypes=False 🔊 Fails loudly raise NotImplementedError instead of silently ignoring

A live differential suite (tests/test_rdkit_diff.py, auto-skipped when RDKit is absent) compares chematic against RDKit across descriptors, ring counts, SMARTS match counts, SDF round-trips, and Morgan self-similarity, writing an explainable diff to validation/results/rdkit_diff.jsonl.

chematic.rdkit_compat is not a full RDKit clone — it is a lightweight RDKit-compatible subset for common 2D cheminformatics workflows. See the full RDKit migration guide (compatibility matrix, differential-validation results, known divergences, and runnable examples).

License

MIT OR Apache-2.0

Metadata

Release files for chematic 1.2.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 chematic 1.2.0
File Size Uploaded Provenance Actions
chematic-1.2.0.tar.gz 5.8 MB With provenance Details for chematic-1.2.0.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for chematic 1.2.0
File Actions
chematic-1.2.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for chematic-1.2.0-cp313-cp313-win_amd64.whl
chematic-1.2.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 for chematic-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
chematic-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details for chematic-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
chematic-1.2.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for chematic-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
chematic-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for chematic-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl
chematic-1.2.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for chematic-1.2.0-cp312-cp312-win_amd64.whl
chematic-1.2.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 for chematic-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
chematic-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details for chematic-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
chematic-1.2.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for chematic-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
chematic-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for chematic-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl
chematic-1.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for chematic-1.2.0-cp311-cp311-win_amd64.whl
chematic-1.2.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 for chematic-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
chematic-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details for chematic-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
chematic-1.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for chematic-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
chematic-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for chematic-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl
chematic-1.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for chematic-1.2.0-cp310-cp310-win_amd64.whl
chematic-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for chematic-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
chematic-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details for chematic-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
chematic-1.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for chematic-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
chematic-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details for chematic-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl
chematic-1.2.0-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for chematic-1.2.0-cp39-cp39-win_amd64.whl
chematic-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for chematic-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
chematic-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ ARM64 Details for chematic-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
chematic-1.2.0-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for chematic-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
chematic-1.2.0-cp39-cp39-macosx_10_12_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.12+ x86-64 Details for chematic-1.2.0-cp39-cp39-macosx_10_12_x86_64.whl

Total release size: 229.0 MB

Release files / chematic-1.2.0.tar.gz

Download URL chematic-1.2.0.tar.gz
Size 5.8 MB
Tags Source
SHA-256 checksum
How to use checksums
a8764e2e99e2071c338c11058bbe1bb6af53cb1c6cef8920354da061e223b252
BLAKE2b-256 checksum
How to use checksums
408b4231a330e31827ad7e85b978a5bc8190c4997db88fd09e20f99cc8ff9d58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp313-cp313-win_amd64.whl

Download URL chematic-1.2.0-cp313-cp313-win_amd64.whl
Size 9.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e616a3a7494452e29d959d20fabfbc38aecc12d4918495cd11935918015fef22
BLAKE2b-256 checksum
How to use checksums
a1f45d218681500576681bcf63c0dba9619039cbafc2bae6541fcfe447c126ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL chematic-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.3 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
78e0e379dad836d0b9f17ad85d42a5fdd65be095e2c29b02ce74bb836a7e06ed
BLAKE2b-256 checksum
How to use checksums
f5a0b124b31297d36f7635abbcfa445d7c0e5f786860bf20861096ce49b12f0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL chematic-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.8 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f6c0aee767db614fa70b50299ae08761754b318c6f4a06e0906771fef2d5195a
BLAKE2b-256 checksum
How to use checksums
f49319e5ed1810661c75b5d12525905020d45a51f868052e5cd71793e8059aa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL chematic-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
660fbc39f2c388c4c362648b4d0a782e8e995e756c4dc6c29f528ff9a8bc70dd
BLAKE2b-256 checksum
How to use checksums
d93c5e0310701ae8c7c63fa269a1c11b8d63eed42bc72f69a753fbab89580c7c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl

Download URL chematic-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl
Size 9.0 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
2c45ff3d0c43ced8722254edb85081993cfdaf7983a10393ca1f648e6a5a0c90
BLAKE2b-256 checksum
How to use checksums
226d401790d6e709463978391e2f5f9dda354a3e8af182dabed015c17ecbe1bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp312-cp312-win_amd64.whl

Download URL chematic-1.2.0-cp312-cp312-win_amd64.whl
Size 9.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
763e6c0337b178a7346bc690ec2f2bb0be09c5764e183ba6d72c924f118508d8
BLAKE2b-256 checksum
How to use checksums
1b7a114f63ea8b039ab3371d075c91f3b8469a2cb8ed4ec2df678e33158df638
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL chematic-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.3 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f700da5336e3321a48cec0356e808c764cb3b66329bf265ea361e57eb0a85ac7
BLAKE2b-256 checksum
How to use checksums
a29ceb50066cf7b00f7e1087ba4f1eb11bc51a107d504696312b4f7bb1772d84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL chematic-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.8 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
b2a13fa703c004956b9df1214a60fef954e0b0f5c641d07623a708d977bb3d35
BLAKE2b-256 checksum
How to use checksums
68c1b693e23beb7e3c347a77062ff8d249c3dad4f3f91878edb8952b46e14f2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL chematic-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f20715678779b63c8ea89e4288a02eada3761ab624b7547eaf0cfee1c193c1a1
BLAKE2b-256 checksum
How to use checksums
2f4364c89be715cb1cef04def8ae20dc894eec6feaf15fba4735214abe92a0b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl

Download URL chematic-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl
Size 9.0 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
69586a64d5be805274db6100d4edea6cafd7fa817a99a993473ca3c5ddb8b575
BLAKE2b-256 checksum
How to use checksums
1741ddda153571daf9dc0e1747f26975e94c4dccae6a51653d8f7d21391e2bd0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp311-cp311-win_amd64.whl

Download URL chematic-1.2.0-cp311-cp311-win_amd64.whl
Size 9.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
71a6b94e199a1c7ddb9051105733c6650165d4f28a72a4e3cc25050da603eba1
BLAKE2b-256 checksum
How to use checksums
3f02d5ab462294a9033174cbb9e24f20c9522b08c8b478047b553b1b248365ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL chematic-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.3 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0d0acd384beea1c068889d97ee7bde454e0bc22915282c9b37ba76d00106ab9f
BLAKE2b-256 checksum
How to use checksums
361981c9e2e0b19c8440f8223420d99af2d352698f919b15147e36bbaf96ce5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL chematic-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.8 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
793a8dfeee4808faab8f308ed04d59e5c7578981040a3c2f84a4b43f757d2d87
BLAKE2b-256 checksum
How to use checksums
93af1cb73d2fadebddfb179c20406ea28e6881c112328a16f0359860841c32e8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL chematic-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
92d57cab4b9e50aea89a33f9527700496a0113328237d87f1093a5cdef932772
BLAKE2b-256 checksum
How to use checksums
c26b7ec77af8c0378bbbd7318114bcdcfaac5b15456ae8107e49a3e35836e9bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl

Download URL chematic-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl
Size 9.0 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
5de27a70d14c0b3cf7f5e1f7ba7fc93acb03394ce5eea4bf1a323323ba70c1d8
BLAKE2b-256 checksum
How to use checksums
30d581198b3f6bf157b400b4fe8a41be1fdf8fe9eb59098990cb2ff92ddc7a83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp310-cp310-win_amd64.whl

Download URL chematic-1.2.0-cp310-cp310-win_amd64.whl
Size 9.0 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
56dbf27240678b2a2eeffeed930ec8b94356f1f74e6f478574600e65ad829d7e
BLAKE2b-256 checksum
How to use checksums
20b4a34d7b8baecc5182adcc50181dc5c08d3d3ad632b69fe9cc5161ea5ba45d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL chematic-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.3 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
6b1455ae89cb42fa18b594e22cf3a45164a8ba21819c4d507579d59440ffb5f9
BLAKE2b-256 checksum
How to use checksums
0a794f86e0203d25dc19ac9a88e01a6c66860b9bf9f5c0cdaadd804560066aef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL chematic-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.8 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d5132bbdf1db49c1cbaa497e40455d254d115707f5f003a758553c8667cc6d4a
BLAKE2b-256 checksum
How to use checksums
b59302589a4ad6d3bceb58a301db311aae24a2b630bed7060d06e813b84dcccc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL chematic-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
f28926d0e8add3400c047302149b4e762a65d1a3f6eed63ebfc81a74036d32c5
BLAKE2b-256 checksum
How to use checksums
e871387c3709c443c5ec22d0d02ff04d91ffddd6683f7cec5c4348fd6d9d0441
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl

Download URL chematic-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl
Size 9.0 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
03552991abe9ced788470969069d949f83fbf4648f610c16efd79ae13df0ec1f
BLAKE2b-256 checksum
How to use checksums
cffe973beda461242bf05493b6aa9eda72a029cb82d1778c6af9d6097aa9301a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp39-cp39-win_amd64.whl

Download URL chematic-1.2.0-cp39-cp39-win_amd64.whl
Size 9.1 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
a70379ef274b5462b8831e60343cac5c240e8b4ad3bfb64c6c7b9dd2c7bd4425
BLAKE2b-256 checksum
How to use checksums
59cfda9681e1e5ae7f13b282bbe993709eba2ffa96ef1a21ac675360b649b5ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL chematic-1.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
57a66ac9c4eb91b30b0f262ed04653afc7e7e13e507963f7250edae2301e13a8
BLAKE2b-256 checksum
How to use checksums
9349feb22910dc70cfbd58268943cb0d095559d92462fd583808849f6b63d051
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL chematic-1.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.8 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7461d1f047fcbba970675136ec60ca6824ac1d1a5760b1edd5215a6af41cd829
BLAKE2b-256 checksum
How to use checksums
0e07c3bbf960f5eac8d94264fa0d71c6ab70df3bb0133ca729dfa990a51502c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp39-cp39-macosx_11_0_arm64.whl

Download URL chematic-1.2.0-cp39-cp39-macosx_11_0_arm64.whl
Size 8.5 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
196607426ae120ec55efd23ae3221a1e8c59bac87d725ce66051fbb0822a08fd
BLAKE2b-256 checksum
How to use checksums
5516cf3f95a0ad6df0b36c3c2714e90053d71c6cb00e9941e02a1b556b191804
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Release files / chematic-1.2.0-cp39-cp39-macosx_10_12_x86_64.whl

Download URL chematic-1.2.0-cp39-cp39-macosx_10_12_x86_64.whl
Size 9.0 MB
Tags CPython 3.9 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
97d7bbe128a99d2be903f37713d090f88b941200b19ab817da6c4e7274993dd6
BLAKE2b-256 checksum
How to use checksums
aaaf4df5ae8d5304a152c6df19fceb6f938f0459f833f75193dbbdaa67b3fd9a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

Security for chematic 1.2.0

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.

Full provenance

All 26 files in this release have been uploaded with provenance metadata.

Select from 26 files

Attestation for chematic-1.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 20, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

1.2.0 This release

26 release files Full provenance

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