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

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.1.9
File Size Uploaded Provenance Actions
chematic-1.1.9.tar.gz 5.8 MB With provenance Details for chematic-1.1.9.tar.gz

Built distributions (wheels)

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

Total release size: 228.1 MB

Release files / chematic-1.1.9.tar.gz

Download URL chematic-1.1.9.tar.gz
Size 5.8 MB
Tags Source
SHA-256 checksum
How to use checksums
fea8984e0cf67a1fa2c51e7cd868a42e8b5f1f26878177ed969dbaac236daf86
BLAKE2b-256 checksum
How to use checksums
73215be7c6935e8061439edae84784e2d5401260c17c91d2638d00d61bac49e1
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp313-cp313-win_amd64.whl
Size 9.0 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
629122667e13ca512113dfebdda88bf47c1efd520c1e9af62e5b732fb4909e19
BLAKE2b-256 checksum
How to use checksums
7e807d639e9d593815beae0a82e0fc9ada7b431bd54e60d72cc2f401fc7c3590
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.2 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
410104a89899e5592bdcf9d6861972df196a67c051aa8f08905af72e6a60c3a1
BLAKE2b-256 checksum
How to use checksums
e9040bbebafb7555d2631f0622aa9f96ccc9f12d0e3c47867b2521f782f5b36a
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.7 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
f0daac3b3a52868c9b37323952ce2504c2e46d998e50fe87dc28c7abf79d5849
BLAKE2b-256 checksum
How to use checksums
2d71165de5203076a90907fbb5057cda0888c71c59253cca63817dd52d4b4b1d
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
8b2c38e48aa9e63e92d6d564b89d9b2998d04a33b647bdc0e30c60814275ff42
BLAKE2b-256 checksum
How to use checksums
15c6040a6b53c62b55a215865501e0b827c35037ac22d34827d97181a8f5ad59
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
a181a75da2c6e36b0fcafe40ab39bfd76707cfd344b67867517e6b30731cd7fa
BLAKE2b-256 checksum
How to use checksums
c197381f3175978757e6f8db8f1bb18c378583859ac7f81eb009fcdf642c5b04
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp312-cp312-win_amd64.whl
Size 9.0 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
069f0cec7d54f72c38c3da6089d32f25a57ba995b5f54b77ede08b7d6315208c
BLAKE2b-256 checksum
How to use checksums
69e253d842b20589caf3c1dc2ee015f9bb153962cba3f0bb59ca4e7a5c7e5773
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 9.2 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a87c3149df13a84859242abd1f1cebdcb2615a29a24164b97cb6814955bdf3c0
BLAKE2b-256 checksum
How to use checksums
1e38b48c4fc22137ea79050bb6e57e7b653d117890ddaa31522de3172de67a40
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.7 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
3907ddb9554f8d85b10531207838a269deb3eca3eec3e47682e7b77610e72cc0
BLAKE2b-256 checksum
How to use checksums
11bb790c42d1f1251b8ec1c5f86d2656f57c15096c3c92c21f972497e0aac298
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
dedf4992a9418ed96817d3f07bebc35391c2fdedf2433ec9f0df9e09cc747cdc
BLAKE2b-256 checksum
How to use checksums
30f1e93baeb5b543c468144ab5318457a3b33b71f9b3142ca6b122f788c455ac
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
eb17c7313ed5bda24fe3b1a05b7c7552c119b188f31636c2f324640a61daf2aa
BLAKE2b-256 checksum
How to use checksums
0e2ff6766162ca2ffc6930cf86e188e7cfcfcfc509ee7c29b918787721ae2bc4
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp311-cp311-win_amd64.whl
Size 9.0 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
4fd310751df0f6da939cf0581eb14e48e5f6079772e6c41e678d44c0951adc70
BLAKE2b-256 checksum
How to use checksums
054b1c61fd3dfe982f1a72c0676165ea55dba4eb75da3f1a884ca405118a5aa6
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
d10e2b9f08c0166d5c3e22104bcc8115ea927a8124deae324d089da7f6cd1c1e
BLAKE2b-256 checksum
How to use checksums
94857e8db92f2a8c252216c47272d9661f7070640bb27a2f7fb2423a051ca852
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
763dc741a3e505ab3829c87589ca116cecbdd7e3eba1238f2c87db05ee75ecc6
BLAKE2b-256 checksum
How to use checksums
f9ded4c45cadff9495ce4e7feee350eb1fc58422b4dcf2967515b0f1617fd998
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
2021138e06bcaf9defdd87b20dcbf13fb9413adf520b6778a81b4d2fb000a0e7
BLAKE2b-256 checksum
How to use checksums
ec9de94f81ab981786f60de11816279409aa625942aba8a79de50ebee3c65694
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
358d8eecad84902b183a2b14e3e2d6551cf3769376d4418884089fb4622f373a
BLAKE2b-256 checksum
How to use checksums
8916faed4d84934ce816e9e38455d3d0da240c5771fee68964b4077179071da0
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp310-cp310-win_amd64.whl
Size 9.0 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
d6340715031082c35248587dca373836fff4e4ce000c666353c70f8c617f6c70
BLAKE2b-256 checksum
How to use checksums
502cf86ee45af903355bf7035509d4139ebdf93d909872514481b4fcd9b2bdec
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
34ba98f8bac635b2d389094d61af69d7445d8426ecc8e2044803b386550cec85
BLAKE2b-256 checksum
How to use checksums
af2e27a68a23115bcc085beac8150a3b7f58d2e1812280ff47eefd42bfa6c366
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
5ec6c36326d8c5de942f88f24cc56789410f7650db8003ea841290166a5f3a4b
BLAKE2b-256 checksum
How to use checksums
b03d5db92613b2cb69f3f18fab831b51f14669086a07fb171b8a0ededbf60dda
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
0086d41d776d9fb7bba8b1c9a00e936818d8e917e3001ef20fbec895858b2290
BLAKE2b-256 checksum
How to use checksums
b505f2abfcec6fab3d4d95a0950f811be476a5066e4556108b53193d4fd8e4f5
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
93e5fbf3c9ce7b736e9751bd8392d00ab9354186b9dec29cfa22da0c5eda9787
BLAKE2b-256 checksum
How to use checksums
583adfbe80379d6a3754c3cf3bfd32508ee1fe8045185fe0f78fa0cc51ca1f2c
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-cp39-cp39-win_amd64.whl
Size 9.0 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
b1e8c739085f97b5d2b1907ccee93ea1aebadaeda056a8e1e2e368f92b63b969
BLAKE2b-256 checksum
How to use checksums
9f38da8b3ee515b533496a320b77ea223060fb8d3a0f89b0f423290c905a0a06
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
652d625209db3bac7eebfc3b1225ce497eb62b8a09520f70f344ff27a6d20ac2
BLAKE2b-256 checksum
How to use checksums
77965fd16323a72f8fb78388e9ddb38a782f133f6ea43e0e8d9c24f4e6477ea8
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
3b13f759dea5cb52a0f50aed3da26d51539b4cd1244f608b74df0a1e64b59129
BLAKE2b-256 checksum
How to use checksums
7ac14d3c5f2d1479357226298de2f39f2f1300f15bc31ded619918376e89e22c
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
67a22274a0202977088e702cbf65ab11284bdc03ca7147de4af1aacd75b1a2eb
BLAKE2b-256 checksum
How to use checksums
b56261b44b55d5bf3e0968b100963e2096bdf1b8462f86a666ac40178cd9b8d0
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 19, 2026.

Transparency log

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

Download URL chematic-1.1.9-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
455e0b58df126fd5d7da9f50e6ec5192b4bd6b4eacfb0b9a3f0b59e955766dcc
BLAKE2b-256 checksum
How to use checksums
6a5d9f59ee532c70542b86f789afb8e168e84388bb878f1eb08cb80bde7fde3f
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 19, 2026.

Transparency log

Security for chematic 1.1.9

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.1.9.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 19, 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.1.9 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