OpenMM
Python wrapper for OpenMM (a C++ MD package)
What it is and what it does
OpenMM is a molecular dynamics simulation toolkit that wraps a high-performance C++ engine, designed for researchers and developers who need to run biomolecular simulations. It can be used as a standalone application or imported as a library into custom Python code. The package emphasizes flexibility through custom forces and integrators, openness in its design, and high performance especially on modern GPUs.
The toolkit depends only on numpy and is distributed as pre-compiled wheels for multiple Python versions and platforms (macOS, Linux, Windows). Its medium install friction reflects the compiled nature of the underlying C++ engine, but pre-built wheels mitigate most installation complexity. Active maintenance and a recent release cycle suggest ongoing development and bug fixes.
Use it for:
- Run molecular dynamics simulations of proteins or other biomolecules with GPU acceleration for research or drug discovery workflows.
- Build custom simulation pipelines by importing OpenMM as a library and defining custom forces or integrators.
- Prototype and test new force fields or simulation algorithms without modifying the core C++ engine.
- Perform high-throughput molecular simulations by leveraging GPU parallelization for ensemble studies.
- Integrate molecular dynamics into larger computational chemistry or bioinformatics pipelines.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
OpenMM is a Python wrapper for a C++ molecular dynamics simulation engine, providing both standalone simulation capability and a library interface for custom molecular modeling workflows.
Yes, if you need molecular dynamics simulation capability. The active maintenance, permissive license, and broad platform support make it a solid choice. Medium install friction is expected for compiled scientific software and is well-mitigated by pre-built wheels. No known vulnerabilities. Verify Python version compatibility and GPU driver requirements before installation.
Install
openmm on PyPI
pip
pip install openmmuv
uv add openmmpoetry
poetry add openmmInstalling OpenMM
Before you install
Medium install friction due to compiled C++ dependencies and platform-specific wheels. Active maintenance with a recent release 67 days ago. Requires numpy as its only runtime dependency.
License in practice
Licensed under Python Software Foundation License (BSD-like), a permissive license allowing commercial and private use with minimal restrictions.
Quickstart
pip install openmm
import openmm
system = openmm.System()
integrator = openmm.VerletIntegrator()
Requires a compatible CPU or GPU platform; some features may require CUDA or OpenCL drivers for GPU acceleration.
Verify before relying
- Whether GPU acceleration (CUDA/OpenCL) is required or optional for typical workflows.
- Specific Python version requirements (requires_python field is unspecified in metadata).
- Whether the package includes force field files or requires separate installation.
- Minimum Python version supported despite unspecified requires_python metadata.
Package facts
| License | Python Software Foundation License (BSD-like) (permissive) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 67 days since the last release |
| First released | |
| Downloads | 182,625/month — #10,091 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: openmm-8.5.2-cp310-cp310-macosx_10_12_x86_64.whl; openmm-8.5.2-cp310-cp310-macosx_11_0_arm64.whl; openmm-8.5.2-cp310-cp310-manylinux_2_34_aarch64.whl; openmm-8.5.2-cp310-cp310-manylinux_2_34_x86_64.whl; openmm-8.5.2-cp310-cp310-win_amd64.whl; openmm-8.5.2-cp311-cp311-macosx_10_12_x86_64.whl; openmm-8.5.2-cp311-cp311-macosx_11_0_arm64.whl; openmm-8.5.2-cp311-cp311-manylinux_2_34_aarch64.whl; openmm-8.5.2-cp311-cp311-manylinux_2_34_x86_64.whl; openmm-8.5.2-cp311-cp311-win_amd64.whl; openmm-8.5.2-cp312-cp312-macosx_10_12_x86_64.whl; openmm-8.5.2-cp312-cp312-macosx_11_0_arm64.whl; openmm-8.5.2-cp312-cp312-manylinux_2_34_aarch64.whl; openmm-8.5.2-cp312-cp312-manylinux_2_34_x86_64.whl; openmm-8.5.2-cp312-cp312-win_amd64.whl; openmm-8.5.2-cp313-cp313-macosx_10_12_x86_64.whl; openmm-8.5.2-cp313-cp313-macosx_11_0_arm64.whl; openmm-8.5.2-cp313-cp313-manylinux_2_34_aarch64.whl; openmm-8.5.2-cp313-cp313-manylinux_2_34_x86_64.whl; openmm-8.5.2-cp313-cp313-win_amd64.whl
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
lammpslammps provides pre-built Python bindings to…
copyleft · top 15,000 on PyPI
MDAnalysisMDAnalysis reads and analyzes molecular…
copyleft · top 15,000 on PyPI
pyocseAutomates simulation workflows for organic…
permissive · top 15,000 on PyPI
mdtrajMDTraj reads, writes, and analyzes molecular…
copyleft · top 15,000 on PyPI
alchemlybalchemlyb parses molecular dynamics simulation…
permissive · top 15,000 on PyPI
fairchem-coreProvides pretrained machine learning models for…
permissive · top 15,000 on PyPI
biotrajReads and writes molecular dynamics trajectory…
copyleft · top 5,000 on PyPI
aseASE provides Python tools for setting up,…
copyleft · top 5,000 on PyPI
pybammPyBaMM is a Python framework for simulating…
permissive · top 15,000 on PyPI
openseespyOpenSeesPy is a Python interpreter for…
unclear · top 15,000 on PyPI