Skip to main content

Lat/Lon to administrative hierarchy lookup with managed datasets.

Project description

cadis

cadis is the single public control layer of the Cadis system.

It orchestrates:

  • dataset install and bootstrap lifecycle
  • world resolution and runtime execution coordination
  • deterministic state to user-facing actions
  • SDK + CLI + REST integration surfaces

Install

pip install cadis

Quick Start (CLI)

cadis lookup 41.8785708032352 12.505896501941912

Typical flow:

  • If the country dataset is already installed, Cadis prints Region: ... immediately.
  • If the dataset is missing but supported, Cadis offers to download it and retries the lookup after install.
  • Sea and offshore results are shown directly in human-readable form.

Quick Start (SDK)

from cadis import CadisSDK

sdk = CadisSDK()
out = sdk.lookup(25.0330, 121.5654)
print(out["execution"]["lookup_status"])

Interaction Modes

Core APIs

  • lookup(lat, lon)
  • bootstrap(iso2, ...)
  • reinstall(iso2, ...)
  • info()
  • CadisSDK
  • CadisRemoteSDK

Dataset Lockdown

By default, Cadis serves lookups from any installed dataset in the cache folder.

To restrict serving to a subset of installed country datasets, set:

export CADIS_ALLOWED_ISO2=TW,JP

When enabled, Cadis fails lookups outside the allowlist with state.dataset.status = "blocked" and refuses bootstrap/reinstall for those countries.

Architecture

cadis (public control layer)
  -> world resolution (`cadis.world`)
  -> dataset install/provisioning (`cadis.cdn`)
  -> dataset bootstrap/lookup runtime (`cadis.runtime`)
  -> deterministic structural engine (`cadis.core`)
  -> remote REST surface (`cadisd`)

ISO Code Policy

Cadis uses ISO 3166-1 alpha-2 codes as technical identifiers.

These codes are interpreted strictly according to the ISO 3166 standard and are used solely for data partitioning and administrative dataset selection.

Cadis does not interpret ISO codes as political statements or sovereignty declarations.


Supported ISO 3166-1 Entities

ISO2 Name Dataset ID Package Size (tar.gz) Unpacked Size Release Date (UTC)
TW Taiwan tw.admin 1.8 MB 2.0 MB 2026-02-28
JP Japan jp.admin 20.4 MB 21.3 MB 2026-03-05
GB United Kingdom gb.admin 4.8 MB 5.1 MB 2026-03-11
IT Italy it.admin 22.8 MB 25.7 MB 2026-03-11
KR South Korea kr.admin 2.3 MB 3.1 MB 2026-03-12

Additional ISO 3166-1 entity datasets will be published as they become available.

License

MIT

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

cadis-0.3.6.tar.gz (8.9 MB view details)

Uploaded Source

Built Distribution

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

cadis-0.3.6-py3-none-any.whl (8.9 MB view details)

Uploaded Python 3

File details

Details for the file cadis-0.3.6.tar.gz.

File metadata

  • Download URL: cadis-0.3.6.tar.gz
  • Upload date:
  • Size: 8.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for cadis-0.3.6.tar.gz
Algorithm Hash digest
SHA256 52e6bf7106952b8377632b25a2afd723d624ce173789a20c8b99388c032f58c2
MD5 f73d95ceab7a454a79754391c38e0b72
BLAKE2b-256 a39357e77bed4729fc4442f0d78e2d2268c6e39a08206c0fb875f9f89f57907b

See more details on using hashes here.

File details

Details for the file cadis-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: cadis-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 8.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for cadis-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6cf38055a233f1668983b596bb1ce2af244815cfaa52871b13a0dda940209232
MD5 a29bd4be5b6b8a3e8aaf2b1fa9774e37
BLAKE2b-256 434d9aca29a002b71c824e978bacd637eec4a75ff7d335da1f847dac2d851b9a

See more details on using hashes here.

Supported by

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