provenant-cli 0.0.20

Rust-based ScanCode-compatible scanner for licenses, package metadata, SBOMs, and provenance data.
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"
name = "provenant-cli"
version = "0.0.20"
build = "build.rs"
include = [
    "src/**/*",
    "!src/**/*_test.rs",
    "!src/**/test.rs",
    "!src/**/tests.rs",
    "!src/**/*_tests.rs",
    "!src/**/*test_utils.rs",
    "!src/**/test_fixtures.rs",
    "/build.rs",
    "/resources/license_detection/license_index.zst",
    "/resources/license_detection/index_build_policy.toml",
    "/resources/license_detection/overlay/**/*",
    "/resources/license_detection/legalese_data.txt",
    "/Cargo.toml",
    "/Cargo.lock",
    "/ACKNOWLEDGEMENTS.md",
    "/README.md",
    "/CITATION.cff",
    "/LICENSE",
    "/NOTICE",
    "/SECURITY.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust-based ScanCode-compatible scanner for licenses, package metadata, SBOMs, and provenance data."
homepage = "https://github.com/mstykow/provenant"
documentation = "https://github.com/mstykow/provenant/blob/main/docs/DOCUMENTATION_INDEX.md"
readme = "README.md"
keywords = [
    "scancode",
    "sbom",
    "license",
    "provenance",
    "compliance",
]
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "Apache-2.0"
repository = "https://github.com/mstykow/provenant"

[package.metadata.cargo-machete]
ignored = [
    "md-5",
    "kamadak-exif",
]

[package.metadata.release]
sign-tag = true
push = true
pre-release-commit-message = "chore: release"
pre-release-hook = [
    "cargo",
    "generate-lockfile",
]
tag-message = "Release v{{version}}"
publish = true

[[package.metadata.release.pre-release-replacements]]
file = "CITATION.cff"
search = '^version: ".*"$'
replace = 'version: "{{version}}"'

[features]
default = ["rpm-sqlite"]
golden-tests = []
rpm-sqlite = ["dep:rusqlite"]

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

[[bin]]
name = "provenant"
path = "src/bin/provenant.rs"

[dependencies.anyhow]
version = "1.0.102"

[dependencies.ar]
version = "0.9"

[dependencies.base64]
version = "0.22.1"

[dependencies.bit-set]
version = "0.10.0"

[dependencies.bzip2]
version = "0.6.1"

[dependencies.chrono]
version = "0.4.44"

[dependencies.clap]
version = "4.6.0"
features = ["derive"]

[dependencies.csv]
version = "1.4.0"

[dependencies.daachorse]
version = "2.0.0"

[dependencies.derive_builder]
version = "0.20.2"

[dependencies.directories]
version = "6.0.0"

[dependencies.env_logger]
version = "0.11.10"

[dependencies.fd-lock]
version = "4.0.4"

[dependencies.file-format]
version = "0.29.0"
features = [
    "reader",
    "reader-txt",
    "reader-xml",
    "reader-zip",
]

[dependencies.file-identify]
version = "0.4.0"

[dependencies.flate2]
version = "1.1.9"

[dependencies.glob]
version = "0.3.3"

[dependencies.hex]
version = "0.4.3"

[dependencies.image]
version = "0.25.10"
features = [
    "jpeg",
    "png",
    "tiff",
    "webp",
]
default-features = false

[dependencies.indicatif]
version = "0.18.4"

[dependencies.indicatif-log-bridge]
version = "0.2.3"

[dependencies.inventory]
version = "0.3.24"

[dependencies.json5]
version = "1.3.1"

[dependencies.kamadak-exif]
version = "0.6.1"

[dependencies.liblzma]
version = "0.4.6"

[dependencies.log]
version = "0.4.29"

[dependencies.md-5]
version = "0.11.0"

[dependencies.mime_guess]
version = "2.0.5"

[dependencies.object]
version = "0.39.0"
features = [
    "read_core",
    "elf",
    "macho",
    "pe",
]
default-features = false

[dependencies.os_info]
version = "3.14.0"

[dependencies.packageurl]
version = "0.6.0"

[dependencies.pdf_oxide]
version = "0.3.30"

[dependencies.pep508_rs]
version = "0.9.2"

[dependencies.postcard]
version = "1.1.3"
features = ["alloc"]
default-features = false

[dependencies.quick-xml]
version = "0.39.2"

[dependencies.rancor]
version = "0.1.1"

[dependencies.rayon]
version = "1.12.0"

[dependencies.regex]
version = "1.12.3"

[dependencies.rkyv]
version = "0.8.15"
features = ["smallvec-1"]

[dependencies.rpm]
version = "0.20.0"
features = [
    "gzip-compression",
    "xz-compression",
    "zstd-compression",
    "bzip2-compression",
]
default-features = false

[dependencies.ruff_python_ast]
version = "0.15.8"
package = "rustpython-ruff_python_ast"

[dependencies.ruff_python_parser]
version = "0.15.8"
package = "rustpython-ruff_python_parser"

[dependencies.rusqlite]
version = "0.39.0"
features = ["bundled"]
optional = true

[dependencies.rustc_version_runtime]
version = "0.3.0"

[dependencies.serde]
version = "1.0.228"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.149"
features = ["preserve_order"]

[dependencies.sha1]
version = "0.11.0"

[dependencies.sha2]
version = "0.11.0"

[dependencies.smallvec]
version = "1.15.1"
features = ["write"]

[dependencies.starlark_syntax]
version = "0.13.0"

[dependencies.strum]
version = "0.28.0"
features = ["derive"]

[dependencies.tar]
version = "0.4.45"

[dependencies.tempfile]
version = "3.27.0"

[dependencies.tera]
version = "1.20.1"
default-features = false

[dependencies.toml]
version = "1.1.2"

[dependencies.ttf-parser]
version = "0.25.1"

[dependencies.url]
version = "2.5.8"

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

[dependencies.yaml_serde]
version = "0.10.4"

[dependencies.zip]
version = "8.5.1"

[dependencies.zstd]
version = "0.13.3"

[dev-dependencies]

[build-dependencies.rkyv]
version = "0.8.15"

[lints.clippy]
cast_lossless = "warn"
cast_sign_loss = "warn"
checked_conversions = "warn"
clone_on_ref_ptr = "warn"
cloned_instead_of_copied = "warn"
filetype_is_file = "warn"

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

[profile.profiling]
debug = 2
inherits = "release"
strip = false

[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true