English · 한국어
Chemvas is an open-source chemical drawing application designed for desktop drafting and publication-quality figure preparation. Draw structures and reaction schemes intuitively on the canvas, insert SMILES, align components, and export figures with exact journal dimensions.
Features
- Intuitive Canvas Drawing: Sketch structures, insert SMILES, label reaction arrows, and align molecules with real-time feedback, autosave, and session recovery.
- Publication-Ready Figure Export: Export vector graphics (SVG, PDF) and raster images (PNG, TIFF) at exact publication column widths (e.g., 82 mm, 174 mm) while retaining full canvas editability.
- Chemistry & 3D Preview: Inspect molecular properties, view interactive 3D conformations, and export XYZ coordinates with optional RDKit integration.
- Reliable Document Format: Saved
.chemvasdocuments remain fully editable JSON files (version 8, schema 1). See the document compatibility policy.
Install
Requires Python 3.12+.
To use chemical informatics features (SMILES insertion, molecular properties, 3D XYZ export, and structure suggestions), install with the optional RDKit backend:
pip install "chemvas[rdkit]"
chemvas
For basic drawing, document editing, and figure export without RDKit:
pip install chemvas
For local Windows packaging, see the Windows packaging guide.
Quickstart: Your First Reaction Scheme
- Type
OCc1ccccc1in the SMILES field below the toolbar, click Insert, then click on the canvas. Hover over the oxygen atom, press Enter, and set the label toOH. - Insert
O=Cc1ccccc1to the right. Select the Arrow tool, drag between the structures, and double-click the arrow to add condition labels. - Select both molecules (Edit ▸ Select All) and align them (Edit ▸ Align ▸ Middle).
- Save the document (
.chemvas). Export via File ▸ Export Figure… → Plain SVG, Fit 2-column (174 mm).
For detailed instructions and example files, see the step-by-step guide.
Documentation
- Drawing Tools & Shortcuts · Chemistry I/O · Image Objects
- Reaction Mapping: Map reactant and product atoms on the 2D canvas, review bond changes, and save the correspondence in
.chemvasfor an AI assistant or collaborator to interpret. Optional RDKit geometry handoff exportsmachine.jsonand XYZ. - Headless & Agent CLI · Scheme Layout · Publication Schemes
- Examples: Sample
.chemvasdocuments (version 8, schema 1). - Architecture · Contributing · Security · Changelog · Releasing · License (MIT)
Feedback and bug reports: GitHub Issues.
How this was built
I'm a chemist, not a programmer. AI coding agents write the code in this repository. I decide what Chemvas should do, record structural decisions as architecture decision records, keep saved drawings under a written compatibility policy, and set the checks a change must pass before it merges.
I don't review the code line by line, so a change is accepted on evidence, not on an agent's report that it works:
make checkruns lint, formatting and type checks, then runs each test file in its own process so Qt state cannot leak from one file into the next. CI runs the same per-file suite.machine.jsonoutput is validated against the shared machine-contracts validator. When the validator is missing, the check fails instead of passing silently.- High-impact changes, such as the document format, undo and rollback, and figure export, get an independent adversarial review from a separate agent.
Metadata
Release files for chemvas 0.22.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| chemvas-0.22.0.tar.gz | 718.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| chemvas-0.22.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / chemvas-0.22.0.tar.gz
| Download URL | chemvas-0.22.0.tar.gz |
|---|---|
| Size | 718.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d6c0a04686accbeab3e1b8487d182d8b780d4bec113e33b65afef035ee509dde
|
|
BLAKE2b-256 checksum How to use checksums |
867e5eb7a5ac0b3e311b93da03f557a0a34c40e80c107dec9f015d296ca6cec0
|
| 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 Sep 27, 2026.
Transparency logRelease files / chemvas-0.22.0-py3-none-any.whl
| Download URL | chemvas-0.22.0-py3-none-any.whl |
|---|---|
| Size | 904.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d92359f3907d77c19c636841c64e3ef0e4640903d9b303929c8e14441d396716
|
|
BLAKE2b-256 checksum How to use checksums |
1e0d82605925d953829954c38031716c3a6780c880b7c9cc7905371162d72739
|
| 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 Sep 27, 2026.
Transparency log