[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