ngpb4py
ngpb4py is a Python wrapper for running NextGenPB
through a containerized workflow.
It provides:
- a typed configuration object for
.prmfiles - a high-level runner that stages inputs and executes NextGenPB
- structured parsing of key log sections and supported output files
Installation
If Apptainer is already installed on your system, install the package normally:
pip install ngpb4py
If Apptainer is not installed, prefer the Conda-based setup provided by this
repository so both ngpb4py and apptainer are installed together:
wget https://raw.githubusercontent.com/pedrishi/ngpb4py/refs/heads/main/environment.yml
conda env create -f environment.yml
conda activate ngpb4py
For development or local docs/testing, install the project with its development dependencies:
uv sync --group dev
ngpb4py expects an Apptainer runtime to be available locally.
Quick Start
Using an existing .prm file:
from ngpb4py import NgpbConfig, NgpbRunner
config = NgpbConfig.from_prm("examples/exercise1/options.prm")
result = NgpbRunner(nproc=4).run(config=config, verbose=1)
print(result.log.energies.total_electrostatic_energy_kt)
Or running with defaults directly on a new .pdb file:
from ngpb4py import NgpbRunner
result = NgpbRunner(nproc=4).run(config={"filetype": "pdb", "filename": "examples/simple_4LZT/4LZT.pdb"})
print(result.log.energies.total_electrostatic_energy_kt)
Documentation
Documentation can be found here
License
This project is licensed under the GNU GPL v3.0.
ngpb4py is a separate Python wrapper project. It is not the NextGenPB solver itself, and its license statement applies to the wrapper code in this repository.
NextGenPB is the upstream solver project. That project is distributed separately, includes its own copyright notices, and is also marked there as GPL-3.0 licensed.
Metadata
Release files for ngpb4py 0.5.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ngpb4py-0.5.4.tar.gz | 27.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ngpb4py-0.5.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 56.4 kB
Release files / ngpb4py-0.5.4.tar.gz
| Download URL | ngpb4py-0.5.4.tar.gz |
|---|---|
| Size | 27.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8f66b0f1acdef60bad5e73f6a17cca0a7a9690ffc956a447e993156059c21de3
|
|
BLAKE2b-256 checksum How to use checksums |
35aedb7efd9bf4e894318314734e9391713dd17a140e55ed9513e1404012499e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / ngpb4py-0.5.4-py3-none-any.whl
| Download URL | ngpb4py-0.5.4-py3-none-any.whl |
|---|---|
| Size | 29.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6308eaba2382a72f2b1198e7d4c5764d7c65a48a207582663f545f6a1c980e5e
|
|
BLAKE2b-256 checksum How to use checksums |
177c5827e11da3472af1316c1d5c8a06b0ec2f23dc2fecaeaefbd6f104899a17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|