SEAMM Manager
Installs, updates and configures SEAMM (the Simulation Environment for Atomistic and Molecular Simulations) in a uv-managed Python environment.
Free software: GNU Lesser General Public License v3+
Documentation: https://molssi-seamm.github.io/seamm_manager/index.html
Features
One environment, all from PyPI. SEAMM and every plug-in are installed into a Python virtual environment under the SEAMM root (~/SEAMM/venv) with uv, constrained to a published lock file, so every installation gets the same known-good set of versions and installs in seconds.
The interpreter comes with it. uv installs Python (with Tk for the graphical editor); no conda, no system Python needed for SEAMM itself.
Conda only for the codes. External programs (MOPAC, Psi4, DFTB+, LAMMPS, …) are installed by their plug-ins into their own conda environments, exactly as before; conda is only needed if you install one of those plug-ins.
Services (the JobServer and the web interface), desktop apps, and the datastore are set up and kept current by the same tool.
Getting started
curl -LsSf https://astral.sh/uv/install.sh | sh # once, if you do not have uv
uv tool install seamm-manager
seamm-manager install --all
That creates ~/SEAMM, the environment inside it, and installs SEAMM with all the MolSSI plug-ins. seamm-manager update --all keeps everything current; without any arguments seamm-manager opens a graphical installer.
Coming from seamm-installer
seamm-manager replaces seamm-installer, which managed a conda environment. Existing conda-based installations keep working but no longer receive updates. To move: run the three lines above, then seamm-manager services create and seamm-manager apps create to point the JobServer, web interface and desktop apps at the new environment. Your jobs, configuration files and the codes’ own conda environments are untouched. Remove the old conda environment when you are happy.
Acknowledgements
This package is based on seamm-installer, and was developed by the Molecular Sciences Software Institute (MolSSI), which receives funding from the National Science Foundation under awards OAC-1547580 and CHE-2136142.
History
- 2026.9.27 – update –latest picks up a same-day release from PyPI
seamm-manager update takes the available version of each package from the package list published nightly, so a release made today was reported as “Everything is up to date” until the next day, and --no-constraints did not help. The new --latest option asks PyPI for each package’s newest release, pins it exactly when it is newer than the list’s, and updates without the lock file (which would pin yesterday’s version). If PyPI cannot be reached the package list is used as before.
- 2026.9.26.6 – Bugfix: environment files no longer upgrade a machine’s torch
Applying a plug-in’s environment file to an existing conda environment no longer upgrades bare pip requirements. Conda runs a file’s pip: section with pip install -U, so torch in xnn_step’s file was upgraded, in the seamm-lammps environment that xnn.ini on ChemAI shares with LAMMPS, to a CUDA 13 build the driver cannot run. Now a bare name is installed only if missing, while a requirement with a version specifier (xnns>=0.3.0, e3nn==0.4.4) is kept current within it. The plug-in that adds the MLFF engine to LAMMPS’s environment keeps doing so; the machine’s driver-matched torch is left alone.
- 2026.9.26.5 – Bugfix: the manager’s release was only synced alongside other updates
The step added in 2026.9.26.4 that puts the running manager’s release into the environment ran only when some other package was being installed or updated, so an environment with nothing else to update kept the older manager. It now runs every time.
- 2026.9.26.4 – The environment keeps the manager’s own release; manual codes
After installing or updating, the manager puts its own release into the environment if the package list still names an older one. The list is refreshed nightly, so for up to a day after a manager release the environment – and with it the plug-ins’ installers – used to get the previous version.
A plug-in installer for a code that is not installed automatically (ORCA, Gaussian, VASP) now says so when asked to install, instead of failing with an AttributeError about a missing environment file.
- 2026.9.26.3 – Bugfixes from the first Linux migration (ChemAI)
update --all upgrades the manager itself with a forced, index-refreshing reinstall; uv tool upgrade could report “Nothing to upgrade” minutes after a release because uv reused its cached view of PyPI.
The datastore version check ran alembic from the PATH, which the manager’s own tool environment does not have; it now runs the environment’s alembic, like the migration itself. On ChemAI this made a fresh install end in “updated to version unknown, but it should be None”.
services create on Linux crashed after deleting the old unit and before writing the new one (the executable path is now a Path), leaving no service. Found on ChemAI; the unit was restored by hand.
- 2026.9.26.2 – Bugfixes from a first installation on a brand-new Mac
On a fresh Mac uv tool install seamm-manager built the manager on the system Python 3.9, because nothing declared a minimum version. The package now requires Python 3.12 or later, so uv installs one if needed.
A plug-in’s own installer that fails (for instance because conda is not installed) now reports what went wrong, instead of leaving the code silently uninstalled.
The datastore is created at installation, and before a service is started, rather than by the web interface’s first start; a JobServer created first used to crash-loop on the missing database.
- 2026.9.26.1 – Bugfixes from the first real migration
Conda could not be found by a manager or plug-in installer launched from the Dock or as a service, whose PATH is minimal, so the GUI showed a traceback in each plug-in’s description. Conda is now found through $CONDA_EXE, the PATH, or the usual installation directories, and its directory is passed on to sub-processes. With no conda environment active the base installation is taken from root_prefix rather than the (empty) active prefix.
The services and datastore commands used the raw --root option, which is empty when the default root applies; the post-install step crashed. They now use the resolved root.
A plug-in installer writing a fresh <code>.ini crashed serializing an empty configuration.
The manager’s desktop app is SEAMM-Manager, running seamm-manager.
install runs the per-package steps (datastore update, the plug-ins’ own installers) for the packages it installed or updated; --rerun-installers runs them for every requested package, which recovers an interrupted install.
- 2026.9.26 – First release of seamm-manager
seamm-manager replaces seamm-installer. It manages a SEAMM installation in a uv-managed Python virtual environment under the SEAMM root (~/SEAMM/venv): every package comes from PyPI, resolved against the published lock file, so an installation is reproducible and takes seconds rather than minutes. Conda is used only for the external codes’ own environments (MOPAC, Psi4, LAMMPS, …).
seamm-manager install --all creates the environment (Python 3.12 via uv) and installs SEAMM with all the MolSSI plug-ins in one constrained step; update keeps the manager and the packages current; a new environment command shows, creates, recreates or removes the environment. Services, desktop apps and the datastore migration use the environment’s own executables.
seamm-installer stays available for existing conda-based installations, which keep working but no longer receive updates; see the migration guide in the installation documentation. A seamm_installer compatibility module keeps the plug-ins’ own installers working inside the new environment.
Release files for seamm-manager 2026.9.27
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| seamm_manager-2026.9.27.tar.gz | 397.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| seamm_manager-2026.9.27-py2.py3-none-any.whl | Python 2, Python 3 | none | any | Details |
Total release size: 770.5 kB
Release files / seamm_manager-2026.9.27.tar.gz
| Download URL | seamm_manager-2026.9.27.tar.gz |
|---|---|
| Size | 397.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
76d93ac15389983302d56562178c8b675fef01efe4eba601a635045b0efcc4b3
|
|
BLAKE2b-256 checksum How to use checksums |
cf7bf736343b7d6c6367c5fa7e300ef5feb32508f581d39fee5887f9a7c7ed58
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / seamm_manager-2026.9.27-py2.py3-none-any.whl
| Download URL | seamm_manager-2026.9.27-py2.py3-none-any.whl |
|---|---|
| Size | 373.3 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
60bfb1d8a02fda6996ff9c181146295bcae096070d76f0c1853c63e44d1c656b
|
|
BLAKE2b-256 checksum How to use checksums |
28b5442086037a9982fb1c6ccf49fb9aa6c724ede5cd5a73e8069226ea7fa7f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|