Skip to main content

A modernized Python 3 port of the BKChem molecular editor.

Project description

BKChem-py3

BKChem-py3 is a modernized, high-performance port of the classic BKChem molecular editor, fully updated for Python 3.10 through Python 3.14+.

This project preserves the legacy of the original developers while introducing significant architectural improvements, new chemical drawing features, and modern deployment standards.

🚀 Quick Install

You can now install the latest stable version directly from PyPI:

Standard installation

pip install bkchem-py3

Installation with full image export support (PNG/PDF/SVG)

pip install "bkchem-py3[all]"

To launch the application after installation, simply type:

python -m bkchem.main bkchem

✨ New Features & Improvements

🎨 Chemical Drawing & UI

Expanded Arrow Set: Added specialized arrows including curly (mechanism), fishhook (radical), reversible, retrosynthetic, and equilibrium simple/complex arrows.

Modern Navigation: Added intuitive mouse-based zoom-in and zoom-out for precise canvas control.

Easier Annotations: Improved text material handling and label editing.

Undo System: Refactored undo/redo logic for better reliability.

🔬 Core Cheminformatics (OASA)

Rewritten SMILES Logic: Completely overhauled SMILES read/write functionality for superior handling of complex structures.

Thoroughly Modified OASA Library: Deep refactoring of the underlying OASA library to resolve legacy circular dependencies and support modern Python namespaces.

🛠️ Technical Modernization

Python 3.14+ Ready: Future-proofed plugin architecture using importlib (replacing the deprecated imp module).

Performance: Optimized code for significant improvements in speed and responsiveness.

Seamless Exporting: New 'Export to Image' functions to save structures directly in PNG, JPEG, and other file formats.

Reduced Dependencies: Streamlined requirements for easier installation across different environments.

Improved Page Setup: Enhanced printing and layout options for academic publications.

💻 Compatibility

Rigorously tested and verified on:

Windows 11

Python 3.10, 3.12, and 3.14 (WinPython)

Compatible with Linux (requires python3-tk)

🙏 Credits & Support

Original credit goes to the initial BKChem developers and maintainers who built the foundation of this tool. This port aims to keep their work alive and useful for the modern scientific community.

If you find this project useful for your research or teaching, please consider supporting further development:

☕ Support us on Buy Me a Coffee

Developed and maintained by Dr. Vijay Masand.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bkchem_py3-1.0.3.tar.gz (588.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bkchem_py3-1.0.3-py3-none-any.whl (720.5 kB view details)

Uploaded Python 3

File details

Details for the file bkchem_py3-1.0.3.tar.gz.

File metadata

  • Download URL: bkchem_py3-1.0.3.tar.gz
  • Upload date:
  • Size: 588.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.5

File hashes

Hashes for bkchem_py3-1.0.3.tar.gz
Algorithm Hash digest
SHA256 77a321c20abe6fec424ccbcca699af800b14592a8838edc6180562077a3fc28a
MD5 9ab0c58c3914b1a4e28d6b8262259d93
BLAKE2b-256 d2ce0b53cd1405e11a4f5162784714aef0b4fe308b9ce9d22d9ab48e6f0303d2

See more details on using hashes here.

File details

Details for the file bkchem_py3-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: bkchem_py3-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 720.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.5

File hashes

Hashes for bkchem_py3-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e8d5ed0e2a122905d7e9bf4bc965e707f01804174531274b8c70e863337b99df
MD5 1f4e625acf358cdcc831d6e51a92c1d1
BLAKE2b-256 a42098cc46f8cdccdc2dbbee93a444deb70766208db636f66c5285e0fa4f3b17

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page