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.4.tar.gz (589.2 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.4-py3-none-any.whl (720.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: bkchem_py3-1.0.4.tar.gz
  • Upload date:
  • Size: 589.2 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.4.tar.gz
Algorithm Hash digest
SHA256 4c817eea3a4b830c70eb822a611342175a065c130a4063bc45076f182d6bdd8d
MD5 62c1b64478f4556bf1f52b6a6c89f537
BLAKE2b-256 98178ec69945245ad680b8f3b526b3cf124fb5fa0bfce4987f491162872ff80a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: bkchem_py3-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 720.8 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 241d0981fa3c600f874cad580bf2433a19bcbd6e9f68206bcee0cdb06a9272f6
MD5 928a834db58b7c7ce967e03e1b211bf4
BLAKE2b-256 8d5f65bbddabd07418d1503ebf8d90054a2ac6f4dc6a6c358363cab06a013fc4

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