Acknowledgements

The SVG rendering in xyzrender is built on and heavily inspired by xyz2svg. The CPK colour scheme, core SVG atom/bond rendering logic, fog, and overall approach originate from that project.

The paton colour preset is inspired by the clean styling used by Rob Paton through PyMOL (gist).

The interlocked-spheres rendering used by --config vdw and the --vdw overlay is adapted from CineMol by David Meijer.

  • D. Meijer, M.H. Medema and J.J.J. van der Hooft, J. Cheminform., 2024, 16, 58 (DOI).

NCI surface example structures from NCIPlot.

Key dependencies

  • xyzgraph — bond connectivity, bond orders, aromaticity detection and non-covalent interactions from molecular geometry

  • graphRC — reaction coordinate analysis and TS bond detection from imaginary frequency vibrations

  • cclib — parsing quantum chemistry output files (ORCA, Gaussian, Q-Chem, etc.)

  • CairoSVG — SVG to PNG/PDF conversion

  • Pillow — GIF frame assembly

  • resvg-py — SVG to PNG conversion preserving SVG effects

Falls back to CairoSVG automatically (filters silently ignored). SVG output always contains the filters regardless.

Optional dependencies

  • rdkit — SMILES 3D embedding (pip install 'xyzrender[smi]')

  • ase — CIF parsing and ASE GUI viewer (pip install 'xyzrender[cif]')

  • v — interactive molecule orientation (-I flag, pip install xyzrender[v], Linux only, not included in [all])

Contributors

License

MIT