[package]
edition = "2024"
rust-version = "1.88"
name = "pklr"
version = "2.0.3"
build = false
include = [
"/src/**/*",
"/tests/**/*",
"/Cargo.toml",
"/README.md",
"/LICENSE",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Pure Rust pkl configuration language parser and evaluator"
homepage = "https://github.com/jdx/pklr"
readme = "README.md"
keywords = [
"pkl",
"config",
"parser",
]
categories = [
"config",
"parsing",
]
license = "MIT"
repository = "https://github.com/jdx/pklr"
[features]
async = [
"native-io",
"http",
"dep:tokio",
]
blocking = [
"package-zip-core",
"dep:pollster",
"dep:rustls",
"dep:ureq",
]
default = [
"blocking",
"miette-diagnostics",
]
eval-core = [
"parse",
"dep:async-recursion",
"dep:url",
]
http = [
"eval-core",
"dep:reqwest",
]
miette-diagnostics = ["dep:miette"]
native-io = ["eval-core"]
package-zip = ["package-zip-core"]
package-zip-core = [
"native-io",
"dep:zip",
]
parse = []
[lib]
name = "pklr"
path = "src/lib.rs"
[[test]]
name = "blocking"
path = "tests/blocking.rs"
required-features = ["blocking"]
[[test]]
name = "integration"
path = "tests/integration.rs"
required-features = [
"async",
"package-zip",
]
[[test]]
name = "pkl_features"
path = "tests/pkl_features.rs"
required-features = [
"async",
"package-zip",
]
[dependencies.async-recursion]
version = "1"
optional = true
[dependencies.indexmap]
version = "2"
[dependencies.miette]
version = "7"
features = ["derive"]
optional = true
[dependencies.pollster]
version = "1"
optional = true
[dependencies.reqwest]
version = "0.13"
features = ["rustls"]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"aws-lc-rs",
"tls12",
]
optional = true
default-features = false
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"fs",
"rt",
]
optional = true
[dependencies.ureq]
version = "3"
features = [
"platform-verifier",
"rustls-no-provider",
]
optional = true
default-features = false
[dependencies.url]
version = "2"
optional = true
[dependencies.zip]
version = "8"
features = ["deflate"]
optional = true
default-features = false
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
]
[profile.dev]
debug = 1