[[bench]]
harness = false
name = "varint"
path = "benches/varint.rs"
[dependencies.arc-swap]
optional = true
version = "1.7.1"
[dependencies.bytes]
default-features = false
version = "1.11.0"
[dependencies.chrono]
optional = true
version = "0.4"
[dependencies.const_panic]
features = ["rust_latest_stable", "derive"]
version = "0.2.15"
[dependencies.crossbeam-utils]
optional = true
version = "0.8"
[dependencies.fastnum]
optional = true
version = "0.7.3"
[dependencies.inventory]
optional = true
version = "0.3"
[dependencies.papaya]
optional = true
version = "0.2.3"
[dependencies.prosto_derive]
version = "0.6.13"
[dependencies.solana-address]
optional = true
version = "2"
[dependencies.solana-instruction-error]
optional = true
version = "2.1"
[dependencies.solana-keypair]
optional = true
version = "3.1"
[dependencies.solana-signature]
optional = true
version = "3.1"
[dependencies.solana-transaction-error]
optional = true
version = "3.0"
[dependencies.tonic]
optional = true
version = "0.14.2"
[dev-dependencies.chrono]
version = "0.4"
[dev-dependencies.criterion]
version = "0.7"
[dev-dependencies.proptest]
version = "1.9"
[dev-dependencies.prost]
default-features = false
version = "0.14"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.serde]
features = ["derive"]
version = "1"
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
features = ["full"]
version = "1.48"
[dev-dependencies.tokio-stream]
version = "0.1"
[dev-dependencies.tonic]
version = "0.14.2"
[dev-dependencies.tonic-prost]
version = "0.14.2"
[[example]]
name = "complex"
path = "examples/complex.rs"
[[example]]
name = "prosto_proto"
path = "examples/prosto_proto.rs"
[[example]]
name = "proto_gen_example"
path = "examples/proto_gen_example.rs"
[features]
arc_swap = ["dep:arc-swap"]
build-schemas = ["inventory"]
cache_padded = ["dep:crossbeam-utils"]
chrono = ["dep:chrono"]
default = ["std", "tonic"]
emit-proto-files = ["prosto_derive/emit-proto-files"]
fastnum = ["dep:fastnum"]
no-recursion-limit = []
papaya = ["dep:papaya"]
solana = ["dep:solana-address", "dep:solana-instruction-error", "dep:solana-keypair", "dep:solana-signature", "dep:solana-transaction-error"]
stable = ["prosto_derive/stable"]
std = ["bytes/std"]
tonic = ["dep:tonic", "bytes/std", "std"]
[lib]
name = "proto_rs"
path = "src/lib.rs"
[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
[package]
authors = ["Ivan Auwers <vonauwers@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "development-tools", "development-tools::build-utils", "rust-patterns"]
description = "Rust-first gRPC macros collection for .proto/protobufs managment and more"
documentation = "https://docs.rs/proto_rs"
edition = "2024"
homepage = "https://github.com/4r33x/proto_rs"
keywords = ["grpc", "protobufs", "proto", "tonic", "prost"]
license = "MIT OR Apache-2.0"
name = "proto_rs"
readme = "README.md"
repository = "https://github.com/4r33x/proto_rs"
version = "0.6.13"
[package.metadata.docs.rs]
all-features = true
[profile.bench]
codegen-units = 1
incremental = false
lto = "fat"
opt-level = 3
[[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 = "map_primitives"
path = "tests/map_primitives.rs"
[[test]]
name = "papaya_roundtrip"
path = "tests/papaya_roundtrip.rs"
[[test]]
name = "rpc_integration"
path = "tests/rpc_integration.rs"
[[test]]
name = "tonic_zero_copy"
path = "tests/tonic_zero_copy.rs"
[[test]]
name = "transparent"
path = "tests/transparent.rs"
[[test]]
name = "validation"
path = "tests/validation.rs"