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

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.5
File Size Uploaded
chematic-1.1.5.tar.gz 5.4 MB Details

Built distributions (wheels)

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

Total release size: 218.9 MB

Release files / chematic-1.1.5.tar.gz

Download URL chematic-1.1.5.tar.gz
Size 5.4 MB
Tags Source
SHA-256 checksum
How to use checksums
260a4fb5910a9f1d9fd31e6260f207d5a338eacbb71264f5b3f31dcb4a1ec680
BLAKE2b-256 checksum
How to use checksums
fbb71449273376256701da10a4af497b756e18737b8b25341a04479cae8840fe
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp313-cp313-win_amd64.whl
Size 8.6 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
437f5a723a8ae83c5d2f2df5e5860fb4a7a26ac99c371d20d30ae97773b6a4e8
BLAKE2b-256 checksum
How to use checksums
b3751d306aab8c96615ea594cb8101f9fadfadc87d823262d4b6eb59785f1f71
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.9 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
9e97d5d7bf3836e8837a802adbb85e742eeba66dc23c54d66f1f5ff1ab720b8e
BLAKE2b-256 checksum
How to use checksums
83ea9e6987227cd047217dd0a4df19a7d83c51ecfc3247aff7ebed09f04c8a92
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.13 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7634a12d0b6a71c978e0e1217c7ebed37fe3d48cfd9be60c7070848bd46eddee
BLAKE2b-256 checksum
How to use checksums
64a79e8c47db927a934ef56d4a387ad7e6098ce65dbf40cc596cbdc619397da5
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp313-cp313-macosx_11_0_arm64.whl
Size 8.1 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0ce8f55fbaf3352f7b32c92ae4728cb356039b2df7a4a8b6656ffc05175a83d5
BLAKE2b-256 checksum
How to use checksums
5191ab8c65b70aceb0d28d7f30eecd3e7e31b7e57c4549117a43f9dff59fd334
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp313-cp313-macosx_10_12_x86_64.whl
Size 8.7 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
014ffc35cefa65c1a6e28adaae4e4dc6c1345dfe4f38c59f7b7ef8cab70a7e49
BLAKE2b-256 checksum
How to use checksums
5e23d4c10dfc99d2d1252c32979f04c1f2edb1b80a3e2e9faf37bc45cb6bace1
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp312-cp312-win_amd64.whl
Size 8.6 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
1acae1aaf98f46aef768e372cf7035f96199871cae1d8025b4cee6bbff4b7e8d
BLAKE2b-256 checksum
How to use checksums
023133aca2aa0b376bf496d13d0c7df9c79381267a5e0b5e0cbd9fdd49169e85
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.9 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
d5b07530c8d05585db56efffa15c21440cc1d748b40a3a29e39eda33d4a7136a
BLAKE2b-256 checksum
How to use checksums
3ee22bc36ebf37f2b9997e79a2e53283ea108edbc1a46109879308551a26b750
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.12 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
9059717108ac81676b57d406db826c3dc9f63e740824b9c1ba651a793c0fd4d1
BLAKE2b-256 checksum
How to use checksums
85a07ff13d2142a65f3931307991fe48f9ec4bfbc77ad47184ab3ed6cedb0bb0
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp312-cp312-macosx_11_0_arm64.whl
Size 8.1 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
1d67d1fd7b36df2e12966bab2fd5a4c82e5ee5537062389c77a3192dc98297a0
BLAKE2b-256 checksum
How to use checksums
5f478a877e4b5fd932d21d16a04a1b851a262aa9ce9ace55abbe1dc355325ec0
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp312-cp312-macosx_10_12_x86_64.whl
Size 8.6 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
cf9eb6ce79418fb010761e8e4aad014760bcbf160d6f6cc427e46e0861909362
BLAKE2b-256 checksum
How to use checksums
27a65a3550cfe95030b770bf7dc5255bc7902cc5bbcb0276d8202f3e67a281c1
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp311-cp311-win_amd64.whl
Size 8.6 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
a50a3b0a2fff84a9364776c1359c0c9e358bac9832e7ad251b09ed9f5aec11f5
BLAKE2b-256 checksum
How to use checksums
adf1ca17b62ce66a093807f2dae7932c97386f198d45a720d826017f0fc51715
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.9 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
a9f1aa97f5c89cd80c9d0587976978efaf9e6df53afa5bc9f220641c49772574
BLAKE2b-256 checksum
How to use checksums
a6e2773ee2606c8130b15b04051c5a1cb9579f43994316d7bb0efe6e3d535da2
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
7937dad2c8c4420fbd3eafa652835843279682e40f698ead14e334bbdb2e531c
BLAKE2b-256 checksum
How to use checksums
e1d02eb0aa6c74b7adc8ae8e1c2efdc4d366683557a3ad4555910d03a797e1fb
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp311-cp311-macosx_11_0_arm64.whl
Size 8.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0f371a30fd22f8ad6befb7f37e04a67907bc732420ae6d36d751e2afbeaba1af
BLAKE2b-256 checksum
How to use checksums
5b99cd00a537685a5ea050fc90d34ddc681a3b6af39b3f50b3bc213e60118bdf
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp311-cp311-macosx_10_12_x86_64.whl
Size 8.6 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
e336cf8036ff9038e386c9ca42f283de59a8bba6dbb7dd58d5aa3e55efd824a4
BLAKE2b-256 checksum
How to use checksums
a5689c55d9d1c5a8f47394b3366f87c09986ab5ad0102e0ce6d301868c86e44c
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp310-cp310-win_amd64.whl
Size 8.6 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
5d709330b044b3a10a6bfdeff245a7f1e6fa76dc278e8a3e36e2eec3d061ea5f
BLAKE2b-256 checksum
How to use checksums
557fd37038688269f0789ecb00351faa403116c248627740152c188b640899ab
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.9 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
744ada053ead1fae6b92db68f3975e5d8e2b92d93e722852ac4ec8d2d0fc06e3
BLAKE2b-256 checksum
How to use checksums
67d80e954eb5012bb127637c901e76451561f215967d8b842a4d7e3f3f2a2b35
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.10 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
29670937221a74555b57c2709dea97c1eda9c49c017a7031d483776b30c73ff5
BLAKE2b-256 checksum
How to use checksums
d379e761d5fe17735cc057be656b5b331bfa15f4e1e81d2c02661ce657d86f3f
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp310-cp310-macosx_11_0_arm64.whl
Size 8.1 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
413bee6e9b58a61181d63c44d6ad198615ad9e5b0aa6b688bd4781b11fe64c2f
BLAKE2b-256 checksum
How to use checksums
1a156a712e98d489156ffcb9823b221dc02e7dcd06fd443326a544e08d95b710
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp310-cp310-macosx_10_12_x86_64.whl
Size 8.6 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c29cbbe983cda058d7485276c53df69016911deb41805cad2c17004060f90712
BLAKE2b-256 checksum
How to use checksums
c6a9e310fd774d17086a0dfa57e96b74561952d96d6b9a41753c3ea8c1a73214
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp39-cp39-win_amd64.whl
Size 8.7 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
af9be5824258576d844a08b58a0e1a9a61c646b15d9f1e51a106c6726f04bb3b
BLAKE2b-256 checksum
How to use checksums
a6dcb16a34aaf44b92fd68b7614d1c46e06ca847194a55819a52b7598708f1c2
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.9 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
90012ecc5f0a1737f658c8cfb8ad6122cde84b26349c2264266fb17e369801d6
BLAKE2b-256 checksum
How to use checksums
34f89f9a71bb47aac899bf3bfebcd5c15e669545fc64c031dd98659400f82a49
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
d9bcda62f631e72308f4b8dee0580ea507693c07ba3cc9528512964128890a0c
BLAKE2b-256 checksum
How to use checksums
1e0f8ef6aa8d7dec2753180208bb0ef7534b128e5e0185e8035ba1e13905491d
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp39-cp39-macosx_11_0_arm64.whl
Size 8.1 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
9ad64db8476b338faf8dcd06d9b1bb02ebec2c7adb85170877d0380ac202b9a8
BLAKE2b-256 checksum
How to use checksums
e825a00df533eb84f3a537783597b92aae7d2c8b4c9571368a4ce6dc63cfa1ad
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 15, 2026.

Transparency log

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

Download URL chematic-1.1.5-cp39-cp39-macosx_10_12_x86_64.whl
Size 8.6 MB
Tags CPython 3.9 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
142f7dcfd576826355ca11d809796a108cb853b422e52f24b210e7377d4e4c6d
BLAKE2b-256 checksum
How to use checksums
e2fdf9676d16e7b048fd6d8a1093851e1f70ac0d27857796f352176d25166a24
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 15, 2026.

Transparency log

Release history Release notifications | RSS feed

1.1.6

26 release files

This release

1.1.5 This release

26 release files

1.1.4

26 release files

1.1.3

26 release files

1.1.2

26 release files

1.1.1

26 release files

1.1.0

26 release files

0.9.0

18 release files

0.8.1

18 release files

0.8.0

18 release files

0.7.0

18 release files

0.6.0

18 release files

0.5.0

18 release files

0.4.9

18 release files

0.4.8

18 release files

0.4.7

18 release files

0.4.6

6 release files

0.4.5

6 release files

0.4.4

6 release files

0.4.0

6 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