typeway 0.1.0

Type-level web framework for Rust: your API is a type
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.88"
name = "typeway"
version = "0.1.0"
authors = ["Josh Burgess"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Type-level web framework for Rust: your API is a type"
homepage = "https://github.com/joshburgess/typeway"
documentation = "https://docs.rs/typeway"
readme = "README.md"
keywords = [
    "web",
    "framework",
    "type-level",
    "openapi",
    "grpc",
]
categories = [
    "web-programming",
    "web-programming::http-server",
    "asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/joshburgess/typeway"

[features]
axum-interop = [
    "server",
    "typeway-server/axum-interop",
]
client = ["dep:typeway-client"]
default = ["server"]
full = [
    "server",
    "client",
    "openapi",
    "grpc",
]
grpc = [
    "server",
    "typeway-server/grpc",
    "dep:typeway-grpc",
]
openapi = [
    "dep:typeway-openapi",
    "typeway-server?/openapi",
]
protobuf = [
    "grpc",
    "typeway-server/protobuf",
    "dep:typeway-protobuf",
]
server = ["dep:typeway-server"]

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

[[example]]
name = "client_server"
path = "examples/client_server.rs"
required-features = ["full"]

[[example]]
name = "grpc"
path = "examples/grpc.rs"
required-features = ["grpc"]

[[example]]
name = "hello_world"
path = "examples/hello_world.rs"
required-features = ["server"]

[[example]]
name = "users_api"
path = "examples/users_api.rs"
required-features = ["server"]

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

[[test]]
name = "compile_errors"
path = "tests/compile_errors.rs"
required-features = ["full"]

[[bench]]
name = "codec"
path = "benches/codec.rs"
harness = false
required-features = ["grpc"]

[[bench]]
name = "dispatch"
path = "benches/dispatch.rs"
harness = false
required-features = ["server"]

[[bench]]
name = "grpc_e2e"
path = "benches/grpc_e2e.rs"
harness = false
required-features = ["protobuf"]

[[bench]]
name = "routing"
path = "benches/routing.rs"
harness = false
required-features = [
    "server",
    "axum-interop",
]

[dependencies.http]
version = "1"

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

[dependencies.serde_json]
version = "1"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.typeway-client]
version = "0.1.0"
optional = true

[dependencies.typeway-core]
version = "0.1.0"

[dependencies.typeway-grpc]
version = "0.1.0"
optional = true

[dependencies.typeway-macros]
version = "0.1.0"

[dependencies.typeway-openapi]
version = "0.1.0"
optional = true

[dependencies.typeway-protobuf]
version = "0.1.0"
optional = true

[dependencies.typeway-server]
version = "0.1.0"
optional = true

[dev-dependencies.async-trait]
version = "0.1"

[dev-dependencies.axum]
version = "0.8"

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

[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]

[dev-dependencies.http-body-util]
version = "0.1"

[dev-dependencies.hyper]
version = "1"
features = ["full"]

[dev-dependencies.hyper-util]
version = "0.1"
features = [
    "tokio",
    "service",
]

[dev-dependencies.prost]
version = "0.13"

[dev-dependencies.reqwest]
version = "0.12"
features = ["json"]

[dev-dependencies.tokio]
version = "1"
features = [
    "full",
    "test-util",
]

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

[dev-dependencies.tonic]
version = "0.12"
features = ["transport"]

[dev-dependencies.tower]
version = "0.5"
features = ["util"]

[dev-dependencies.tower-service]
version = "0.3"

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

[lints.clippy]
upper_case_acronyms = "allow"