MoloM
A standalone, Python-based molecule viewer/builder skeleton in the spirit of Avogadro: an OpenGL ball-and-stick viewport with the same universal structure import cascade as ORCA Workbench.
Features (skeleton scope)
- Import: native multi-frame
.xyz(with JSON-comment metadata), SDF/MOL/MOL2/PDB/CIF/... via OpenBabel (timeout-guarded subprocess) with an RDKit fallback and a last-resort heuristicLabel x y zsalvage; SMILES → 3D (RDKit ETKDGv3 + MMFF, OpenBabel UFF fallback); paste-XYZ detection. - Rendering: instanced-OpenGL ball-and-stick using Avogadro 2's element data (Alvarez VdW radii, Pyykkö covalent radii, Jmol-derived colours) and its exact sizing rules; stick / VdW / wireframe presets.
- Bond perception: Avogadro's
perceiveBondsSimplerule (covalent radius sum + 0.45 Å tolerance, 0.32 Å minimum, noble gases and H-H excluded). - Selection & measurement: click / Ctrl+click; 2, 3, 4 selected atoms show distance, angle, dihedral in the status bar.
- Trajectory playback: frame slider + play/pause for multi-frame files.
- Editing (stubs): add/delete atoms, change element, add/remove/cycle bonds — wired UI dispatching into implemented, tested core functions.
Install / run
pip install -e . # core: numpy, PySide6, PyOpenGL
pip install -e .[chem] # + rdkit, openbabel-wheel (SMILES + non-xyz formats)
molom [file.xyz]
python -m molom --selftest # headless check, no GL needed
Architecture
molom/core/ is UI-free and GL-free (unit-testable offline);
molom/ui/ is a thin PySide6/OpenGL shell over it. See CLAUDE.md.
Element data transcoded from Avogadro 2 (BSD 3-Clause) — see
THIRD_PARTY_NOTICES.md.
Metadata
Release files for molom 0.1.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 | |
|---|---|---|---|
| molom-0.1.0.tar.gz | 159.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| molom-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 312.2 kB
Release files / molom-0.1.0.tar.gz
| Download URL | molom-0.1.0.tar.gz |
|---|---|
| Size | 159.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
35691738f52782f0bc329e5b344c7669821eb10c688d1d0aec703ecb6e3b8dd8
|
|
BLAKE2b-256 checksum How to use checksums |
e6199c8af486aa695740fad45c7c34a6ed85e95ed174643306827be562f3596e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|
Release files / molom-0.1.0-py3-none-any.whl
| Download URL | molom-0.1.0-py3-none-any.whl |
|---|---|
| Size | 152.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8d734d05893b25794c22673a56b9304b7f3c835e95c86f00d275c9db79eb1050
|
|
BLAKE2b-256 checksum How to use checksums |
296b21aab836dca4da933417e167ef3eeb9324011a19182d60300b780404c1e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.0
|