Skip to content

feat: support extra computations in forward geocoding - #11

Draft
illuminati1911 wants to merge 1 commit into
masterfrom
geocoding-extra-computations
Draft

illuminati1911 wants to merge 1 commit into
masterfrom
geocoding-extra-computations

Conversation

@illuminati1911

Copy link
Copy Markdown
Collaborator

Summary

  • Add optional extra_computations to geocode() for ADDRESS_DESCRIPTORS and BUILDING_AND_ENTRANCES, accepting a string or list of strings.
  • Validate each value before transport and serialize multiple computations as repeated query parameters. None and an empty list omit the parameter.
  • Preserve existing positional arguments, result dictionaries, and reverse-geocoding behavior.
  • Add regression coverage, public parameter documentation, and an unreleased changelog entry.

The existing forward-geocoding signature does not expose this option: https://github.com/googlemaps/google-maps-services-python/blob/d3b71ab1333cff0f900d2db6b39c1356341a5ea2/googlemaps/geocoding.py#L22-L23

The supported values and repeated-key format are documented here: https://developers.google.com/maps/documentation/geocoding/guides-v3/requests-geocoding

Verification

On Python 3.10.20:

  • python -m pytest tests/test_geocoding.py — 21 passed, including 4 new feature tests.
  • python -m pytest — 109 passed.
  • Real localhost HTTP checks passed for each computation, both together, omission, existing positional calls, invalid-input rejection before transport, and preserved result shape. 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 the public documentation and 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