An unofficial Python wrapper around the Postcode API v2
Project description
postcodeapi is an unofficial Python wrapper around the Postcode API V2.
Installation and usage
Installation
postcodeapi can be installed by running pip install postcodeapi.
Usage
Here is an example of how to use the API client. First you initialize a client with your API key, after that you use one of the four getter methods to fetch the data you need. They all return the actual JSON response converted to a Python dictionary.
# Import the PostcodeAPIClient
from postcodeapi.client import PostcodeAPIClient
# Initialize a client with your API key
client = PostcodeAPIClient(api_key="YOUR_API_KEY")
# Fetch a list of addresses (for a given postal_code and number)
# The postal_code and number parameters are optional
# The number parameter only works together with postal_code
data = client.get_all_addresses(postal_code="5038EA", number=19)
addresses = data["results"] # List of addresses
next_id = data["next"] # Next ID to search from (used for pagination)
# Fetch a single address
address = client.get_address(address_id="0855200000046355")
# Fetch a list of postal codes (within a specific area)
# The area parameter is optional
data = client.get_all_postal_codes(area="5038")
postal_codes = data["results"] # List of postal codes
next_postal_code = data["next"] # Next postal code to search from (used for pagination)
# Fetch a single postal code
postal_code = client.get_postal_code("5038EA")
Exceptions
There are 5 exceptions that can occur:
NoAccessException, which occurs when the current account does not have the required privileges to perform the action;
ResourceNotFoundException, which occurs when the returned status_code is 404. Limited to the get_address and get_postal_code methods;
HouseNumberRequiresPostalCodeException, which occurs when a house_number is given but not a postal_code. Limited to the get_all_addresses method;
InvalidPostalCodeException, which occurs when an invalid postal code is given;
LimitExceededException, which occurs when there are too many network requests or the limit has been exceeded
Documentation
For more information about the data that is returned, please refer to the official API documentation. It is written in Dutch.
Running tests
To run the tests, make sure you install the dev dependencies by running pipenv install --dev, and then run
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file postcodeapi-1.2.1.tar.gz
.
File metadata
- Download URL: postcodeapi-1.2.1.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e59a96d83b00b6987f6a64e32b0b95491723a0314632f9d3ee905a599aa4dca5 |
|
MD5 | 0a859264018f65d287abc470b386c102 |
|
BLAKE2b-256 | 6d1f5a253589296796c84c6be2ff1dabcd6817cf6a8cdc58822a0517bd70ec77 |
File details
Details for the file postcodeapi-1.2.1-py3-none-any.whl
.
File metadata
- Download URL: postcodeapi-1.2.1-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaedce8481c2373a8f4142b4fd96898933c5158c70496f68f30392493148ff0d |
|
MD5 | 3f629dd466a50760921d14a865d638ce |
|
BLAKE2b-256 | 536131bebf999737f7116b93e3df6e47e7d2d3221f45956f047dab5ade3b7871 |