Skip to main content

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)

Table of built distributions (wheels) for reshiki 0.14.0
File Actions
reshiki-0.14.0-cp310-abi3-win_arm64.whl CPython 3.10 abi3 Windows ARM64 Details for reshiki-0.14.0-cp310-abi3-win_arm64.whl
reshiki-0.14.0-cp310-abi3-win_amd64.whl CPython 3.10 abi3 Windows x86-64 Details for reshiki-0.14.0-cp310-abi3-win_amd64.whl
reshiki-0.14.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 abi3 Linux glibc 2.17+ x86-64 Details for reshiki-0.14.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
reshiki-0.14.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 abi3 Linux glibc 2.17+ ARM64 Details for reshiki-0.14.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
reshiki-0.14.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details for reshiki-0.14.0-cp310-abi3-macosx_11_0_arm64.whl
reshiki-0.14.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details for reshiki-0.14.0-cp310-abi3-macosx_10_12_x86_64.whl

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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

Release 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 log

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

Select from 6 files

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

0.14.0 This release

6 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