ReShiki for Python
Draw, convert and analyze chemical structures with the same Rust engine as the ReShiki editor. Python 3.10 or later is required. The API is experimental until 1.0.
uv add reshiki # or: pip install reshiki
import reshiki
aspirin = reshiki.Molecule.from_smiles("CC(=O)Oc1ccccc1C(=O)O")
figure = aspirin.clean().with_style("JACS / ACS", font_size=12)
figure.save("aspirin.png", width=300)
print(aspirin.properties().formula)
Transforms return new objects. The original molecule keeps its geometry and style. In Jupyter, displaying an object shows its SVG drawing.
Spreadsheets
Install the Excel integration with uv add 'reshiki[excel]', then add drawings
beside a column of SMILES:
import reshiki
reshiki.excel.add_structures(
"compounds.xlsx",
smiles="A",
into="B",
out="compounds-drawn.xlsx",
width=300,
header=True,
)
The helper uses openpyxl and embeds PNG images. Editable Office pictures are a
follow-up to issue #462.
Use header=False for a sheet whose first row contains a structure, or
start_row= to choose an explicit first row.
Other entry points
crystal = reshiki.Drawing.open("rutile.vasp")
svg = crystal.svg()
png = reshiki.render("c1ccccc1O", format="png", width=300)
mol = reshiki.convert("CCO", to="mol")
properties = reshiki.properties("CCO")
pngs = reshiki.render_many(["CCO", "C1CC"], format="png", width=300)
print(pngs.errors)
reshiki.parse(text, format=None) detects chemical text, native drawings and
crystal structures. Explicit constructors include from_smiles, from_molfile,
from_inchi, from_cdxml and offline from_name. An online name lookup raises
NotImplementedError: the current PubChem client belongs to the desktop app.
PNG dimensions follow the drawing style's physical bond length and dpi by
default. width and height optionally fit the image into a pixel box without
changing its aspect ratio. reshiki.styles() lists the app's drawing presets;
reshiki.Style(name, **overrides) makes a reusable style.
Install reshiki[pandas] and explicitly import reshiki.pandas to register
the pandas Series .reshiki accessor with png(), svg() and properties().
Optional dependencies load when their integration is used.
RDKit conversion uses Molecule.from_rdkit(mol) and
molecule.to_rdkit() when RDKit is already installed.
Outputs include PNG, SVG, PDF, CDXML, MOL/SDF, SMILES, InChI and native .rsk.
EMF raises NotImplementedError pending a headless exporter. Wheels for macOS,
Windows and Linux on x64 and ARM64 follow each ReShiki release.
See the Python guide for the API and local build commands.
Metadata
Release files for reshiki 0.14.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 83.1 MB
Release files / reshiki-0.14.0-cp310-abi3-win_arm64.whl
| Download URL | reshiki-0.14.0-cp310-abi3-win_arm64.whl |
|---|---|
| Size | 12.9 MB |
| Tags | CPython 3.10 Windows ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
e01593e01afe5b5924e386ad7e6f7774eec6213be07544392d09554f35a5dbe3
|
|
BLAKE2b-256 checksum How to use checksums |
e7e71db1aaea9769f6e4a9eee74b238a55e1593fdc943a06d267d4757e85d6ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 8, 2026.
Transparency logRelease files / reshiki-0.14.0-cp310-abi3-win_amd64.whl
| Download URL | reshiki-0.14.0-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 13.6 MB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0905ab25cdb24794cac62e5e1c04dc9a9b8a57d93a0e5f8f5ee5eec6893a3dcb
|
|
BLAKE2b-256 checksum How to use checksums |
5e0ccccf94cafd249f4ba9d712b8eba0231245d1f4885597e232888f82fb8a7d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 8, 2026.
Transparency logRelease files / reshiki-0.14.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | reshiki-0.14.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 14.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
e211c791819a87e00ae5fbba7c6f31e64386127635f84272df13ebe16d326559
|
|
BLAKE2b-256 checksum How to use checksums |
762194bb47446ebe9132981254ceac740943b955687b09486b0f307532026737
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 8, 2026.
Transparency logRelease files / reshiki-0.14.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | reshiki-0.14.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 14.5 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
15b9c75a2c3797cb88f18c642cbb4cf6c2e8454435efe30f9b8af0dd074b4675
|
|
BLAKE2b-256 checksum How to use checksums |
c27d8920c9a1ed0e4f33aa697bc98e37ac7dc1bc83f68b0adf581980d3e94633
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 8, 2026.
Transparency logRelease files / reshiki-0.14.0-cp310-abi3-macosx_11_0_arm64.whl
| Download URL | reshiki-0.14.0-cp310-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 13.5 MB |
| Tags | CPython 3.10 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
cfa0079890ac6908ec1482b46f43836f50af60cd228493192d87100d77769fcf
|
|
BLAKE2b-256 checksum How to use checksums |
552890a25d8f7086d13f34ca332b0eb7503255d214093c5192d7f02e3eed99de
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 8, 2026.
Transparency logRelease files / reshiki-0.14.0-cp310-abi3-macosx_10_12_x86_64.whl
| Download URL | reshiki-0.14.0-cp310-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 13.9 MB |
| Tags | CPython 3.10 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
0bc21d06a4837d8dcd433842b480f7248154c5702ad172a275c61dd8b278f01f
|
|
BLAKE2b-256 checksum How to use checksums |
c0a9d14d1aae9a513825ed3b691a2b0a17f7a98ebf2a3c4f31df2d68cb36a452
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 8, 2026.
Transparency logSecurity for reshiki 0.14.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 6 files in this release have been uploaded with provenance metadata.
Attestation for reshiki-0.14.0-cp310-abi3-win_arm64.whl
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 Nov 8, 2026.
Transparency logA 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.