PM4Py
PM4Py is a Python library providing state-of-the-art algorithms and tools for process mining.
It is developed and maintained by Process Intelligence Solutions GmbH (PIS).
Getting started
Installation instructions, tutorials, and the full documentation are maintained on the PM4Py website:
License
The open-source version of PM4Py, available on GitHub, is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
A separate version of PM4Py is available for commercial use in closed-source environments under a different license. See PM4Py Licensing for details.
Optional dependencies
The default installation covers mainstream usage. Additional integrations are grouped by feature in pyproject.toml:
| Extra | Installs |
|---|---|
calendars |
workalendar |
connectors |
requests |
llm |
openai, requests |
ml |
pyemd, scikit-learn |
ocel |
jsonschema, pyarrow |
polars |
polars (dataframe support) |
solvers |
cvxopt |
visualization |
pyvis |
windows |
pygetwindow, pynput, pywin32 (Windows only) |
The stable extra pins the exact dependency versions validated by the project and used in CI.
Polars
Polars 1.40.1 and 2.x are supported. Joins used in filtering and enrichment preserve event order, including when lazy queries run on the streaming engine (the default in Polars 2.0).
PuLP
SciPy is the default LP solver; PuLP is optional. If PuLP is installed, PM4Py selects the matching backend for
PuLP 3.x or 4.x. PuLP 4 requires CBC to be installed separately, either with python -m pip install "pulp[cbc]" or by
putting cbc on your PATH.
Release notes
See CHANGELOG.md for incremental updates.
Contributing
Before contributing, please review the contributing guidelines and Contributor License Agreement (CLA).
For a source checkout, install the project with python -m pip install -e .. Build, CI, and lint dependencies are
standard dependency groups and can be installed with, for example, python -m pip install --group lint
(requires pip 25.1 or later).
Third-party dependencies
As a scientific library in the Python ecosystem, PM4Py relies on external libraries. The licenses of all direct
dependencies are in the third_party/ folder, and
third_party/LICENSES_TRANSITIVE lists every transitive dependency with its license.
Citing PM4Py
If you use PM4Py in your scientific work, please cite:
Alessandro Berti, Sebastiaan van Zelst, and Daniel Schuster (2023). PM4Py: A process mining library for Python. Software Impacts, 17, 100556. https://doi.org/10.1016/j.simpa.2023.100556
BibTeX:
@article{pm4py,
title = {{PM4Py}: A process mining library for {Python}},
author = {Berti, Alessandro and van Zelst, Sebastiaan and Schuster, Daniel},
journal = {Software Impacts},
volume = {17},
pages = {100556},
year = {2023},
issn = {2665-9638},
doi = {10.1016/j.simpa.2023.100556},
url = {https://www.sciencedirect.com/science/article/pii/S2665963823000933}
}
Legal notice
This repository is managed by Process Intelligence Solutions GmbH. Further information about PIS is available at processintelligence.solutions.
Metadata
Release files for pm4py 2.7.23.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| pm4py-2.7.23.12.tar.gz | 1.2 MB | Without provenance | Details for pm4py-2.7.23.12.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pm4py-2.7.23.12-py3-none-any.whl | Python 3 | none | any | Details for pm4py-2.7.23.12-py3-none-any.whl |
Total release size: 3.9 MB
Release files / pm4py-2.7.23.12.tar.gz
| Download URL | pm4py-2.7.23.12.tar.gz |
|---|---|
| Size | 1.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
65964e84d9b0ce31e9644eaff3ba31b56b7449f2a90d590b85010946b9d7bfa8
|
|
BLAKE2b-256 checksum How to use checksums |
d519375a3ee78e5a705fa1fd2d85b4dcf02636574db5c7419cc3ec1b23541628
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / pm4py-2.7.23.12-py3-none-any.whl
| Download URL | pm4py-2.7.23.12-py3-none-any.whl |
|---|---|
| Size | 2.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
57fd1baa88cad99f39d2e2b145eefc64d454732a6b2ce07c38841fd800c810bf
|
|
BLAKE2b-256 checksum How to use checksums |
0bf93d660092fcc8e4b9732a7ddf1962080bd2f4ba0e5039d68b3da63b28bfb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for pm4py 2.7.23.12
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.