[package]
edition = "2024"
rust-version = "1.93.1"
name = "treetop-core"
version = "0.0.21"
build = "build.rs"
include = [
"/src/**",
"/benches/**",
"/docs/**",
"/examples/**",
"/testdata/**",
"/Cargo.lock",
"/Cargo.toml",
"/Changelog.md",
"/LICENSE",
"/README.md",
"/RELEASING.md",
"/build.rs",
"/build_support.rs",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core library for Treetop, a Cedar policy engine implementation."
documentation = "https://docs.rs/treetop-core/latest/treetop_core/"
readme = "README.md"
keywords = [
"cedar",
"policy",
"authorization",
"access-control",
]
categories = ["authentication"]
license = "MIT"
repository = "https://github.com/treetop-policy-engine/treetop-core"
[features]
bench-internal = []
default = []
observability = []
[lib]
name = "treetop_core"
path = "src/lib.rs"
[[example]]
name = "opentelemetry_tracing"
path = "examples/opentelemetry_tracing.rs"
required-features = ["observability"]
[[example]]
name = "policy_counter_sink"
path = "examples/policy_counter_sink.rs"
[[example]]
name = "prometheus_sink"
path = "examples/prometheus_sink.rs"
required-features = ["observability"]
[[bench]]
name = "bench_iai_attr_value"
path = "benches/bench_iai_attr_value.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "bench_iai_entity_uid"
path = "benches/bench_iai_entity_uid.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "bench_iai_loader"
path = "benches/bench_iai_loader.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "bench_iai_metrics"
path = "benches/bench_iai_metrics.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "bench_iai_metrics_evaluation"
path = "benches/bench_iai_metrics_evaluation.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "bench_iai_policy_match"
path = "benches/bench_iai_policy_match.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "bench_iai_query"
path = "benches/bench_iai_query.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "bench_iai_timers"
path = "benches/bench_iai_timers.rs"
harness = false
required-features = ["bench-internal"]
[[bench]]
name = "evaluate_criterion_baseline"
path = "benches/evaluate_criterion_baseline.rs"
harness = false
[[bench]]
name = "evaluate_criterion_groups"
path = "benches/evaluate_criterion_groups.rs"
harness = false
[[bench]]
name = "evaluate_criterion_labels"
path = "benches/evaluate_criterion_labels.rs"
harness = false
[[bench]]
name = "evaluate_criterion_namespaced"
path = "benches/evaluate_criterion_namespaced.rs"
harness = false
[[bench]]
name = "evaluate_iai_baseline"
path = "benches/evaluate_iai_baseline.rs"
harness = false
[[bench]]
name = "evaluate_iai_groups"
path = "benches/evaluate_iai_groups.rs"
harness = false
[[bench]]
name = "evaluate_iai_labels"
path = "benches/evaluate_iai_labels.rs"
harness = false
[[bench]]
name = "evaluate_iai_namespaced"
path = "benches/evaluate_iai_namespaced.rs"
harness = false
[dependencies.arc-swap]
version = "1"
[dependencies.cedar-policy]
version = "=4.12.0"
[dependencies.humantime]
version = "2"
[dependencies.regex]
version = "1.12"
[dependencies.serde]
version = "1.0"
features = [
"derive",
"rc",
]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.11"
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
[dependencies.utoipa]
version = "5.4.0"
[dev-dependencies.criterion]
version = "0.8"
[dev-dependencies.gungraun]
version = "0.19.4"
[dev-dependencies.insta]
version = "1"
features = [
"json",
"serde",
"redactions",
]
[dev-dependencies.serial_test]
version = "4"
[dev-dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
]
[dev-dependencies.yare]
version = "3.0"