# pm4py
pm4py is a python library that supports (state-of-the-art) process mining algorithms in python.
It is open source (licensed under GPL) and intended to be used in both academia and industry projects.
pm4py is a product of the Fraunhofer Institute for Applied Information Technology.
## Documentation / API
The full documentation of pm4py can be found at https://pm4py.fit.fraunhofer.de
## First Example
A very simple example, to whet your appetite:
import pm4py
if __name__ == "__main__":
log = pm4py.read_xes('<path-to-xes-log-file.xes>')
net, initial_marking, final_marking = pm4py.discover_petri_net_inductive(log)
pm4py.view_petri_net(net, initial_marking, final_marking, format="svg")
## Installation
pm4py can be installed on Python 3.9.x / 3.10.x / 3.11.x / 3.12.x by invoking:
*pip install -U pm4py*
pm4py is also running on older Python environments with different requirements sets, including:
- Python 3.8 (3.8.10): third_party/old_python_deps/requirements_py38.txt
## Requirements
pm4py depends on some other Python packages, with different levels of importance:
* *Essential requirements*: numpy, pandas, deprecation, networkx
* *Normal requirements* (installed by default with the pm4py package, important for mainstream usage): graphviz, intervaltree, lxml, matplotlib, pydotplus, pytz, scipy, tqdm
* *Optional requirements* (not installed by default): requests, pyvis, jsonschema, workalendar, pyarrow, scikit-learn, polars, openai, pyemd, pyaudio, pydub, pygame, pywin32, pygetwindow, pynput
## Release Notes
To track the incremental updates, please refer to the *CHANGELOG* file.
## Third Party Dependencies
As scientific library in the Python ecosystem, we rely on external libraries to offer our features.
In the */third_party* folder, we list all the licenses of our direct dependencies.
Please check the */third_party/LICENSES_TRANSITIVE* file to get a full list of all transitive dependencies and the corresponding license.
## Citing pm4py
If you are using pm4py in your scientific work, please cite pm4py as follows:
**Alessandro Berti, Sebastiaan van Zelst, Daniel Schuster**. (2023). *PM4Py: A process mining library for Python*. Software Impacts, 17, 100556. [DOI](https://doi.org/10.1016/j.simpa.2023.100556) | [Article Link](https://www.sciencedirect.com/science/article/pii/S2665963823000933)
BiBTeX:
@article{pm4py,
title = {PM4Py: A process mining library for Python},
journal = {Software Impacts},
volume = {17},
pages = {100556},
year = {2023},
issn = {2665-9638},
doi = {https://doi.org/10.1016/j.simpa.2023.100556},
url = {https://www.sciencedirect.com/science/article/pii/S2665963823000933},
author = {Alessandro Berti and Sebastiaan van Zelst and Daniel Schuster},
}
Raw data
{
"_id": null,
"home_page": "https://pm4py.fit.fraunhofer.de",
"name": "pm4pyminimal",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": null,
"author": "Fraunhofer Institute for Applied Information Technology FIT",
"author_email": "pm4py@fit.fraunhofer.de",
"download_url": "https://files.pythonhosted.org/packages/08/58/a6081c0694c32af904870f4fd5236a456afbfa6ffd7ff0c4331dce18435c/pm4pyminimal-2.7.11.9.tar.gz",
"platform": null,
"description": "# pm4py\r\npm4py is a python library that supports (state-of-the-art) process mining algorithms in python. \r\nIt is open source (licensed under GPL) and intended to be used in both academia and industry projects.\r\npm4py is a product of the Fraunhofer Institute for Applied Information Technology.\r\n\r\n## Documentation / API\r\nThe full documentation of pm4py can be found at https://pm4py.fit.fraunhofer.de\r\n\r\n## First Example\r\nA very simple example, to whet your appetite:\r\n\r\nimport pm4py\r\n\r\nif __name__ == \"__main__\":\r\n log = pm4py.read_xes('<path-to-xes-log-file.xes>')\r\n net, initial_marking, final_marking = pm4py.discover_petri_net_inductive(log)\r\n pm4py.view_petri_net(net, initial_marking, final_marking, format=\"svg\")\r\n\r\n## Installation\r\npm4py can be installed on Python 3.9.x / 3.10.x / 3.11.x / 3.12.x by invoking:\r\n*pip install -U pm4py*\r\n\r\npm4py is also running on older Python environments with different requirements sets, including:\r\n- Python 3.8 (3.8.10): third_party/old_python_deps/requirements_py38.txt\r\n\r\n## Requirements\r\npm4py depends on some other Python packages, with different levels of importance:\r\n* *Essential requirements*: numpy, pandas, deprecation, networkx\r\n* *Normal requirements* (installed by default with the pm4py package, important for mainstream usage): graphviz, intervaltree, lxml, matplotlib, pydotplus, pytz, scipy, tqdm\r\n* *Optional requirements* (not installed by default): requests, pyvis, jsonschema, workalendar, pyarrow, scikit-learn, polars, openai, pyemd, pyaudio, pydub, pygame, pywin32, pygetwindow, pynput\r\n\r\n## Release Notes\r\nTo track the incremental updates, please refer to the *CHANGELOG* file.\r\n\r\n## Third Party Dependencies\r\nAs scientific library in the Python ecosystem, we rely on external libraries to offer our features.\r\nIn the */third_party* folder, we list all the licenses of our direct dependencies.\r\nPlease check the */third_party/LICENSES_TRANSITIVE* file to get a full list of all transitive dependencies and the corresponding license.\r\n\r\n## Citing pm4py\r\nIf you are using pm4py in your scientific work, please cite pm4py as follows:\r\n\r\n**Alessandro Berti, Sebastiaan van Zelst, Daniel Schuster**. (2023). *PM4Py: A process mining library for Python*. Software Impacts, 17, 100556. [DOI](https://doi.org/10.1016/j.simpa.2023.100556) | [Article Link](https://www.sciencedirect.com/science/article/pii/S2665963823000933)\r\n\r\nBiBTeX:\r\n\r\n@article{pm4py, \r\ntitle = {PM4Py: A process mining library for Python}, \r\njournal = {Software Impacts}, \r\nvolume = {17}, \r\npages = {100556}, \r\nyear = {2023}, \r\nissn = {2665-9638}, \r\ndoi = {https://doi.org/10.1016/j.simpa.2023.100556}, \r\nurl = {https://www.sciencedirect.com/science/article/pii/S2665963823000933}, \r\nauthor = {Alessandro Berti and Sebastiaan van Zelst and Daniel Schuster}, \r\n}\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "GPL 3.0",
"summary": "Process mining for Python",
"version": "2.7.11.9",
"project_urls": {
"Documentation": "https://pm4py.fit.fraunhofer.de",
"Homepage": "https://pm4py.fit.fraunhofer.de",
"Source": "https://github.com/pm4py/pm4py-source",
"Tracker": "https://github.com/pm4py/pm4py-source/issues"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0ed187566793c78d6f6402bc40848228842627e90d61223e6e4b409e0618b690",
"md5": "126a29f90faa7e88d98e606a1b08c6ea",
"sha256": "36dbb69400b7355c23ddadda8ec6f54146630a77f95fbdda5482f5e811cdcdbc"
},
"downloads": -1,
"filename": "pm4pyminimal-2.7.11.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "126a29f90faa7e88d98e606a1b08c6ea",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 1871943,
"upload_time": "2024-05-14T06:36:54",
"upload_time_iso_8601": "2024-05-14T06:36:54.565626Z",
"url": "https://files.pythonhosted.org/packages/0e/d1/87566793c78d6f6402bc40848228842627e90d61223e6e4b409e0618b690/pm4pyminimal-2.7.11.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0858a6081c0694c32af904870f4fd5236a456afbfa6ffd7ff0c4331dce18435c",
"md5": "938cedf351a24835f1fb715352b20154",
"sha256": "91e1b4b5adac6f4e8a3da1c924a6ebcd6070473e2d7571bb7f46cd1329fdcf20"
},
"downloads": -1,
"filename": "pm4pyminimal-2.7.11.9.tar.gz",
"has_sig": false,
"md5_digest": "938cedf351a24835f1fb715352b20154",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 791674,
"upload_time": "2024-05-14T06:36:59",
"upload_time_iso_8601": "2024-05-14T06:36:59.675958Z",
"url": "https://files.pythonhosted.org/packages/08/58/a6081c0694c32af904870f4fd5236a456afbfa6ffd7ff0c4331dce18435c/pm4pyminimal-2.7.11.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-14 06:36:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "pm4py",
"github_project": "pm4py-source",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pm4pyminimal"
}