[package]
name = "grabapl"
version = "0.0.4"
edition = "2024"
license = { workspace = true }
authors = { workspace = true }
description = "A library for graph-based programming languages, with pluggable type systems and a focus on visible intermediate states."
categories = ["compilers", "development-tools"]
documentation = "https://docs.rs/grabapl"
exclude = ["docs"]
[lib]
name = "grabapl"
[dependencies]
petgraph = { git = "https://github.com/skius/petgraph.git", branch = "partial_isos", features = ["serde-1"], version = "0.0.0", package = "grabapl_temp_petgraph_crate_not_namesquatting_i_promise" }
derive_more = { version = "2.0.1", features = ["from", "into", "try_from", "try_into", "debug", "add", "add_assign"]}
thiserror = "2.0.12"
internment = "0.8.6"
log_crate = { version = "0.4", optional = true, package = "log" }
error-stack = "0.5.0"
serde = { version = "1.0", features = ["derive", "std"], optional = true }
serde_json_any_key = { version = "2.0.0", optional = true }
[dev-dependencies]
criterion = "0.5.1"
proptest = "1.7.0"
rand = "0.9.1"
test-log = { version = "0.2", features = ["unstable"] }
serde_json = "1.0"
syntax = { path = "../syntax", package = "grabapl_syntax" }
chumsky = "0.10.1"
[features]
default = ["log", "serde"]
log = ["dep:log_crate"]
serde = ["dep:serde", "dep:serde_json_any_key"]
[[bench]]
name = "isomorphism_find_single_node"
harness = false
[[bench]]
name = "isomorphism_2"
harness = false
[[example]]
name = "isomorphisms_partial"
path = "examples/isomorphisms_partial.rs"