Skip to main content

RandomCoords Python Client

PyPI version CI Supported Python Versions Ruff mypy License: MIT Downloads

The Python client for the RandomCoords API to fetch random geographic coordinates worldwide.

Installation

pip install randomcoords

Requirements

Usage

from randomcoords import RandomCoords

client = RandomCoords({"api_token": "your-api-token"})

# Get random coordinates from the United States
coords = client.get_country_coordinates("united-states", {"limit": 10})
print(coords)

Constructor options

Key Type Default Description
api_token str Required. Your API token.
base_url str https://api.randomcoords.com/v1/ API base URL.
timeout float 5.0 Request timeout in seconds.

Available Methods

get_regions()

Parameters

None

Returns (RegionsResponse)

Metadata and a list of supported regions.

get_countries()

Parameters

None

Returns (CountriesResponse)

Metadata and a list of supported countries.

get_region_coordinates(region, options)

Parameters

  • region (str) – The region identifier (e.g., "world", "europe").
  • options (dict, optional):
    • limit (int, optional) – Maximum number of coordinates to return (default: 1, maximum: 100).

Returns (RegionCoordinatesResponse)

Metadata and random coordinates within the specified region.

get_country_coordinates(country, options)

Parameters

  • country (str) – The country identifier (e.g., "united-states", "australia").
  • options (dict, optional):
    • limit (int, optional) – Maximum number of coordinates to return (default: 1, maximum: 100).

Returns (CountryCoordinatesResponse)

Metadata and random coordinates within the specified country.

Error Handling

The library throws:

  • ValueError – for validation or unexpected usage issues (e.g., invalid inputs).
  • RandomCoordsApiError – for HTTP/API-related failures. This custom error includes:
    • statusCode: HTTP status code (e.g., 401, 404, 429).
    • url: The API request URL.
    • message: A descriptive error message.

Example:

from randomcoords import RandomCoordsApiError

try:
    # a method call
except ValueError as ve:
    print("Input error:", ve)
except RandomCoordsApiError as api_err:
    print(f"API error {api_err.status_code} at {api_err.url}: {api_err.message}")
except Exception as e:
    print("Unexpected error:", e)

Typed Responses and Exceptions

All response and error types are available as top-level imports:

from randomcoords import (
    RegionsResponse,
    CountriesResponse,
    RegionCoordinatesResponse,
    CountryCoordinatesResponse,
    RandomCoordsApiError,
)

API Reference

Issues

If you encounter a bug, please open an issue.

License

MIT © Talha Awan

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

randomcoords-1.0.6.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

randomcoords-1.0.6-py3-none-any.whl (8.0 kB view details)

Uploaded Python 3

File details

Details for the file randomcoords-1.0.6.tar.gz.

File metadata

  • Download URL: randomcoords-1.0.6.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for randomcoords-1.0.6.tar.gz
Algorithm Hash digest
SHA256 d856d8d98f91e4a055ce221354cf5c31679b00e013a371a099ff37ff4e6397ea
MD5 47ccc965c6b881550788701f5fa41f35
BLAKE2b-256 0e1f3d74eb6c2a5e8b405ef4bcaa1b8f19e9c35fecfa8575e5aae010a2912bfc

See more details on using hashes here.

File details

Details for the file randomcoords-1.0.6-py3-none-any.whl.

File metadata

  • Download URL: randomcoords-1.0.6-py3-none-any.whl
  • Upload date:
  • Size: 8.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for randomcoords-1.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 99d6f88b6cb2d08798cb69556c0d884329fe80a52d3e81be60fc8d6fac06fb69
MD5 2dc31e5ab511cbf189cf14f5898a7993
BLAKE2b-256 d061f0a2147ecdc296f8192002289a85bb9f71c480e8a6c0b99562ca5bbec32b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.6 This release

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page