proto_rs 0.11.12

Rust-first gRPC macros collection for .proto/protobufs managment and more
# 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 = "proto_rs"
version = "0.11.12"
authors = ["Ivan Auwers <vonauwers@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust-first gRPC macros collection for .proto/protobufs managment and more"
homepage = "https://github.com/4r33x/proto_rs"
documentation = "https://docs.rs/proto_rs"
readme = "README.md"
keywords = [
    "grpc",
    "protobufs",
    "proto",
    "tonic",
    "prost",
]
categories = [
    "network-programming",
    "development-tools",
    "development-tools::build-utils",
    "rust-patterns",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/4r33x/proto_rs"

[package.metadata.docs.rs]
all-features = true

[features]
ahash = ["dep:ahash"]
arc_swap = ["dep:arc-swap"]
block_razor = [
    "dep:tokio-stream",
    "tonic",
]
bloxroute = ["tonic"]
build-schemas = ["inventory"]
cache_padded = ["dep:crossbeam-utils"]
chrono = ["dep:chrono"]
default = ["tonic"]
emit-proto-files = ["prosto_derive/emit-proto-files"]
fastnum = ["dep:fastnum"]
jito = [
    "dep:tokio-stream",
    "tonic",
]
next_block = ["tonic"]
no-recursion-limit = []
papaya = ["dep:papaya"]
parking_lot = ["dep:parking_lot"]
solana = [
    "dep:solana-address",
    "dep:solana-instruction-error",
    "dep:solana-keypair",
    "dep:solana-signature",
    "dep:solana-transaction-error",
]
solana_address_hash = [
    "solana",
    "solana-address/rand",
]
stable = ["prosto_derive/stable"]
std_legacy = []
teloxide = ["dep:teloxide-core"]
tonic = [
    "dep:tonic",
    "bytes/std",
    "prosto_derive/tonic",
]

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

[[example]]
name = "complex"
path = "examples/complex.rs"

[[example]]
name = "mutex_wrappers"
path = "examples/mutex_wrappers.rs"

[[example]]
name = "prosto_proto"
path = "examples/prosto_proto.rs"

[[example]]
name = "proto_gen_example"
path = "examples/proto_gen_example.rs"

[[example]]
name = "proto_import_all_from"
path = "examples/proto_import_all_from.rs"

[[example]]
name = "rpc_interceptor"
path = "examples/rpc_interceptor.rs"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[[bench]]
name = "varint"
path = "benches/varint.rs"
harness = false

[dependencies.ahash]
version = "0.8.12"
optional = true

[dependencies.arc-swap]
version = "1.8"
optional = true

[dependencies.bytes]
version = "1.11.0"
default-features = false

[dependencies.chrono]
version = "0.4"
optional = true

[dependencies.const_panic]
version = "0.2.15"
features = [
    "rust_latest_stable",
    "derive",
]

[dependencies.crossbeam-utils]
version = "0.8"
optional = true

[dependencies.fastnum]
version = "0.7.4"
optional = true

[dependencies.inventory]
version = "0.3"
optional = true

[dependencies.papaya]
version = "0.2.3"
optional = true

[dependencies.parking_lot]
version = "0.12"
optional = true

[dependencies.prosto_derive]
version = "0.11.12"

[dependencies.solana-address]
version = "2"
optional = true

[dependencies.solana-instruction-error]
version = "2.1"
optional = true

[dependencies.solana-keypair]
version = "3.1"
optional = true

[dependencies.solana-signature]
version = "3.1"
optional = true

[dependencies.solana-transaction-error]
version = "3.0"
optional = true

[dependencies.teloxide-core]
version = "0.13"
optional = true

[dependencies.tokio-stream]
version = "0.1"
optional = true

[dependencies.tonic]
version = "0.14.2"
optional = true

[dev-dependencies.chrono]
version = "0.4"

[dev-dependencies.criterion]
version = "0.7"

[dev-dependencies.proptest]
version = "1.9"

[dev-dependencies.prost]
version = "0.14"
default-features = false

[dev-dependencies.rand]
version = "0.9"

[dev-dependencies.serde]
version = "1"
features = ["derive"]

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.tokio]
version = "1.49"
features = ["full"]

[dev-dependencies.tokio-stream]
version = "0.1"

[dev-dependencies.tonic]
version = "0.14.2"

[dev-dependencies.tonic-prost]
version = "0.14.2"

[lints.clippy]
await_holding_lock = "deny"
missing_const_for_fn = "warn"
too_many_arguments = "allow"
trivially_copy_pass_by_ref = "warn"
unused_async = "deny"

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

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

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

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

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

[profile.bench]
opt-level = 3
lto = "fat"
codegen-units = 1
incremental = false