pkpdsim: building blocks of PBPK/PD models
pkpdsim is a python package with the building blocks shared by physiologically based pharmacokinetic and pharmacodynamic (PBPK/PD) models in SBML. The models of pkdb_models are written in python with the factory of sbmlutils and simulated with sbmlsim; what they share lives in pkpdsim, so that the folder of a model imports nothing but itself and released packages.
Features include
- templates and annotations - the creators and the terms of use of a model, the annotations of the compartments which recur in the models (liver, kidneys, gut, blood, urine, ...)
- study data - the study folders of PK-DB in a checkout of pkdb_data, found through the environment variable
PKDB_DATA, and the data of a model collected from them into its own folder - initial values - the same initial concentration or amount of a substance in every tissue of a model, which removes the distribution kinetics
- licenses - the texts of CC BY-SA 4.0 and MIT for the COMBINE archive of a model, written byte for byte the same on every platform
- models and their commands - the model object and the commands of a model (
run,fit,report,identifiability), the tests of a model as functions and the verification of a change, also across versions of sbmlsim (pkpdsim-verify) - experiments and their metadata - the base class of the simulation experiments of a model (the SIds of its keys, the units of its data), the presets of the impaired organ function, the shared vocabulary of the metadata of a fit mapping and the filters which select the mappings of a fit by it
- scans and sensitivity analyses - the timecourse of a point of a scan as sbmlsim 0.8 gave it and the table of the parameters and the distributions of a sensitivity analysis
The documentation is available at https://matthiaskoenig.github.io/pkpdsim.
If you have any questions or issues please open an issue.
Quickstart
from pathlib import Path
from pkpdsim.annotations import compartments
from pkpdsim.licenses import License, write_license
from pkpdsim.templates import creators
print(creators[0].givenName, creators[0].familyName)
print([resource for _, resource in compartments["li"]])
results = Path("results")
results.mkdir()
print(write_license(results, License.MIT, copyright="2026 Matthias König").name)
Matthias König
['fma/FMA:7197', 'bto/BTO:0000759', 'ncit/C12392']
mit.txt
The user guide of the documentation describes every module with a snippet which runs.
How to cite
If you use pkpdsim please cite the archived software on Zenodo:
König, M. (2026). pkpdsim: building blocks of physiologically based pharmacokinetic and pharmacodynamic models in SBML (Version 0.5.0) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.23316597
@software{konig_pkpdsim,
author = {König, Matthias},
title = {pkpdsim: building blocks of physiologically based pharmacokinetic and pharmacodynamic models in SBML},
year = {2026},
month = oct,
version = {0.5.0},
publisher = {Zenodo},
doi = {10.5281/zenodo.23316597},
url = {https://doi.org/10.5281/zenodo.23316597},
}
Installation
pkpdsim requires python >= 3.13, simulates with sbmlsim 0.9 (sbmlsim>=0.9.3,<0.10, installed with it) and is available from pypi:
uv add pkpdsim
or with pip
pip install pkpdsim
See Installation for details and Development for working on the repository.
License
- Source Code: MIT
- Documentation: CC BY-SA 4.0
Funding
Matthias König is supported by the German Research Foundation (DFG) within the Research Unit Programme FOR 5151 "QuaLiPerF (Quantifying Liver Perfusion-Function Relationship in Complex Resection - A Systems Medicine Approach)" by grant number 436883643 and by grant number 465194077 (Priority Programme SPP 2311, Subproject SimLivA).
Matthias König was supported by the Federal Ministry of Education and Research (BMBF, Germany) within the research network Systems Medicine of the Liver (LiSyM, grant number 031L0054).
© 2026 Matthias König.
Metadata
Release files for pkpdsim 0.5.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pkpdsim-0.5.1.tar.gz | 313.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pkpdsim-0.5.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 395.4 kB
Release files / pkpdsim-0.5.1.tar.gz
| Download URL | pkpdsim-0.5.1.tar.gz |
|---|---|
| Size | 313.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a491ed28c5574016d2390668432e03543d945be68651bc79ccc728bc9fb83b2
|
|
BLAKE2b-256 checksum How to use checksums |
e3d4a1b8f347be3fa58b6c56a6c209654b413f5d08affda52e5317c9987890d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / pkpdsim-0.5.1-py3-none-any.whl
| Download URL | pkpdsim-0.5.1-py3-none-any.whl |
|---|---|
| Size | 81.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ee7702bef8204096e189dc62fcf0644befe9e887305117b5a0aa33e6eb5b9c6
|
|
BLAKE2b-256 checksum How to use checksums |
b24aae9fdd8b086c36bd304a352d309c7d2b126997f6bca25986397379d7f2f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log