[package]
edition = "2021"
rust-version = "1.88"
name = "process_mining"
version = "0.6.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Process Mining library for working with (object-centric) event data"
homepage = "https://rust4pm.aarkue.eu"
documentation = "https://docs.rs/process_mining/"
readme = "README.md"
keywords = ["process-mining"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/aarkue/rust4pm"
[package.metadata.docs.rs]
features = [
"graphviz-export",
"ocel-sqlite",
"ocel-duckdb-bundled",
"extraction-blueprint",
"extraction-dbcon",
"extraction-dbcon-postgres",
"extraction-dbcon-duckdb-bundled",
"ocel-bundle",
"ocel-bundle-parquet",
"dataframes",
"log-splitting",
"token-based-replay",
"bindings",
]
[features]
all = [
"graphviz-export",
"ocel-sqlite",
"ocel-duckdb-bundled",
"extraction-blueprint",
"extraction-dbcon",
"extraction-dbcon-postgres",
"extraction-dbcon-duckdb-bundled",
"ocel-bundle",
"ocel-bundle-parquet",
"dataframes",
"log-splitting",
"token-based-replay",
"bindings",
]
bindings = [
"dep:inventory",
"dep:base64",
]
dataframes = ["dep:polars"]
extraction-blueprint = ["dep:regex"]
extraction-dbcon = [
"dep:dbcon",
"extraction-blueprint",
"dbcon/sqlite",
"dbcon/csv",
"dbcon/parquet",
"dbcon/xlsx",
]
extraction-dbcon-duckdb = [
"extraction-dbcon",
"dbcon/duckdb",
]
extraction-dbcon-duckdb-bundled = [
"extraction-dbcon-duckdb",
"dbcon/duckdb-bundled",
]
extraction-dbcon-postgres = [
"extraction-dbcon",
"dbcon/postgres",
]
graphviz-export = ["dep:graphviz-rust"]
log-splitting = ["dep:rand"]
ocel-bundle = ["dep:zip"]
ocel-bundle-parquet = [
"ocel-bundle",
"dep:parquet",
"dep:bytes",
]
ocel-duckdb = ["dep:duckdb"]
ocel-duckdb-bundled = [
"ocel-duckdb",
"duckdb/bundled",
]
ocel-sqlite = ["dep:rusqlite"]
token-based-replay = ["dep:nalgebra"]
[lib]
name = "process_mining"
path = "src/lib.rs"
[[example]]
name = "event_log_stats"
path = "examples/event_log_stats.rs"
[[example]]
name = "oc_declare"
path = "examples/oc_declare.rs"
[[example]]
name = "oc_declare_evaluation"
path = "examples/oc_declare_evaluation.rs"
[[example]]
name = "ocel_csv_export"
path = "examples/ocel_csv_export.rs"
[[example]]
name = "ocel_dataset_crosscheck"
path = "examples/ocel_dataset_crosscheck.rs"
required-features = ["ocel-bundle-parquet"]
[[example]]
name = "ocel_duckdb_export"
path = "examples/ocel_duckdb_export.rs"
required-features = ["ocel-duckdb"]
[[example]]
name = "ocel_stats"
path = "examples/ocel_stats.rs"
[[example]]
name = "ocel_stream_to_duckdb"
path = "examples/ocel_stream_to_duckdb.rs"
required-features = ["ocel-duckdb"]
[[example]]
name = "petri_net_import_export"
path = "examples/petri_net_import_export.rs"
[[example]]
name = "process_discovery"
path = "examples/process_discovery.rs"
[[test]]
name = "ocel_bundle"
path = "tests/ocel_bundle.rs"
[[test]]
name = "ocel_roundtrip_edge_cases"
path = "tests/ocel_roundtrip_edge_cases.rs"
[[bench]]
name = "alignments"
path = "benches/alignments.rs"
harness = false
[[bench]]
name = "load_dataframe"
path = "benches/load_dataframe.rs"
harness = false
required-features = ["dataframes"]
[[bench]]
name = "load_dataframe_mem"
path = "benches/load_dataframe_mem.rs"
harness = false
required-features = ["dataframes"]
[[bench]]
name = "load_events"
path = "benches/load_events.rs"
harness = false
[[bench]]
name = "load_events_mem"
path = "benches/load_events_mem.rs"
harness = false
[[bench]]
name = "ocel_import"
path = "benches/ocel_import.rs"
harness = false
required-features = ["ocel-duckdb"]
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.chrono]
version = "0.4.40"
features = ["serde"]
[dependencies.csv]
version = "1.4.0"
[dependencies.dbcon]
version = "0.4.1"
optional = true
[dependencies.duckdb]
version = "1.2.1"
features = ["chrono"]
optional = true
[dependencies.flate2]
version = "1.1.1"
[dependencies.graphviz-rust]
version = "0.9.3"
optional = true
[dependencies.hashbrown]
version = "0.17.1"
[dependencies.inventory]
version = "0.3"
optional = true
[dependencies.itertools]
version = "0.14.0"
[dependencies.macros_process_mining]
version = "0.6.2"
[dependencies.nalgebra]
version = "0.33.2"
optional = true
[dependencies.ordered-float]
version = "5.0.0"
[dependencies.parquet]
version = "58"
features = [
"zstd",
"snap",
]
optional = true
default-features = false
[dependencies.petgraph]
version = "0.8.1"
[dependencies.polars]
version = "0.51.0"
features = [
"dtype-slim",
"timezones",
"partition_by",
]
optional = true
[dependencies.quick-xml]
version = "0.37.4"
[dependencies.rand]
version = "0.9.1"
optional = true
[dependencies.rayon]
version = "1.7.0"
[dependencies.regex]
version = "1.11"
optional = true
[dependencies.rusqlite]
version = "0.38.0"
features = [
"bundled",
"chrono",
"serialize",
"column_decltype",
]
optional = true
[dependencies.rustc-hash]
version = "2.1.2"
[dependencies.schemars]
version = "1.1.0"
features = [
"chrono04",
"uuid1",
]
[dependencies.serde]
version = "1.0.188"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.105"
[dependencies.serde_with]
version = "3.16.0"
features = [
"std",
"macros",
"schemars_1",
]
[dependencies.tempfile]
version = "3"
[dependencies.uuid]
version = "1.16.0"
features = [
"v4",
"serde",
]
[dependencies.zip]
version = "6"
features = ["deflate"]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.5.1"
features = ["html_reports"]
[dev-dependencies.dhat]
version = "0.3.3"