g2g-python 0.6.0

Host gst-python-ml elements as first-class glass2glass elements (embedded CPython via pyo3).
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 = "2021"
rust-version = "1.92"
name = "g2g-python"
version = "0.6.0"
authors = ["Aaron Boxer <boxerab@protonmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Host gst-python-ml elements as first-class glass2glass elements (embedded CPython via pyo3)."
readme = "README.md"
keywords = [
    "multimedia",
    "python",
    "pyo3",
    "inference",
    "video",
]
categories = [
    "multimedia",
    "api-bindings",
]
license = "MPL-2.0"
repository = "https://github.com/boxerab/glass2glass"

[package.metadata.docs.rs]
features = ["std"]

[features]
analytics = [
    "python",
    "g2g-core/metadata",
]
default = ["std"]
launch = [
    "analytics",
    "dep:tokio",
    "dep:g2g-plugins",
    "g2g-plugins/ffmpeg",
    "g2g-plugins/v4l2",
    "g2g-plugins/wayland-sink",
    "g2g-plugins/analytics",
    "g2g-plugins/pulse-src",
    "g2g-plugins/pulse-sink",
]
ml = [
    "launch",
    "dep:g2g-ml",
    "g2g-ml/launch",
    "g2g-ml/ort",
    "g2g-ml/analytics",
]
ml-cuda = [
    "ml",
    "g2g-ml/cuda",
]
python = [
    "std",
    "dep:pyo3",
]
std = [
    "g2g-core/std",
    "g2g-core/runtime",
]

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

[[bin]]
name = "g2g-launch-py"
path = "src/bin/g2g-launch-py.rs"
required-features = ["launch"]

[[test]]
name = "m1013_torch_device_ordinal"
path = "tests/m1013_torch_device_ordinal.rs"

[[test]]
name = "m1028_yolo_tracking_e2e"
path = "tests/m1028_yolo_tracking_e2e.rs"

[[test]]
name = "m1031_aggregator_output_caps"
path = "tests/m1031_aggregator_output_caps.rs"

[[test]]
name = "m1032_payload_jobs"
path = "tests/m1032_payload_jobs.rs"

[[test]]
name = "m1033_payload_transform"
path = "tests/m1033_payload_transform.rs"

[[test]]
name = "m198_aggregator"
path = "tests/m198_aggregator.rs"

[[test]]
name = "m198_analytics"
path = "tests/m198_analytics.rs"

[[test]]
name = "m198_buffer_retention"
path = "tests/m198_buffer_retention.rs"

[[test]]
name = "m198_python_path"
path = "tests/m198_python_path.rs"

[[test]]
name = "m198_registry"
path = "tests/m198_registry.rs"

[[test]]
name = "m198_skeleton"
path = "tests/m198_skeleton.rs"

[[test]]
name = "m198_source"
path = "tests/m198_source.rs"

[[test]]
name = "m321_property_forwarding"
path = "tests/m321_property_forwarding.rs"

[[test]]
name = "m322_objectdetector_e2e"
path = "tests/m322_objectdetector_e2e.rs"

[[test]]
name = "m356_metasink_threadsafe"
path = "tests/m356_metasink_threadsafe.rs"

[[test]]
name = "m921_blob_registry"
path = "tests/m921_blob_registry.rs"

[[test]]
name = "m984_cuda_zerocopy"
path = "tests/m984_cuda_zerocopy.rs"

[[test]]
name = "m985_domain_declaration"
path = "tests/m985_domain_declaration.rs"

[[test]]
name = "m986_cuda_batch_source_dlpack"
path = "tests/m986_cuda_batch_source_dlpack.rs"

[[test]]
name = "m988_gil_offload"
path = "tests/m988_gil_offload.rs"

[dependencies.g2g-core]
version = "0.6.0"
default-features = false

[dependencies.g2g-ml]
version = "0.6.0"
optional = true
default-features = false

[dependencies.g2g-plugins]
version = "0.6.0"
optional = true

[dependencies.pyo3]
version = "0.26"
features = ["auto-initialize"]
optional = true

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "macros",
    "time",
]
optional = true

[dev-dependencies.g2g-plugins]
version = "0.6.0"
features = ["std"]

[dev-dependencies.tokio]
version = "1"
features = [
    "rt",
    "macros",
]

[lints.clippy]
undocumented_unsafe_blocks = "warn"

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

[lints.rust]
missing_debug_implementations = "deny"
unreachable_pub = "deny"
unsafe_op_in_unsafe_fn = "deny"

[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = [
    "cfg(fuzzing)",
    "cfg(loom)",
]

[lints.rust.warnings]
level = "deny"
priority = -1