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

Uploaded Python 3

File details

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

File metadata

  • Download URL: nyc_geo_toolkit-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 059afa1ce725253865e4706877467ae0bf00b9ebd46c428f23b43e57e3643c58
MD5 b329391c6d4267b87d07bcfb7c1eb87c
BLAKE2b-256 04350df28eb14c2891f08fdbdfcfb4ef2576e6194033e5a46b739c25ebb40658

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nyc_geo_toolkit-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2f4702ae719c58bb03cf7b6dadffbcf0d67093034792e0711c80d8ecc9edf1ba
MD5 ca29d69138db874727bbb71ec9d933a9
BLAKE2b-256 3af4d4b52d0ebc42fda42c0cf55444a93cb900a54a003362c54979744c067cd1

See more details on using hashes here.

Provenance

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