bytehound-opc-da-client 0.2.8

Backend-agnostic OPC DA client library for Rust — async, trait-based, with transparent COM management
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.88.0"
name = "bytehound-opc-da-client"
version = "0.2.8"
authors = ["Wendell Saligan <saliganw@gmail.com>"]
build = false
exclude = [
    ".winmd/",
    "architecture.md",
    "spec.md",
    "rewrite.py",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Backend-agnostic OPC DA client library for Rust — async, trait-based, with transparent COM management"
homepage = "https://github.com/bytehound-labs/opc-cli"
readme = "README.md"
keywords = [
    "opc",
    "opc-da",
    "windows",
    "automation",
    "scada",
]
categories = [
    "api-bindings",
    "network-programming",
]
license = "MIT"
repository = "https://github.com/bytehound-labs/opc-cli"
resolver = "2"

[package.metadata.docs.rs]
default-target = "x86_64-pc-windows-msvc"
targets = ["x86_64-pc-windows-msvc"]
all-features = true

[features]
default = ["opc-da-backend"]
dev-diagnostics = []
opc-da-backend = []
test-support = ["dep:mockall"]

[lib]
name = "opc_da_client"
path = "src/lib.rs"

[dependencies.anyhow]
version = "1.0.95"

[dependencies.async-trait]
version = "0.1.86"

[dependencies.chrono]
version = "0.4.43"

[dependencies.mockall]
version = "0.13.1"
optional = true

[dependencies.thiserror]
version = "2.0"

[dependencies.tokio]
version = "1.43.0"
features = [
    "rt",
    "rt-multi-thread",
    "sync",
    "macros",
]

[dependencies.tracing]
version = "0.1.41"

[dependencies.uuid]
version = "1.18.1"
features = ["v4"]

[dependencies.windows]
version = "0.61.3"
features = [
    "Win32_Foundation",
    "Win32_Graphics_Gdi",
    "Win32_Security",
    "Win32_System_Com",
    "Win32_System_Com_StructuredStorage",
    "Win32_System_Ole",
    "Win32_System_Variant",
    "Win32_System_WinRT",
]

[dependencies.windows-core]
version = "0.61.2"

[lints.clippy]
doc_markdown = "allow"
if_not_else = "allow"
items_after_statements = "allow"
missing_const_for_fn = "allow"
missing_errors_doc = "allow"
module_name_repetitions = "allow"
multiple_crate_versions = "allow"
must_use_candidate = "allow"
option_if_let_else = "allow"
redundant_feature_names = "allow"
single_match_else = "allow"
undocumented_unsafe_blocks = "deny"
uninlined_format_args = "allow"

[lints.clippy.all]
level = "deny"
priority = -1

[lints.clippy.cargo]
level = "warn"
priority = -1

[lints.clippy.nursery]
level = "warn"
priority = -1

[lints.clippy.pedantic]
level = "warn"
priority = -2

[lints.rust]
unreachable_pub = "allow"
unsafe_code = "allow"
unused_imports = "warn"