Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pm4py/pm4py-core
Public repository for the PM4Py (Process Mining for Python) project.
https://github.com/pm4py/pm4py-core
data-mining data-science machine-learning process-mining python
Last synced: 2 months ago
JSON representation
Public repository for the PM4Py (Process Mining for Python) project.
- Host: GitHub
- URL: https://github.com/pm4py/pm4py-core
- Owner: pm4py
- License: gpl-3.0
- Created: 2018-07-03T07:23:27.000Z (over 6 years ago)
- Default Branch: release
- Last Pushed: 2024-05-21T04:50:02.000Z (8 months ago)
- Last Synced: 2024-05-22T09:08:22.402Z (8 months ago)
- Topics: data-mining, data-science, machine-learning, process-mining, python
- Language: Python
- Homepage: https://pm4py.fit.fraunhofer.de
- Size: 105 MB
- Stars: 662
- Watchers: 33
- Forks: 257
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-python-machine-learning - pm4py - PM4Py is a python library that supports (state-of-the-art) process mining algorithms in python. (Uncategorized / Uncategorized)
README
# 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:```python
import pm4pyif __name__ == "__main__":
log = pm4py.read_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:
```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},
}
```