openapi-to-rust 0.1.1

Generate strongly-typed Rust structs, HTTP clients, and SSE streaming clients from OpenAPI 3.1 specifications
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 = "2024"
rust-version = "1.85.0"
name = "openapi-to-rust"
version = "0.1.1"
authors = ["James Lalonde"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Generate strongly-typed Rust structs, HTTP clients, and SSE streaming clients from OpenAPI 3.1 specifications"
homepage = "https://github.com/gpu-cli/openapi-to-rust"
readme = "README.md"
keywords = [
    "openapi",
    "codegen",
    "rust",
    "sse",
    "api-client",
]
categories = [
    "development-tools",
    "web-programming",
]
license = "MIT"
repository = "https://github.com/gpu-cli/openapi-to-rust"

[features]
specta = ["dep:specta"]

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

[[bin]]
name = "openapi-to-rust"
path = "src/bin/openapi-to-rust.rs"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[dependencies.clap]
version = "4.5"
features = ["derive"]

[dependencies.heck]
version = "0.5"

[dependencies.insta]
version = "1.41"
features = ["yaml"]

[dependencies.once_cell]
version = "1.19"

[dependencies.prettyplease]
version = "0.2"

[dependencies.proc-macro2]
version = "1.0"

[dependencies.quote]
version = "1.0"

[dependencies.reqwest]
version = "0.11"
features = [
    "json",
    "blocking",
    "stream",
]

[dependencies.reqwest-middleware]
version = "0.4"

[dependencies.reqwest-retry]
version = "0.7"

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

[dependencies.serde_json]
version = "1.0"

[dependencies.serde_yaml]
version = "0.9"

[dependencies.specta]
version = "2.0.0-rc"
features = ["derive"]
optional = true

[dependencies.syn]
version = "2.0"
features = ["parsing"]

[dependencies.tempfile]
version = "3.0"

[dependencies.thiserror]
version = "1.0"

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

[dependencies.toml]
version = "0.8"

[dependencies.url]
version = "2.5"

[dependencies.validator]
version = "0.20"
features = ["derive"]

[dev-dependencies.insta]
version = "1.41"
features = ["yaml"]

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

[lints.clippy]
expect_used = "warn"
unwrap_used = "deny"