dftd3 0.2.2

FFI bindings and wrappers of simple-dftd3
Documentation
[package]
name = "dftd3"
description = "FFI bindings and wrappers of simple-dftd3"
readme = "readme.md"

version.workspace = true
edition.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
license.workspace = true

[dependencies]
derive_builder = { version = "0.20" }
libloading = { version = "0.8", optional = true }
serde = { version = "1.0", features = ["derive"] }
serde-inline-default = "1.0"
serde_json = { version = "1.0", optional = true }
toml = "0.8"

[dev-dependencies]
rstest = { version = "0.25" }
approx = { version = "0.5" }

[features]
# Default feature set
default = ["api-v0_5", "dynamic_loading"]

# geometric counter-poise
gcp = []

# Dynamic library loading support
dynamic_loading = ["dep:libloading"]

# API version features (cumulative)
# Each version enables all functions introduced in that version
# Note: dynamic_loading ignores API version features - all functions are available at runtime
api-v0_2 = []
api-v0_3 = ["api-v0_2"]
api-v0_4 = ["api-v0_3"]
api-v0_5 = ["api-v0_4"]
api-v1_3 = ["api-v0_5", "gcp"]
api-v1_4 = ["api-v1_3"]

# JSON input support for parsing module
json = ["dep:serde_json"]

[package.metadata.docs.rs]
cargo-args = ["-Zunstable-options", "-Zrustdoc-scrape-examples"]
all-features = true

[[example]]
name = "energy_r2scan_d3bj"
doc-scrape-examples = true

[[example]]
name = "energy_r2scan_d3zero"
doc-scrape-examples = true

[[example]]
name = "gradient_r2scan_d3bj"
doc-scrape-examples = true

[[example]]
name = "test_interface"
doc-scrape-examples = true

[[example]]
name = "test_parameters"
doc-scrape-examples = true

[[example]]
name = "test_parsing"
doc-scrape-examples = true