Skip to content

ishiland/python-geosupport

Repository files navigation

python-geosupport

Build status PyPI version 3.8+

Geocode NYC addresses locally using Python bindings for NYC Planning's Geosupport Desktop Edition.

Documentation

Check out documentation for installing and usage here.

Features

  • Pythonic interface to all Geosupport functions
  • Support for both Windows and Linux platforms
  • Secure and fast using local geocoding - no API calls required
  • Built-in error handling for Geosupport return codes
  • Interactive help menu

Compatibility

  • Python 3.8+
  • Tested on Geosupport Desktop Edition 25a
  • Windows (64-bit & 32-bit) and Linux operating systems

Quickstart

pip install python-geosupport
# Import the library and create a `Geosupport` object.
from geosupport import Geosupport
g = Geosupport()

# Call the address processing function by name
result = g.address(house_number=125, street_name='Worth St', borough_code='Mn')

result is a dictionary with the output from Geosupport. For example:

{
    '2010 Census Block': '1012',
    '2010 Census Tract': '31',
    'Assembly District': '65',
    'Atomic Polygon': '112',
    'B10SC - First Borough and Street Code': '14549001010',
    'BOE Preferred B7SC': '14549001',
    'BOE Preferred Street Name': 'WORTH STREET',
    'BOROUGH BLOCK LOT (BBL)': {
        'BOROUGH BLOCK LOT (BBL)': '1001680032',
        'Borough Code': '1',
        'Tax Block': '00168',
        'Tax Lot': '0032'
    },
    'Blockface ID': '0212261942',
    ...
}

Examples

See the examples directory and accompanying readme.md.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Run tests (python -m unittest discover)
  5. Run Black formatting (black .)
  6. Commit your changes (git commit -m 'Add some amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

License

This project is licensed under the MIT License - see the license.txt file for details