[package]
edition = "2024"
rust-version = "1.85.0"
name = "openapi-to-rust"
version = "0.1.0"
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"