onebusaway 1.15.4__tar.gz → 1.15.5__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.
Files changed (194) hide show
  1. onebusaway-1.15.5/.release-please-manifest.json +3 -0
  2. {onebusaway-1.15.4 → onebusaway-1.15.5}/CHANGELOG.md +8 -0
  3. {onebusaway-1.15.4 → onebusaway-1.15.5}/PKG-INFO +1 -1
  4. {onebusaway-1.15.4 → onebusaway-1.15.5}/pyproject.toml +1 -1
  5. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_types.py +35 -1
  6. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/__init__.py +1 -0
  7. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_typing.py +5 -0
  8. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_version.py +1 -1
  9. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/utils.py +9 -1
  10. onebusaway-1.15.4/.release-please-manifest.json +0 -3
  11. {onebusaway-1.15.4 → onebusaway-1.15.5}/.gitignore +0 -0
  12. {onebusaway-1.15.4 → onebusaway-1.15.5}/CONTRIBUTING.md +0 -0
  13. {onebusaway-1.15.4 → onebusaway-1.15.5}/LICENSE +0 -0
  14. {onebusaway-1.15.4 → onebusaway-1.15.5}/README.md +0 -0
  15. {onebusaway-1.15.4 → onebusaway-1.15.5}/SECURITY.md +0 -0
  16. {onebusaway-1.15.4 → onebusaway-1.15.5}/api.md +0 -0
  17. {onebusaway-1.15.4 → onebusaway-1.15.5}/bin/check-release-environment +0 -0
  18. {onebusaway-1.15.4 → onebusaway-1.15.5}/bin/publish-pypi +0 -0
  19. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/.env.example +0 -0
  20. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/.keep +0 -0
  21. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/README.md +0 -0
  22. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/agencies_with_coverage.py +0 -0
  23. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/arrivals_and_departures_for_stop.py +0 -0
  24. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/block.py +0 -0
  25. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/config.py +0 -0
  26. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/current_time.py +0 -0
  27. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/helpers/__init__.py +0 -0
  28. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/helpers/load_env.py +0 -0
  29. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/routes_for_agency.py +0 -0
  30. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/routes_ids_for_agency.py +0 -0
  31. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/schedule_for_route.py +0 -0
  32. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/schedule_for_stop.py +0 -0
  33. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/search_for_route.py +0 -0
  34. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/search_for_stop.py +0 -0
  35. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/shape.py +0 -0
  36. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/stop.py +0 -0
  37. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/stop_for_route.py +0 -0
  38. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/stop_ids_for_agency.py +0 -0
  39. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/stops_for_location.py +0 -0
  40. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/trip.py +0 -0
  41. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/trip_details.py +0 -0
  42. {onebusaway-1.15.4 → onebusaway-1.15.5}/examples/vehicles_for_agency.py +0 -0
  43. {onebusaway-1.15.4 → onebusaway-1.15.5}/mypy.ini +0 -0
  44. {onebusaway-1.15.4 → onebusaway-1.15.5}/noxfile.py +0 -0
  45. {onebusaway-1.15.4 → onebusaway-1.15.5}/release-please-config.json +0 -0
  46. {onebusaway-1.15.4 → onebusaway-1.15.5}/requirements-dev.lock +0 -0
  47. {onebusaway-1.15.4 → onebusaway-1.15.5}/requirements.lock +0 -0
  48. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/__init__.py +0 -0
  49. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_base_client.py +0 -0
  50. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_client.py +0 -0
  51. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_compat.py +0 -0
  52. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_constants.py +0 -0
  53. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_exceptions.py +0 -0
  54. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_files.py +0 -0
  55. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_models.py +0 -0
  56. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_qs.py +0 -0
  57. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_resource.py +0 -0
  58. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_response.py +0 -0
  59. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_streaming.py +0 -0
  60. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_logs.py +0 -0
  61. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_proxy.py +0 -0
  62. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_reflection.py +0 -0
  63. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_resources_proxy.py +0 -0
  64. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_streams.py +0 -0
  65. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_sync.py +0 -0
  66. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_transform.py +0 -0
  67. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/_utils/_utils.py +0 -0
  68. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/lib/.keep +0 -0
  69. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/py.typed +0 -0
  70. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/__init__.py +0 -0
  71. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/agencies_with_coverage.py +0 -0
  72. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/agency.py +0 -0
  73. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/arrival_and_departure.py +0 -0
  74. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/block.py +0 -0
  75. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/config.py +0 -0
  76. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/current_time.py +0 -0
  77. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/report_problem_with_stop.py +0 -0
  78. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/report_problem_with_trip.py +0 -0
  79. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/route.py +0 -0
  80. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/route_ids_for_agency.py +0 -0
  81. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/routes_for_agency.py +0 -0
  82. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/routes_for_location.py +0 -0
  83. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/schedule_for_route.py +0 -0
  84. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/schedule_for_stop.py +0 -0
  85. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/search_for_route.py +0 -0
  86. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/search_for_stop.py +0 -0
  87. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/shape.py +0 -0
  88. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/stop.py +0 -0
  89. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/stop_ids_for_agency.py +0 -0
  90. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/stops_for_agency.py +0 -0
  91. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/stops_for_location.py +0 -0
  92. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/stops_for_route.py +0 -0
  93. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/trip.py +0 -0
  94. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/trip_details.py +0 -0
  95. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/trip_for_vehicle.py +0 -0
  96. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/trips_for_location.py +0 -0
  97. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/trips_for_route.py +0 -0
  98. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/resources/vehicles_for_agency.py +0 -0
  99. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/__init__.py +0 -0
  100. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/agencies_with_coverage_list_response.py +0 -0
  101. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/agency_retrieve_response.py +0 -0
  102. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/arrival_and_departure_list_params.py +0 -0
  103. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/arrival_and_departure_list_response.py +0 -0
  104. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/arrival_and_departure_retrieve_params.py +0 -0
  105. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/arrival_and_departure_retrieve_response.py +0 -0
  106. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/block_retrieve_response.py +0 -0
  107. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/config_retrieve_response.py +0 -0
  108. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/current_time_retrieve_response.py +0 -0
  109. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/report_problem_with_stop_retrieve_params.py +0 -0
  110. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/report_problem_with_trip_retrieve_params.py +0 -0
  111. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/route_ids_for_agency_list_response.py +0 -0
  112. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/route_retrieve_response.py +0 -0
  113. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/routes_for_agency_list_response.py +0 -0
  114. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/routes_for_location_list_params.py +0 -0
  115. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/routes_for_location_list_response.py +0 -0
  116. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/schedule_for_route_retrieve_params.py +0 -0
  117. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/schedule_for_route_retrieve_response.py +0 -0
  118. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/schedule_for_stop_retrieve_params.py +0 -0
  119. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/schedule_for_stop_retrieve_response.py +0 -0
  120. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_route_list_params.py +0 -0
  121. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_route_list_response.py +0 -0
  122. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_route_retrieve_params.py +0 -0
  123. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_route_retrieve_response.py +0 -0
  124. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_stop_list_params.py +0 -0
  125. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_stop_list_response.py +0 -0
  126. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_stop_retrieve_params.py +0 -0
  127. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/search_for_stop_retrieve_response.py +0 -0
  128. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/shape_retrieve_response.py +0 -0
  129. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/shared/__init__.py +0 -0
  130. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/shared/references.py +0 -0
  131. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/shared/response_wrapper.py +0 -0
  132. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/stop_ids_for_agency_list_response.py +0 -0
  133. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/stop_retrieve_response.py +0 -0
  134. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/stops_for_agency_list_response.py +0 -0
  135. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/stops_for_location_list_params.py +0 -0
  136. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/stops_for_location_list_response.py +0 -0
  137. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/stops_for_route_list_params.py +0 -0
  138. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/stops_for_route_list_response.py +0 -0
  139. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trip_detail_retrieve_params.py +0 -0
  140. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trip_detail_retrieve_response.py +0 -0
  141. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trip_for_vehicle_retrieve_params.py +0 -0
  142. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trip_for_vehicle_retrieve_response.py +0 -0
  143. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trip_retrieve_response.py +0 -0
  144. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trips_for_location_list_params.py +0 -0
  145. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trips_for_location_list_response.py +0 -0
  146. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trips_for_route_list_params.py +0 -0
  147. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/trips_for_route_list_response.py +0 -0
  148. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/vehicles_for_agency_list_params.py +0 -0
  149. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/onebusaway/types/vehicles_for_agency_list_response.py +0 -0
  150. {onebusaway-1.15.4 → onebusaway-1.15.5}/src/open_transit/lib/.keep +0 -0
  151. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/__init__.py +0 -0
  152. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/__init__.py +0 -0
  153. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_agencies_with_coverage.py +0 -0
  154. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_agency.py +0 -0
  155. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_arrival_and_departure.py +0 -0
  156. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_block.py +0 -0
  157. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_config.py +0 -0
  158. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_current_time.py +0 -0
  159. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_report_problem_with_stop.py +0 -0
  160. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_report_problem_with_trip.py +0 -0
  161. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_route.py +0 -0
  162. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_route_ids_for_agency.py +0 -0
  163. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_routes_for_agency.py +0 -0
  164. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_routes_for_location.py +0 -0
  165. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_schedule_for_route.py +0 -0
  166. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_schedule_for_stop.py +0 -0
  167. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_search_for_route.py +0 -0
  168. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_search_for_stop.py +0 -0
  169. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_shape.py +0 -0
  170. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_stop.py +0 -0
  171. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_stop_ids_for_agency.py +0 -0
  172. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_stops_for_agency.py +0 -0
  173. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_stops_for_location.py +0 -0
  174. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_stops_for_route.py +0 -0
  175. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_trip.py +0 -0
  176. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_trip_details.py +0 -0
  177. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_trip_for_vehicle.py +0 -0
  178. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_trips_for_location.py +0 -0
  179. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_trips_for_route.py +0 -0
  180. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/api_resources/test_vehicles_for_agency.py +0 -0
  181. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/conftest.py +0 -0
  182. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/sample_file.txt +0 -0
  183. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_client.py +0 -0
  184. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_deepcopy.py +0 -0
  185. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_extract_files.py +0 -0
  186. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_files.py +0 -0
  187. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_models.py +0 -0
  188. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_qs.py +0 -0
  189. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_required_args.py +0 -0
  190. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_response.py +0 -0
  191. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_streaming.py +0 -0
  192. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_transform.py +0 -0
  193. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_utils/test_proxy.py +0 -0
  194. {onebusaway-1.15.4 → onebusaway-1.15.5}/tests/test_utils/test_typing.py +0 -0
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.15.5"
3
+ }
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.15.5 (2025-08-30)
4
+
5
+ Full Changelog: [v1.15.4...v1.15.5](https://github.com/OneBusAway/python-sdk/compare/v1.15.4...v1.15.5)
6
+
7
+ ### Chores
8
+
9
+ * **internal:** add Sequence related utils ([767a34a](https://github.com/OneBusAway/python-sdk/commit/767a34a8634d836ec05bc577e640df14416dd9c2))
10
+
3
11
  ## 1.15.4 (2025-08-27)
4
12
 
5
13
  Full Changelog: [v1.15.3...v1.15.4](https://github.com/OneBusAway/python-sdk/compare/v1.15.3...v1.15.4)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: onebusaway
3
- Version: 1.15.4
3
+ Version: 1.15.5
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
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "onebusaway"
3
- version = "1.15.4"
3
+ version = "1.15.5"
4
4
  description = "The official Python library for the onebusaway-sdk API"
5
5
  dynamic = ["readme"]
6
6
  license = "Apache-2.0"
@@ -13,10 +13,21 @@ from typing import (
13
13
  Mapping,
14
14
  TypeVar,
15
15
  Callable,
16
+ Iterator,
16
17
  Optional,
17
18
  Sequence,
18
19
  )
19
- from typing_extensions import Set, Literal, Protocol, TypeAlias, TypedDict, override, runtime_checkable
20
+ from typing_extensions import (
21
+ Set,
22
+ Literal,
23
+ Protocol,
24
+ TypeAlias,
25
+ TypedDict,
26
+ SupportsIndex,
27
+ overload,
28
+ override,
29
+ runtime_checkable,
30
+ )
20
31
 
21
32
  import httpx
22
33
  import pydantic
@@ -217,3 +228,26 @@ class _GenericAlias(Protocol):
217
228
  class HttpxSendArgs(TypedDict, total=False):
218
229
  auth: httpx.Auth
219
230
  follow_redirects: bool
231
+
232
+
233
+ _T_co = TypeVar("_T_co", covariant=True)
234
+
235
+
236
+ if TYPE_CHECKING:
237
+ # This works because str.__contains__ does not accept object (either in typeshed or at runtime)
238
+ # https://github.com/hauntsaninja/useful_types/blob/5e9710f3875107d068e7679fd7fec9cfab0eff3b/useful_types/__init__.py#L285
239
+ class SequenceNotStr(Protocol[_T_co]):
240
+ @overload
241
+ def __getitem__(self, index: SupportsIndex, /) -> _T_co: ...
242
+ @overload
243
+ def __getitem__(self, index: slice, /) -> Sequence[_T_co]: ...
244
+ def __contains__(self, value: object, /) -> bool: ...
245
+ def __len__(self) -> int: ...
246
+ def __iter__(self) -> Iterator[_T_co]: ...
247
+ def index(self, value: Any, start: int = 0, stop: int = ..., /) -> int: ...
248
+ def count(self, value: Any, /) -> int: ...
249
+ def __reversed__(self) -> Iterator[_T_co]: ...
250
+ else:
251
+ # just point this to a normal `Sequence` at runtime to avoid having to special case
252
+ # deserializing our custom sequence type
253
+ SequenceNotStr = Sequence
@@ -38,6 +38,7 @@ from ._typing import (
38
38
  extract_type_arg as extract_type_arg,
39
39
  is_iterable_type as is_iterable_type,
40
40
  is_required_type as is_required_type,
41
+ is_sequence_type as is_sequence_type,
41
42
  is_annotated_type as is_annotated_type,
42
43
  is_type_alias_type as is_type_alias_type,
43
44
  strip_annotated_type as strip_annotated_type,
@@ -26,6 +26,11 @@ def is_list_type(typ: type) -> bool:
26
26
  return (get_origin(typ) or typ) == list
27
27
 
28
28
 
29
+ def is_sequence_type(typ: type) -> bool:
30
+ origin = get_origin(typ) or typ
31
+ return origin == typing_extensions.Sequence or origin == typing.Sequence or origin == _c_abc.Sequence
32
+
33
+
29
34
  def is_iterable_type(typ: type) -> bool:
30
35
  """If the given type is `typing.Iterable[T]`"""
31
36
  origin = get_origin(typ) or typ
@@ -1,4 +1,4 @@
1
1
  # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
 
3
3
  __title__ = "onebusaway"
4
- __version__ = "1.15.4" # x-release-please-version
4
+ __version__ = "1.15.5" # x-release-please-version
@@ -4,7 +4,7 @@ import os
4
4
  import inspect
5
5
  import traceback
6
6
  import contextlib
7
- from typing import Any, TypeVar, Iterator, cast
7
+ from typing import Any, TypeVar, Iterator, Sequence, cast
8
8
  from datetime import date, datetime
9
9
  from typing_extensions import Literal, get_args, get_origin, assert_type
10
10
 
@@ -15,6 +15,7 @@ from onebusaway._utils import (
15
15
  is_list_type,
16
16
  is_union_type,
17
17
  extract_type_arg,
18
+ is_sequence_type,
18
19
  is_annotated_type,
19
20
  is_type_alias_type,
20
21
  )
@@ -71,6 +72,13 @@ def assert_matches_type(
71
72
  if is_list_type(type_):
72
73
  return _assert_list_type(type_, value)
73
74
 
75
+ if is_sequence_type(type_):
76
+ assert isinstance(value, Sequence)
77
+ inner_type = get_args(type_)[0]
78
+ for entry in value: # type: ignore
79
+ assert_type(inner_type, entry) # type: ignore
80
+ return
81
+
74
82
  if origin == str:
75
83
  assert isinstance(value, str)
76
84
  elif origin == int:
@@ -1,3 +0,0 @@
1
- {
2
- ".": "1.15.4"
3
- }
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