draft: default to httpx2 - #1461
s-sajid-ali wants to merge 4 commits into
Conversation
2ec5db8 to
60f98e9
Compare
|
Split the commit to exclude the changes to |
|
@s-sajid-ali Per discussion here Would you be willing to modify this PR to target only |
|
Sure, it should be much easier to move everything over to |
new file: .changeset/default_to_httpx2.md modified: end_to_end_tests/functional_tests/generated_code_execution/test_path_parameters.py modified: end_to_end_tests/golden-records/docstrings-on-attributes-golden-record/README.md modified: end_to_end_tests/golden-records/docstrings-on-attributes-golden-record/my_test_api_client/client.py modified: end_to_end_tests/golden-records/docstrings-on-attributes-golden-record/my_test_api_client/types.py modified: end_to_end_tests/golden-records/docstrings-on-attributes-golden-record/pyproject.toml modified: end_to_end_tests/golden-records/escapes-client/README.md modified: end_to_end_tests/golden-records/escapes-client/escapes_client/api/default/get_weird_responses.py modified: end_to_end_tests/golden-records/escapes-client/escapes_client/api/default/misc_metadata_escapes.py modified: end_to_end_tests/golden-records/escapes-client/escapes_client/api/default/non_string_example.py modified: end_to_end_tests/golden-records/escapes-client/escapes_client/api/default/property_escapes.py modified: end_to_end_tests/golden-records/escapes-client/escapes_client/api/printtag_escape/with_braces_path.py modified: end_to_end_tests/golden-records/escapes-client/escapes_client/client.py modified: end_to_end_tests/golden-records/escapes-client/escapes_client/types.py modified: end_to_end_tests/golden-records/escapes-client/pyproject.toml modified: end_to_end_tests/golden-records/my-enum-api-client/README.md modified: end_to_end_tests/golden-records/my-enum-api-client/my_enum_api_client/api/enums/bool_enum_tests_bool_enum_post.py modified: end_to_end_tests/golden-records/my-enum-api-client/my_enum_api_client/api/enums/int_enum_tests_int_enum_post.py modified: end_to_end_tests/golden-records/my-enum-api-client/my_enum_api_client/api/tests/get_user_list.py modified: end_to_end_tests/golden-records/my-enum-api-client/my_enum_api_client/api/tests/post_user_list.py modified: end_to_end_tests/golden-records/my-enum-api-client/my_enum_api_client/client.py modified: end_to_end_tests/golden-records/my-enum-api-client/my_enum_api_client/types.py modified: end_to_end_tests/golden-records/my-enum-api-client/pyproject.toml modified: end_to_end_tests/golden-records/my-test-api-client/README.md modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/bodies/json_like.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/bodies/optional_body.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/bodies/post_bodies_multiple.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/bodies/refs.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/config/content_type_override.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/default/get_common_parameters.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/default/get_models_allof.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/default/get_models_oneof_with_required_const.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/default/post_common_parameters.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/default/post_types_unions_duplicate_types.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/default/reserved_parameters.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/defaults/defaults_tests_defaults_post.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/enums/bool_enum_tests_bool_enum_post.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/enums/int_enum_tests_int_enum_post.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/location/get_location_header_types.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/location/get_location_query_optionality.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/naming/hyphen_in_path.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/naming/mixed_case.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/naming/post_naming_property_conflict_with_import.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/parameter_references/get_parameter_references_path_param.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/parameters/delete_common_parameters_overriding_param.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/parameters/get_common_parameters_overriding_param.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/parameters/get_same_name_multiple_locations_param.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/parameters/multiple_path_parameters.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/responses/default_status_code.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/responses/post_responses_unions_simple_before_complex.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/responses/reference_response.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/responses/status_code_patterns.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/responses/status_code_precedence.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/responses/text_response.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tag1/get_tag_with_number.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tag2/get_tag_with_number.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/callback_test.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/description_with_backslash.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/get_basic_list_of_booleans.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/get_basic_list_of_floats.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/get_basic_list_of_integers.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/get_basic_list_of_strings.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/get_user_list.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/json_body_tests_json_body_post.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/no_response_tests_no_response_get.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/octet_stream_tests_octet_stream_get.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/octet_stream_tests_octet_stream_post.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/post_form_data.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/post_form_data_inline.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/post_tests_json_body_string.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/test_inline_objects.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/token_with_cookie_auth_token_with_cookie_get.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/unsupported_content_tests_unsupported_content_get.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/tests/upload_file_tests_upload_post.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/api/true_/false_.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/client.py modified: end_to_end_tests/golden-records/my-test-api-client/my_test_api_client/types.py modified: end_to_end_tests/golden-records/my-test-api-client/pyproject.toml modified: end_to_end_tests/golden-records/test-3-1-features-client/README.md modified: end_to_end_tests/golden-records/test-3-1-features-client/pyproject.toml modified: end_to_end_tests/golden-records/test-3-1-features-client/test_3_1_features_client/api/const/post_const_path.py modified: end_to_end_tests/golden-records/test-3-1-features-client/test_3_1_features_client/api/prefix_items/post_prefix_items.py modified: end_to_end_tests/golden-records/test-3-1-features-client/test_3_1_features_client/client.py modified: end_to_end_tests/golden-records/test-3-1-features-client/test_3_1_features_client/types.py modified: end_to_end_tests/metadata_snapshots/pdm.pyproject.toml modified: end_to_end_tests/metadata_snapshots/poetry.pyproject.toml modified: end_to_end_tests/metadata_snapshots/setup.py modified: end_to_end_tests/metadata_snapshots/uv.pyproject.toml modified: integration-tests/README.md modified: integration-tests/integration_tests/api/body/post_body_multipart.py modified: integration-tests/integration_tests/api/parameters/post_parameters_header.py modified: integration-tests/integration_tests/client.py modified: integration-tests/integration_tests/types.py modified: integration-tests/pyproject.toml modified: integration-tests/tests/test_api/test_body/test_post_body_multipart.py modified: openapi_python_client/__init__.py modified: openapi_python_client/parser/responses.py modified: openapi_python_client/templates/README.md.jinja modified: openapi_python_client/templates/client.py.jinja modified: openapi_python_client/templates/endpoint_macros.py.jinja modified: openapi_python_client/templates/endpoint_module.py.jinja modified: openapi_python_client/templates/pyproject_pdm.toml.jinja modified: openapi_python_client/templates/pyproject_poetry.toml.jinja modified: openapi_python_client/templates/pyproject_uv.toml.jinja modified: openapi_python_client/templates/setup.py.jinja modified: openapi_python_client/templates/types.py.jinja modified: pyproject.toml
modified: integration-tests/pdm.lock modified: integration-tests/pdm.minimal.lock modified: pdm.lock modified: pdm.minimal.lock
60f98e9 to
182ab12
Compare
…0, h/t to codex for finding this issue
|
Updated to only use httpx2 and ready for another review. This now includes breaking API changes as noted in the changeset:
Since this is a major version change that breaks with |
This PR assumes that the deprecation of generating clients with
httpxis imminent and updates all golden records to usehttpx2instead. This leaves the client generation process with legacyhttpxuntested. This will cause issues whenhttpx2introduces breaking changes and it is assumed that the option to usehttpxwill be removed by that time.Additionally, this leaves the generated method
get_httpx_clientas is, preferring to update it toget_httpx2_clientwhen support forhttpxis removed.