pm4py
Process mining for Python
Decision gist · record as of 2026-08-14
Yes, if you work with process mining or need to analyze event logs and discover process models. The package is actively maintained, has low install friction, and provides a mature implementation of standard algorithms. However, be aware of the AGPL-3.0 license requirement—if you plan closed-source use, you must obtain a commercial license. No known security vulnerabilities.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires graphviz system library for visualization; XES log files must be provided as input.
- Low install friction with a pure-wheel distribution and 12 runtime dependencies that are all well-established scientific packages.
- Actively maintained with a recent release (4 days old) and steady commit activity.
License · maintenance · safety
AGPL 3.0 (agpl) — Licensed under AGPL-3.0, which requires that any modifications or derivative works be released under the same license and made available to users. Commercial use in closed-source environments requires a separate commercial license from Process Intelligence Solutions.
last release 2026-08-10 (4 days) · last repo commit 2026-08-11 · 1,004 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 120,289 downloads/mo, #12,035 on PyPI
Alternatives
Verify before relying
pip install pm4py
import pm4py
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")- Whether all 12 runtime dependencies are truly required for basic usage or if some are optional despite being listed as 'normal requirements'.
- Performance characteristics and scalability limits for large event logs.
- Availability and terms of the commercial license for closed-source use.
What it is and what it does
PM4Py is a Python library for process mining—the discipline of extracting process models and insights from event logs recorded by business systems. It provides algorithms to discover Petri nets and other process representations from raw event data, and tools to visualize and analyze those models. The library is built on scientific foundations and depends on numpy, pandas, networkx, scipy, and matplotlib for numerical computing, data handling, graph operations, and visualization.
Typical usage involves reading an event log (commonly in XES format), applying a discovery algorithm like inductive mining to generate a process model, and then viewing or analyzing the result. The package is actively maintained by Process Intelligence Solutions and is used in both academic research and industry applications. It carries an AGPL-3.0 license, meaning modifications must be shared under the same terms; commercial closed-source use requires a separate license.
Use it for
- Discover Petri net models from event logs to understand actual business process flows.
- Analyze conformance between recorded process executions and expected process models.
- Visualize process models in multiple formats (SVG, PNG) for stakeholder communication.
- Extract process metrics and statistics from event logs for process improvement.
- Research and academic work on process mining algorithms and techniques.
- Audit and compliance checking by comparing recorded activities against approved workflows.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you work with process mining or need to analyze event logs and discover process models.
The package is actively maintained, has low install friction, and provides a mature implementation of standard algorithms. However, be aware of the AGPL-3.0 license requirement—if you plan closed-source use, you must obtain a commercial license. No known security vulnerabilities.
Install
pm4py on PyPI
Before you install
Low install friction with a pure-wheel distribution and 12 runtime dependencies that are all well-established scientific packages. Actively maintained with a recent release (4 days old) and steady commit activity.
Requires graphviz system library for visualization; XES log files must be provided as input.
License in practice
Licensed under AGPL-3.0, which requires that any modifications or derivative works be released under the same license and made available to users. Commercial use in closed-source environments requires a separate commercial license from Process Intelligence Solutions.
Quickstart
pip install pm4py
import pm4py
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")
Verify before relying
- Whether all 12 runtime dependencies are truly required for basic usage or if some are optional despite being listed as 'normal requirements'.
- Performance characteristics and scalability limits for large event logs.
- Availability and terms of the commercial license for closed-source use.
Package facts
| License | AGPL 3.0 agpl |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 12 packagesnumpypandasnetworkxgraphvizscipylxmlmatplotlibpytztqdmwheelsetuptoolscvxopt |
| Maintenance | Actively maintained 4 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 120,289 / month, #12,035 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: pm4py-2.7.23.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “process mining python”
- pm4pyPM4Py implements process mining algorithms to discover, analyze, and…
- comment-parserExtracts comments from source code files across multiple programming…
- pdfplumberExtract detailed information about text characters, rectangles,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also civis · SALib · yellowbrick · mlxtend · MetPy · leidenalg · pydotplus · sklearn2pmml · django-viewflow