Skip to main content

Reusable NYC geography resources, normalization helpers, and boundary loaders for Python tools.

Project description

nyc-geo-toolkit

Actions Status Documentation Status PyPI version PyPI platforms

Reusable NYC geography resources, normalization helpers, and boundary loaders for Python tools.

Authored by Blaise Albis-Burdige.

What this package provides

nyc-geo-toolkit packages canonical NYC boundary layers and the stable helper API needed to discover, normalize, load, subset, and convert them.

It is designed to stay small, typed, and reusable across NYC data packages.

The package currently provides:

  • packaged boundary layers for boroughs, community districts, council districts, NTAs, ZCTAs, and census tracts
  • canonical normalization helpers for layer names and boundary values
  • typed boundary models for boundary collections and features
  • GeoJSON and optional DataFrame / GeoDataFrame helpers
  • bbox clipping for typed boundary collections

Ecosystem

nyc-geo-toolkit is the shared geography core for the NYC package ecosystem. It already powers the geography layer in nyc311 and is intended to support additional consumer packages without forcing each project to duplicate boundary data or normalization rules.

Install

Base install:

pip install nyc-geo-toolkit

With pandas helpers:

pip install "nyc-geo-toolkit[dataframes]"

With geopandas + shapely helpers:

pip install "nyc-geo-toolkit[spatial]"

With all optional helpers:

pip install "nyc-geo-toolkit[all]"

Quick example

from nyc_geo_toolkit import list_boundary_layers, load_nyc_boundaries

print(list_boundary_layers())
queens = load_nyc_boundaries("borough", values="Queens")
print(queens.features[0].geography_value)

Public surface

The stable public API is the top-level nyc_geo_toolkit namespace.

Discovery and loading:

  • list_boundary_layers()
  • list_boundary_values()
  • load_boundaries()
  • load_nyc_boundaries()
  • load_nyc_boundaries_geodataframe()
  • load_nyc_census_tracts()
  • load_nyc_council_districts()
  • load_nyc_neighborhood_tabulation_areas()

Normalization:

  • normalize_borough_name()
  • normalize_boundary_layer()
  • normalize_boundary_value()
  • normalize_boundary_values()

Conversion and spatial helpers:

  • boundaries_to_geojson()
  • boundaries_to_dataframe()
  • clip_boundaries_to_bbox()

Models and constants:

  • BoundaryCollection
  • BoundaryFeature
  • BoundaryLayerSpec
  • BOROUGH_*
  • SUPPORTED_BOROUGHS
  • SUPPORTED_BOUNDARY_GEOGRAPHIES

Private underscore-prefixed modules are implementation details and may change without notice.

Documentation

Docs: Home, Getting Started, API Reference, Architecture, Contributing, Releasing, Changelog

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

nyc_geo_toolkit-0.1.5.tar.gz (8.7 MB view details)

Uploaded Source

Built Distribution

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

nyc_geo_toolkit-0.1.5-py3-none-any.whl (8.5 MB view details)

Uploaded Python 3

File details

Details for the file nyc_geo_toolkit-0.1.5.tar.gz.

File metadata

  • Download URL: nyc_geo_toolkit-0.1.5.tar.gz
  • Upload date:
  • Size: 8.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nyc_geo_toolkit-0.1.5.tar.gz
Algorithm Hash digest
SHA256 3b8036a750d3adb2615f430f9849fdf4a33e44ec207af30207aee04a623fbbbe
MD5 e47077138b9df26aa946c8655bd02191
BLAKE2b-256 143cf3d5d85c75e3bd663eb64a7744fe6d4e4aacef56188031e6d5b80d6421c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nyc_geo_toolkit-0.1.5.tar.gz:

Publisher: cd.yml on random-walks/nyc-geo-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nyc_geo_toolkit-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for nyc_geo_toolkit-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8038ae6e412c3e019b7ed591ec1908d8ad0b35fb72b082e0a9c2fa69525d002c
MD5 82563df4c4e534940c4ac27c86e00dfc
BLAKE2b-256 7fe6fa61d06ec102f09618bd9260f45b9380b1198418db3886e69981abf8de88

See more details on using hashes here.

Provenance

The following attestation bundles were made for nyc_geo_toolkit-0.1.5-py3-none-any.whl:

Publisher: cd.yml on random-walks/nyc-geo-toolkit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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