Skip to main content

Table of Contents

About

img

Hatch project

A pure-python project to generate input files for various common computational chemistry workflows. This means:

  • Generating input structures for jobflow / Fireworks
    • From unified toml inputs
  • ORCA blocks (NEB, geometry scans, extras) and eOn renderers via Jinja templates
  • Shared units and helpers with rgpycrumbs (rgpycrumbs>=1.9.16). Suite pins/config live in rgpkgs (~/.config/rgpkgs/config.toml, project rgpkgs.toml) — pychum does not define its own pin file

This is a spin-off from wailord (here) which is meant to handle aggregated runs in a specific workflow, while pychum is meant to generate single runs. It is also a companion to chemparseplot (v1.8+ recommended) which provides uniform visualizations for the outputs of various computational chemistry programs. Install with pip install pychum (Python ≥3.10); develop with pixi run -e test test or uv sync --extra test.

Ecosystem Overview

pychum is part of the rgpycrumbs suite of interlinked libraries.

img

Features

  • Jobflow support
    • Along with Fireworks
  • Unit aware conversions
    • Via pint

Supported Engines

  • NEB calculations
    • ORCA
    • EON
  • Single point calculations
    • ORCA
    • EON

Rationale

I needed to run a bunch of systems. jobflow / Fireworks / AiiDA were ideal, until I realized only VASP is really well supported by them.

Also there were some minor problems with the ORCA input parser…

  • It chokes on multiple # symbols, so # MaxIter 50 # something will error out on SOMETHING
  • No real ordering or syntax highlighting in major IDEs

Along with other minor inconveniences which make for enough friction over time to necessitate this library.

Usage

The simplest usage is via the CLI:

uv run pychum --help
# Or alternatively
python -m pychum.cli --help

Development

Before writing tests and incorporating the functions into the CLI it is helpful to often visualize the intermediate steps. For this we can setup a complete development environment including the notebook server.

uv sync --all-extras
uv run jupyter lab --ServerApp.allow_remote_access=1 \
    --ServerApp.open_browser=False --port=8889

Then go through the nb folder notebooks.

Adding ORCA blocks

Changes are to be made in the following files under the pychum/engine/orca/ folder:

  • The relevant .jinja file in the _blocks directory
  • The configuration loading mechanism in config_loader.py
  • The dataclasses folder
  • A sample test .toml file under tests/test_orca

While working on this, it may be instructive to use the nb folder notebooks. Also all PRs must include a full test suite for the new blocks.

Documentation

Readme

The readme can be constructed via:

./scripts/org_to_md.sh readme_src.org readme.md

License

MIT. However, this is an academic resource, so please cite as much as possible via:

  • The Zenodo DOI for general use.
  • The wailord paper for ORCA usage

Download files

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

Source Distribution

pychum-1.4.3.tar.gz (21.1 kB view details)

Uploaded Source

Built Distribution

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

pychum-1.4.3-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file pychum-1.4.3.tar.gz.

File metadata

  • Download URL: pychum-1.4.3.tar.gz
  • Upload date:
  • Size: 21.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pychum-1.4.3.tar.gz
Algorithm Hash digest
SHA256 a632fc9b50542cff43bf3213108927943ddcd718430c91c61282b27fbcb78977
MD5 cca6bddf500d8fbcbdc43f6320eaf5c6
BLAKE2b-256 e57494a0c56d1c71e006cab1759d354dd43f8d7b9bdd4d27b82567e52e48f55b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pychum-1.4.3.tar.gz:

Publisher: release.yml on HaoZeke/pychum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pychum-1.4.3-py3-none-any.whl.

File metadata

  • Download URL: pychum-1.4.3-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for pychum-1.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 64aaf02829f3b3c5bc0c8b6f3a8584c6f230103c6b4d234dad46a033e60551cb
MD5 1de953fc4895c034eb5ba6449f3ac804
BLAKE2b-256 d20cf74bd1e566d2869a96bc108aa0a61baeb4821d462ad8bc475035d854b57b

See more details on using hashes here.

Provenance

The following attestation bundles were made for pychum-1.4.3-py3-none-any.whl:

Publisher: release.yml on HaoZeke/pychum

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

1.4.3 This release

2 files

1.4.2

2 files

1.4.1

2 files

1.4.0

2 files

0.1.0

2 files

0.0.1

2 files

Supported by

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