onebusaway 1.11.0__tar.gz → 1.12.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- onebusaway-1.12.0/.release-please-manifest.json +3 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/CHANGELOG.md +21 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/CONTRIBUTING.md +1 -2
- {onebusaway-1.11.0 → onebusaway-1.12.0}/PKG-INFO +1 -1
- {onebusaway-1.11.0 → onebusaway-1.12.0}/SECURITY.md +2 -2
- {onebusaway-1.11.0 → onebusaway-1.12.0}/pyproject.toml +1 -1
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_base_client.py +6 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_models.py +2 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_types.py +2 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_version.py +1 -1
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_client.py +54 -0
- onebusaway-1.11.0/.release-please-manifest.json +0 -3
- {onebusaway-1.11.0 → onebusaway-1.12.0}/.gitignore +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/LICENSE +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/README.md +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/api.md +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/bin/check-release-environment +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/bin/publish-pypi +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/.env.example +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/.keep +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/README.md +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/agencies_with_coverage.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/arrivals_and_departures_for_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/block.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/config.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/current_time.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/helpers/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/helpers/load_env.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/routes_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/routes_ids_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/schedule_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/schedule_for_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/search_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/search_for_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/shape.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/stop_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/stop_ids_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/stops_for_location.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/trip.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/trip_details.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/examples/vehicles_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/mypy.ini +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/noxfile.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/release-please-config.json +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/requirements-dev.lock +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/requirements.lock +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_client.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_compat.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_constants.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_exceptions.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_files.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_qs.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_resource.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_streaming.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_logs.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_proxy.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_reflection.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_resources_proxy.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_streams.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_sync.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_transform.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_typing.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/_utils/_utils.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/lib/.keep +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/py.typed +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/agencies_with_coverage.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/arrival_and_departure.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/block.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/config.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/current_time.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/report_problem_with_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/report_problem_with_trip.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/route_ids_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/routes_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/routes_for_location.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/schedule_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/schedule_for_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/search_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/search_for_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/shape.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/stop_ids_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/stops_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/stops_for_location.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/stops_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/trip.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/trip_details.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/trip_for_vehicle.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/trips_for_location.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/trips_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/vehicles_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/agencies_with_coverage_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/agency_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/arrival_and_departure_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/arrival_and_departure_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/arrival_and_departure_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/arrival_and_departure_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/block_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/config_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/current_time_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/report_problem_with_stop_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/report_problem_with_trip_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/route_ids_for_agency_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/route_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/routes_for_agency_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/routes_for_location_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/routes_for_location_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_route_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_route_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_stop_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_stop_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_stop_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_stop_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_stop_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_stop_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/shape_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/shared/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/shared/references.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/shared/response_wrapper.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stop_ids_for_agency_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stop_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_agency_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_location_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_location_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_route_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_route_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_detail_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_detail_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_for_vehicle_retrieve_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_for_vehicle_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_retrieve_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trips_for_location_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trips_for_location_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trips_for_route_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trips_for_route_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/vehicles_for_agency_list_params.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/vehicles_for_agency_list_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/src/open_transit/lib/.keep +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/__init__.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_agencies_with_coverage.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_arrival_and_departure.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_block.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_config.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_current_time.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_report_problem_with_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_report_problem_with_trip.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_route_ids_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_routes_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_routes_for_location.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_schedule_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_schedule_for_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_search_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_search_for_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_shape.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_stop.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_stop_ids_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_stops_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_stops_for_location.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_stops_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_trip.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_trip_details.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_trip_for_vehicle.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_trips_for_location.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_trips_for_route.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_vehicles_for_agency.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/conftest.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/sample_file.txt +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_deepcopy.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_extract_files.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_files.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_models.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_qs.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_required_args.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_response.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_streaming.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_transform.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_utils/test_proxy.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/test_utils/test_typing.py +0 -0
- {onebusaway-1.11.0 → onebusaway-1.12.0}/tests/utils.py +0 -0
@@ -1,5 +1,26 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
+
## 1.12.0 (2025-06-03)
|
4
|
+
|
5
|
+
Full Changelog: [v1.11.1...v1.12.0](https://github.com/OneBusAway/python-sdk/compare/v1.11.1...v1.12.0)
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* **client:** add follow_redirects request option ([569c63a](https://github.com/OneBusAway/python-sdk/commit/569c63a79d7d69d4e7f54466860e462114385db9))
|
10
|
+
|
11
|
+
|
12
|
+
### Chores
|
13
|
+
|
14
|
+
* **docs:** remove reference to rye shell ([064f5b8](https://github.com/OneBusAway/python-sdk/commit/064f5b86a6b67b49431886f2892cdfb6cd221e8a))
|
15
|
+
|
16
|
+
## 1.11.1 (2025-05-22)
|
17
|
+
|
18
|
+
Full Changelog: [v1.11.0...v1.11.1](https://github.com/OneBusAway/python-sdk/compare/v1.11.0...v1.11.1)
|
19
|
+
|
20
|
+
### Chores
|
21
|
+
|
22
|
+
* **docs:** grammar improvements ([052af65](https://github.com/OneBusAway/python-sdk/commit/052af65693c380484e4e920b4a831c52b4345daa))
|
23
|
+
|
3
24
|
## 1.11.0 (2025-05-20)
|
4
25
|
|
5
26
|
Full Changelog: [v1.10.0...v1.11.0](https://github.com/OneBusAway/python-sdk/compare/v1.10.0...v1.11.0)
|
@@ -17,8 +17,7 @@ $ rye sync --all-features
|
|
17
17
|
You can then run scripts using `rye run python script.py` or by activating the virtual environment:
|
18
18
|
|
19
19
|
```sh
|
20
|
-
|
21
|
-
# or manually activate - https://docs.python.org/3/library/venv.html#how-venvs-work
|
20
|
+
# Activate the virtual environment - https://docs.python.org/3/library/venv.html#how-venvs-work
|
22
21
|
$ source .venv/bin/activate
|
23
22
|
|
24
23
|
# now you can omit the `rye run` prefix
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: onebusaway
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.12.0
|
4
4
|
Summary: The official Python library for the onebusaway-sdk API
|
5
5
|
Project-URL: Homepage, https://github.com/OneBusAway/python-sdk
|
6
6
|
Project-URL: Repository, https://github.com/OneBusAway/python-sdk
|
@@ -16,11 +16,11 @@ before making any information public.
|
|
16
16
|
## Reporting Non-SDK Related Security Issues
|
17
17
|
|
18
18
|
If you encounter security issues that are not directly related to SDKs but pertain to the services
|
19
|
-
or products provided by Onebusaway SDK please follow the respective company's security reporting guidelines.
|
19
|
+
or products provided by Onebusaway SDK, please follow the respective company's security reporting guidelines.
|
20
20
|
|
21
21
|
### Onebusaway SDK Terms and Policies
|
22
22
|
|
23
|
-
Please contact info@onebusaway.org for any questions or concerns regarding security of our services.
|
23
|
+
Please contact info@onebusaway.org for any questions or concerns regarding the security of our services.
|
24
24
|
|
25
25
|
---
|
26
26
|
|
@@ -960,6 +960,9 @@ class SyncAPIClient(BaseClient[httpx.Client, Stream[Any]]):
|
|
960
960
|
if self.custom_auth is not None:
|
961
961
|
kwargs["auth"] = self.custom_auth
|
962
962
|
|
963
|
+
if options.follow_redirects is not None:
|
964
|
+
kwargs["follow_redirects"] = options.follow_redirects
|
965
|
+
|
963
966
|
log.debug("Sending HTTP Request: %s %s", request.method, request.url)
|
964
967
|
|
965
968
|
response = None
|
@@ -1460,6 +1463,9 @@ class AsyncAPIClient(BaseClient[httpx.AsyncClient, AsyncStream[Any]]):
|
|
1460
1463
|
if self.custom_auth is not None:
|
1461
1464
|
kwargs["auth"] = self.custom_auth
|
1462
1465
|
|
1466
|
+
if options.follow_redirects is not None:
|
1467
|
+
kwargs["follow_redirects"] = options.follow_redirects
|
1468
|
+
|
1463
1469
|
log.debug("Sending HTTP Request: %s %s", request.method, request.url)
|
1464
1470
|
|
1465
1471
|
response = None
|
@@ -737,6 +737,7 @@ class FinalRequestOptionsInput(TypedDict, total=False):
|
|
737
737
|
idempotency_key: str
|
738
738
|
json_data: Body
|
739
739
|
extra_json: AnyMapping
|
740
|
+
follow_redirects: bool
|
740
741
|
|
741
742
|
|
742
743
|
@final
|
@@ -750,6 +751,7 @@ class FinalRequestOptions(pydantic.BaseModel):
|
|
750
751
|
files: Union[HttpxRequestFiles, None] = None
|
751
752
|
idempotency_key: Union[str, None] = None
|
752
753
|
post_parser: Union[Callable[[Any], Any], NotGiven] = NotGiven()
|
754
|
+
follow_redirects: Union[bool, None] = None
|
753
755
|
|
754
756
|
# It should be noted that we cannot use `json` here as that would override
|
755
757
|
# a BaseModel method in an incompatible fashion.
|
@@ -100,6 +100,7 @@ class RequestOptions(TypedDict, total=False):
|
|
100
100
|
params: Query
|
101
101
|
extra_json: AnyMapping
|
102
102
|
idempotency_key: str
|
103
|
+
follow_redirects: bool
|
103
104
|
|
104
105
|
|
105
106
|
# Sentinel class used until PEP 0661 is accepted
|
@@ -215,3 +216,4 @@ class _GenericAlias(Protocol):
|
|
215
216
|
|
216
217
|
class HttpxSendArgs(TypedDict, total=False):
|
217
218
|
auth: httpx.Auth
|
219
|
+
follow_redirects: bool
|
@@ -818,6 +818,33 @@ class TestOnebusawaySDK:
|
|
818
818
|
|
819
819
|
assert response.http_request.headers.get("x-stainless-retry-count") == "42"
|
820
820
|
|
821
|
+
@pytest.mark.respx(base_url=base_url)
|
822
|
+
def test_follow_redirects(self, respx_mock: MockRouter) -> None:
|
823
|
+
# Test that the default follow_redirects=True allows following redirects
|
824
|
+
respx_mock.post("/redirect").mock(
|
825
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
826
|
+
)
|
827
|
+
respx_mock.get("/redirected").mock(return_value=httpx.Response(200, json={"status": "ok"}))
|
828
|
+
|
829
|
+
response = self.client.post("/redirect", body={"key": "value"}, cast_to=httpx.Response)
|
830
|
+
assert response.status_code == 200
|
831
|
+
assert response.json() == {"status": "ok"}
|
832
|
+
|
833
|
+
@pytest.mark.respx(base_url=base_url)
|
834
|
+
def test_follow_redirects_disabled(self, respx_mock: MockRouter) -> None:
|
835
|
+
# Test that follow_redirects=False prevents following redirects
|
836
|
+
respx_mock.post("/redirect").mock(
|
837
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
838
|
+
)
|
839
|
+
|
840
|
+
with pytest.raises(APIStatusError) as exc_info:
|
841
|
+
self.client.post(
|
842
|
+
"/redirect", body={"key": "value"}, options={"follow_redirects": False}, cast_to=httpx.Response
|
843
|
+
)
|
844
|
+
|
845
|
+
assert exc_info.value.response.status_code == 302
|
846
|
+
assert exc_info.value.response.headers["Location"] == f"{base_url}/redirected"
|
847
|
+
|
821
848
|
|
822
849
|
class TestAsyncOnebusawaySDK:
|
823
850
|
client = AsyncOnebusawaySDK(base_url=base_url, api_key=api_key, _strict_response_validation=True)
|
@@ -1634,3 +1661,30 @@ class TestAsyncOnebusawaySDK:
|
|
1634
1661
|
raise AssertionError("calling get_platform using asyncify resulted in a hung process")
|
1635
1662
|
|
1636
1663
|
time.sleep(0.1)
|
1664
|
+
|
1665
|
+
@pytest.mark.respx(base_url=base_url)
|
1666
|
+
async def test_follow_redirects(self, respx_mock: MockRouter) -> None:
|
1667
|
+
# Test that the default follow_redirects=True allows following redirects
|
1668
|
+
respx_mock.post("/redirect").mock(
|
1669
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
1670
|
+
)
|
1671
|
+
respx_mock.get("/redirected").mock(return_value=httpx.Response(200, json={"status": "ok"}))
|
1672
|
+
|
1673
|
+
response = await self.client.post("/redirect", body={"key": "value"}, cast_to=httpx.Response)
|
1674
|
+
assert response.status_code == 200
|
1675
|
+
assert response.json() == {"status": "ok"}
|
1676
|
+
|
1677
|
+
@pytest.mark.respx(base_url=base_url)
|
1678
|
+
async def test_follow_redirects_disabled(self, respx_mock: MockRouter) -> None:
|
1679
|
+
# Test that follow_redirects=False prevents following redirects
|
1680
|
+
respx_mock.post("/redirect").mock(
|
1681
|
+
return_value=httpx.Response(302, headers={"Location": f"{base_url}/redirected"})
|
1682
|
+
)
|
1683
|
+
|
1684
|
+
with pytest.raises(APIStatusError) as exc_info:
|
1685
|
+
await self.client.post(
|
1686
|
+
"/redirect", body={"key": "value"}, options={"follow_redirects": False}, cast_to=httpx.Response
|
1687
|
+
)
|
1688
|
+
|
1689
|
+
assert exc_info.value.response.status_code == 302
|
1690
|
+
assert exc_info.value.response.headers["Location"] == f"{base_url}/redirected"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/report_problem_with_stop.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/resources/report_problem_with_trip.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/agencies_with_coverage_list_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/arrival_and_departure_list_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/arrival_and_departure_list_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/current_time_retrieve_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/route_ids_for_agency_list_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/routes_for_agency_list_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/routes_for_location_list_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/routes_for_location_list_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_route_retrieve_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_route_retrieve_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_stop_retrieve_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/schedule_for_stop_retrieve_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_list_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_list_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_retrieve_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_route_retrieve_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_stop_list_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_stop_retrieve_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/search_for_stop_retrieve_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stop_ids_for_agency_list_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_agency_list_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_location_list_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_location_list_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/stops_for_route_list_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_detail_retrieve_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_for_vehicle_retrieve_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trip_for_vehicle_retrieve_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trips_for_location_list_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trips_for_location_list_response.py
RENAMED
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/trips_for_route_list_response.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/vehicles_for_agency_list_params.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/src/onebusaway/types/vehicles_for_agency_list_response.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_report_problem_with_stop.py
RENAMED
File without changes
|
{onebusaway-1.11.0 → onebusaway-1.12.0}/tests/api_resources/test_report_problem_with_trip.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|