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

Uploaded Python 3

File details

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

File metadata

  • Download URL: nyc_geo_toolkit-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 fa316921ca36a470c8e1d8ae01fbc98eada00ae3a35e99887eba94509c1503c7
MD5 b215be234df68a81fffbe935f9b1445b
BLAKE2b-256 b28c4959bb62ee80162fb5a328f57e2961d2b08372dfebae455c8e0860f43662

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nyc_geo_toolkit-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 44d6f7564a5ee1bbf49a0c3770882a89f091737a8bcf079d35d5efa7dcdacd29
MD5 0f7be77dff851466bc54b573f464ac93
BLAKE2b-256 df5d253259bb4719fa3c1e61e6c7350ce8dc37ed82e7fc6ce1ccbaa15dfb67cf

See more details on using hashes here.

Provenance

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