A python client for accessing and querying geospatial open data portals.
Project description
kapipy
A python client for accessing and querying datasets from geospatial open data portals such as LINZ, Stats NZ and LRIS.
Overview
kapipy is a Python package that provides a python interface to the Koordinates geospatial content management system. It allows users to connect a data portal, retrieve metadata, and query vector layers and tables.
Documentation available at Github Pages documentation website
Disclaimer
This is a hobby project and the modules are provided as-is on a best-effort basis and you assume all risk for using it.
The author has no affiliation with either Koordinates nor LINZ, Stats NZ or LRIS. As such, the underlying API's and services may change at any time without warning and break these modules. The author is not privvy to any inside knowledge or documentation beyond what is available online or by inspecting the payloads returned by the services.
This project does not cover the full spectrum of the Koordinates API and probably never will. It focuses currently on basic workflows such as connecting using an api key, getting references to datasets and downloading them.
The author is happy to take feedback and consider suggestions and code contributions as time allows. Preferred method for feedback is via the Github repository issues page.
Installation
pip install kapipy
Usage
- Import kapipy.
- Create a GIS object, passing in an api key.
- Get a reference to an item using {gis}.content.get({layer_id})
- Perform actions on the item.
Basic example:
from kapipy.gis import GIS
linz = GIS(name="linz", api_key="my-api-key")
rail_station_layer_id = "50318"
itm = linz.content.get(rail_station_layer_id)
data = itm.query()
data.head()
Tests
Tests are written using pytest. To run tests using UV:
uv run -m pytest --log-cli-level=INFO
There is currently very limited test coverage. Any live tests require a "LINZ_API_KEY" entry to exist in a .env file in the root project folder.
Project details
Release history Release notifications | RSS feed
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file kapipy-0.1.6.tar.gz.
File metadata
- Download URL: kapipy-0.1.6.tar.gz
- Upload date:
- Size: 24.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d42e3b46f3fd74c360b3717a7c2b1b06790fd963ea65aa857f67e759a16d0d5
|
|
| MD5 |
65bdc18d9ded7652ba34d0242549de9c
|
|
| BLAKE2b-256 |
caa3a66afc1e9aac2b4fd19634c0cc0c12414e10912148b1f581549059f51838
|
File details
Details for the file kapipy-0.1.6-py3-none-any.whl.
File metadata
- Download URL: kapipy-0.1.6-py3-none-any.whl
- Upload date:
- Size: 29.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
05628cc98d10efcb073c2c2fa0acc5b49334d10c9783bdda6c1d5022ba0d59f8
|
|
| MD5 |
6dfb3b016ee99762eb6f04881ff1dab0
|
|
| BLAKE2b-256 |
aea2845055f06d2b7ad96752c96d5cd62638c62a655d6d1b2512aa6a976dcf4b
|