Skip to content

feat: add units to Roads speed-limit requests - #12

Draft
illuminati1911 wants to merge 1 commit into
masterfrom
roads-speed-limit-units
Draft

illuminati1911 wants to merge 1 commit into
masterfrom
roads-speed-limit-units

Conversation

@illuminati1911

Copy link
Copy Markdown
Collaborator

Summary

  • Add optional units to speed_limits() and snapped_speed_limits(), accepting exact KPH or MPH values and rejecting invalid values before transport.
  • Omit the parameter for existing calls and explicit None, retaining the API's KPH default.
  • Preserve repeated place IDs, path encoding, and the existing list/dictionary response contracts; no client-side unit conversion is introduced.
  • Add regression coverage, public parameter documentation, and an unreleased changelog entry.

Neither existing method exposes units: https://github.com/googlemaps/google-maps-services-python/blob/d3b71ab1333cff0f900d2db6b39c1356341a5ea2/googlemaps/roads.py#L80-L116

The optional parameter and default are documented here: https://developers.google.com/maps/documentation/roads/speed-limits

Verification

On Python 3.10.20:

  • python -m pytest tests/test_roads.py — 12 passed, including 5 new feature tests.
  • python -m pytest — 110 passed.
  • Real localhost HTTP checks passed for both units on both methods, repeated place IDs, path encoding, omitted/None behavior, local validation, and preserved response shapes/snapped points. No Google Maps API calls or real credentials were used.
  • nox --download-python never -s docs --force-python 3.10 — repository Sphinx build passed; visually inspected both public methods and the rendered changelog.
  • Diff/whitespace checks passed.

The prescribed Python 3.7 docs build remains unverified because that interpreter is unavailable. The Python 3.10 build is supplemental. Tests ran directly using the repository's test dependencies, avoiding the automatic Codecov upload.

@illuminati1911 illuminati1911 self-assigned this Oct 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant