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)

Examples

The repo now also ships self-contained consumer examples under examples/:

  • examples/boundary-quickstart/
  • examples/normalization-demo/

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.6.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.6-py3-none-any.whl (8.5 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: nyc_geo_toolkit-0.1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 9e1efbf8da782f23f132e7141f95b03ad5d7c894a6a9982a5a55160861083fb2
MD5 5f1e4c5f9f16d438ea3b6edaf3348a24
BLAKE2b-256 6573e6cf955aacf96f755d592f8d973aa6d8905981ee7fe6bd10d9aaf664bbe4

See more details on using hashes here.

Provenance

The following attestation bundles were made for nyc_geo_toolkit-0.1.6.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.6-py3-none-any.whl.

File metadata

File hashes

Hashes for nyc_geo_toolkit-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 e3f5be4a8408b3d76a1c0d4fe359798c1462105da2ecec76237ea087003d4fa6
MD5 1930c544211b3c27dc7208f9fb9bf614
BLAKE2b-256 ca81bfe568690967629f3551b4a92e05e5ec80a4363c188ac63728d54f9c883b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nyc_geo_toolkit-0.1.6-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