Amsterdam Modeling PySuite¶
The Amsterdam Modeling Suite ships with a ready-to-use Python distribution called amspython.
That bundled environment already includes the AMS Python stack, so for most AMS scripting you do
not need to install anything else.
Tip
Looking for copy-pasteable scripts that use these packages? Start with Python Examples.
You only need the instructions on this page if you want to use a separate Python environment such
as a uv project, venv environment, or conda environment.
What It Includes¶
Amsterdam Modeling PySuite is the umbrella name for the AMS Python stack. It is not currently an installable package by itself. In separate Python environments, install the individual packages you need from the SCM package index.
The stack includes for example:
scm.baseforChemicalSystem, units, and AMS-oriented structure handlingplamsfor workflow automation and AMS job handlingscm.conformersscm.input_classesscm.paramsscm.akfreaderscm.utilsscm.amspipescm.external_engines
The full package collection is larger than the list above.
Licensing¶
The AMS Python packages are downloaded from SCM package servers. Downloading or upgrading them in a separate Python environment therefore requires a valid SCM username and password. This is available to AMS customers and free-trial users.
After the packages have been installed, the Python modules themselves do not perform a runtime license check merely for being imported and used.
By contrast, plams is also available separately as a free open-source package on PyPI.
Recommended Default¶
If you are writing AMS scripts, prefer the bundled amspython interpreter unless you specifically
need a separate Python environment.
With amspython, these imports work out of the box:
from scm.base import ChemicalSystem, Units
from scm.plams import AMSJob, Settings
from scm.conformers import ConformersJob
Using uv¶
AMS includes a bundled uv executable at $AMSBIN/uv. This is the recommended way to create a
separate Python environment for AMS Python packages.
Create a new project:
"$AMSBIN/uv" init -p 3.12 my-ams-python-project
cd my-ams-python-project
Then edit pyproject.toml to use the SCM package index and request the packages you want:
[project]
name = "my-ams-python-project"
version = "0.1.0"
description = "AMS Python environment"
readme = "README.md"
requires-python = "==3.12.*"
dependencies = [
"plams[all]",
"scm-amspipe",
"scm-base",
"scm-conformers",
"scm-external-engines",
"scm-flexmd",
"scm-glompo[all]",
"scm-input-classes",
"scm-pisa",
"scm-params",
"scm-akfreader",
"scm-reactmap",
"scm-utils",
"scm-version",
"scm-kpath",
"scm-xlsx",
]
[tool.uv.sources]
plams = { index = "scm" }
scm-amspipe = { index = "scm" }
scm-base = { index = "scm" }
scm-conformers = { index = "scm" }
scm-external-engines = { index = "scm" }
scm-flexmd = { index = "scm" }
scm-glompo = { index = "scm" }
scm-input-classes = { index = "scm" }
scm-pisa = { index = "scm" }
scm-params = { index = "scm" }
scm-akfreader = { index = "scm" }
scm-reactmap = { index = "scm" }
scm-utils = { index = "scm" }
scm-version = { index = "scm" }
scm-kpath = { index = "scm" }
scm-xlsx = { index = "scm" }
[[tool.uv.index]]
name = "scm"
url = "https://downloads.scm.com/Downloads/packages/uv/channels/2026.1/simple/"
explicit = true
Authenticate to the SCM index:
"$AMSBIN/uv" auth login "https://downloads.scm.com/Downloads/packages/uv/channels/2026.1/simple/"
Install the environment:
"$AMSBIN/uv" sync
Check the installation:
"$AMSBIN/uv" run python -c "import scm.base, scm.conformers, scm.params, scm.plams"
Using pip in an Existing Environment¶
If you already have a venv or conda environment, you can install the AMS Python packages you
need there instead.
For a standard virtual environment:
. /path/to/my/venv/bin/activate
python -m pip install \
--extra-index-url "https://<scm-username>:<password>@downloads.scm.com/Downloads/packages/uv/channels/2026.1/simple/" \
plams scm-amspipe scm-base scm-conformers scm-external-engines scm-flexmd scm-glompo scm-input-classes scm-params scm-pisa scm-akfreader scm-reactmap scm-utils scm-version scm-kpath scm-xlsx
For a conda environment:
conda run -n myenv python -m pip install \
--extra-index-url "https://<scm-username>:<password>@downloads.scm.com/Downloads/packages/uv/channels/2026.1/simple/" \
plams scm-amspipe scm-base scm-conformers scm-external-engines scm-flexmd scm-glompo scm-input-classes scm-params scm-pisa scm-akfreader scm-reactmap scm-utils scm-version scm-kpath scm-xlsx
Which Package Set Should I Install?¶
Use plams plus scm-base if you want the core AMS Python stack centered around
scm.base and PLAMS.
Add packages such as scm-amspipe, scm-conformers, scm-external-engines,
scm-flexmd, scm-glompo, scm-input-classes, scm-pisa, scm-params,
scm-reactmap, scm-akfreader, scm-utils, scm-version, scm-kpath, and
scm-xlsx when you need that broader functionality.
If you only need PLAMS and not the broader AMS Python stack, you can also install plain plams
from PyPI.