passyunk


Namepassyunk JSON
Version 2.34.0 PyPI version JSON
download
home_pageNone
SummaryAddress parser for City of Philadelphia addresses
upload_time2025-08-10 19:33:51
maintainerNone
docs_urlNone
authorTom Swanson
requires_python>=3.7
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # passyunk

Address parser and standardizer for the City of Philadelphia

## Installation
```
pip install git+https://github.com/CityOfPhiladelphia/passyunk
```
If you have been granted access to the private data files, you can install the `passyunk_automation` package at the same time by running 
```
pip install "passyunk[private] @ git+https://github.com/CityOfPhiladelphia/passyunk"
```

To find where passyunk is installed, from the command line run
```
python
import passyunk
passyunk.__file__
```
## Usage

### Quickstart

    from passyunk.parser import PassyunkParser
    p = PassyunkParser()
    parsed = p.parse('1234 MARKET ST')
    standardized_address = parsed['components']['output_address']

### Parser.parse(address)

Takes an address, standardizes it, and returns a dictionary of address components.

    {
      "components": {
        "address": {
          "addr_suffix": null,
          "addrnum_type": "N",
          "fractional": null,
          "full": "1234",
          "high": null,
          "high_num": null,
          "high_num_full": null,
          "isaddr": true,
          "low": "1234",
          "low_num": 1234,
          "parity": "E"
        },
        "address_unit": {
          "unit_num": null,
          "unit_type": null
        },
        "base_address": "1234 MARKET ST",
        "cl_addr_match": "A",
        "cl_responsibility": "STATE",
        "cl_seg_id": "440394",
        "election": {
          "blockid": "24021362",
          "precinct": "0528"
        },
        "floor": {
          "floor_num": null,
          "floor_type": null
        },
        "mailing": {
          "bldgfirm": "MARKET STREET BLDG",
          "matchdesc": "Multiple Zip4 Matches",
          "uspstype": "H",
          "zip4": "3721",
          "zipcode": "19107"
        },
        "output_address": "1234 MARKET ST",
        "street": {
          "full": "MARKET ST",
          "is_centerline_match": true,
          "name": "MARKET",
          "parse_method": "CL1",
          "postdir": null,
          "predir": null,
          "score": null,
          "street_code": "53560",
          "suffix": "ST"
        },
        "street_2": {
          "full": null,
          "is_centerline_match": false,
          "name": null,
          "parse_method": null,
          "postdir": null,
          "predir": null,
          "score": null,
          "street_code": null,
          "suffix": null
        }
      },
      "input_address": "1234 market street",
      "type": "address"
    }

## Data Updates
The data in the folder folder `passyunk/pdata` is public; the files `centerline.csv` and `centerline_streets.csv` are refreshed on a continual basis, and each data update will create a new version tag for this repository in the format '1.x.0'. 

The private data is housed in the separate `passyunk_automation` package, where files are updated on a monthly basis. Each private data update will result in a new private version tag for this repository in the format '1.y.0+private'. 

Thus the version 1.4.0 refers solely to the 4th public data update while the version 1.4.0+private refers solely to the 4th private data update. No public data will be updated in a new private data version nor vice-versa, so 1.4.0 and 1.4.0+private have no connection to each other, breaking a rule of SemVer syntax. However, 1.4.0 does contain updated public data compared to 1.3.0, and 1.4.0+private does contain updated private data compared to 1.3.0+private.

When `passyunk` is first imported into a python script, it will warn the user if the module's public data version is less than the latest public data version tag on GitHub. Similarly, if it detects that `passyunk_automation` has been installed, it will perform the same check for the private data version. The module will still work fine even if the data is out-of-date.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "passyunk",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": null,
    "author": "Tom Swanson",
    "author_email": "James Midkiff <james.midkiff@phila.gov>",
    "download_url": "https://files.pythonhosted.org/packages/10/de/92ea0f596168837235042976be65d298774dbdb4d7cb059c2ce9e7b92040/passyunk-2.34.0.tar.gz",
    "platform": null,
    "description": "# passyunk\n\nAddress parser and standardizer for the City of Philadelphia\n\n## Installation\n```\npip install git+https://github.com/CityOfPhiladelphia/passyunk\n```\nIf you have been granted access to the private data files, you can install the `passyunk_automation` package at the same time by running \n```\npip install \"passyunk[private] @ git+https://github.com/CityOfPhiladelphia/passyunk\"\n```\n\nTo find where passyunk is installed, from the command line run\n```\npython\nimport passyunk\npassyunk.__file__\n```\n## Usage\n\n### Quickstart\n\n    from passyunk.parser import PassyunkParser\n    p = PassyunkParser()\n    parsed = p.parse('1234 MARKET ST')\n    standardized_address = parsed['components']['output_address']\n\n### Parser.parse(address)\n\nTakes an address, standardizes it, and returns a dictionary of address components.\n\n    {\n      \"components\": {\n        \"address\": {\n          \"addr_suffix\": null,\n          \"addrnum_type\": \"N\",\n          \"fractional\": null,\n          \"full\": \"1234\",\n          \"high\": null,\n          \"high_num\": null,\n          \"high_num_full\": null,\n          \"isaddr\": true,\n          \"low\": \"1234\",\n          \"low_num\": 1234,\n          \"parity\": \"E\"\n        },\n        \"address_unit\": {\n          \"unit_num\": null,\n          \"unit_type\": null\n        },\n        \"base_address\": \"1234 MARKET ST\",\n        \"cl_addr_match\": \"A\",\n        \"cl_responsibility\": \"STATE\",\n        \"cl_seg_id\": \"440394\",\n        \"election\": {\n          \"blockid\": \"24021362\",\n          \"precinct\": \"0528\"\n        },\n        \"floor\": {\n          \"floor_num\": null,\n          \"floor_type\": null\n        },\n        \"mailing\": {\n          \"bldgfirm\": \"MARKET STREET BLDG\",\n          \"matchdesc\": \"Multiple Zip4 Matches\",\n          \"uspstype\": \"H\",\n          \"zip4\": \"3721\",\n          \"zipcode\": \"19107\"\n        },\n        \"output_address\": \"1234 MARKET ST\",\n        \"street\": {\n          \"full\": \"MARKET ST\",\n          \"is_centerline_match\": true,\n          \"name\": \"MARKET\",\n          \"parse_method\": \"CL1\",\n          \"postdir\": null,\n          \"predir\": null,\n          \"score\": null,\n          \"street_code\": \"53560\",\n          \"suffix\": \"ST\"\n        },\n        \"street_2\": {\n          \"full\": null,\n          \"is_centerline_match\": false,\n          \"name\": null,\n          \"parse_method\": null,\n          \"postdir\": null,\n          \"predir\": null,\n          \"score\": null,\n          \"street_code\": null,\n          \"suffix\": null\n        }\n      },\n      \"input_address\": \"1234 market street\",\n      \"type\": \"address\"\n    }\n\n## Data Updates\nThe data in the folder folder `passyunk/pdata` is public; the files `centerline.csv` and `centerline_streets.csv` are refreshed on a continual basis, and each data update will create a new version tag for this repository in the format '1.x.0'. \n\nThe private data is housed in the separate `passyunk_automation` package, where files are updated on a monthly basis. Each private data update will result in a new private version tag for this repository in the format '1.y.0+private'. \n\nThus the version 1.4.0 refers solely to the 4th public data update while the version 1.4.0+private refers solely to the 4th private data update. No public data will be updated in a new private data version nor vice-versa, so 1.4.0 and 1.4.0+private have no connection to each other, breaking a rule of SemVer syntax. However, 1.4.0 does contain updated public data compared to 1.3.0, and 1.4.0+private does contain updated private data compared to 1.3.0+private.\n\nWhen `passyunk` is first imported into a python script, it will warn the user if the module's public data version is less than the latest public data version tag on GitHub. Similarly, if it detects that `passyunk_automation` has been installed, it will perform the same check for the private data version. The module will still work fine even if the data is out-of-date.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Address parser for City of Philadelphia addresses",
    "version": "2.34.0",
    "project_urls": null,
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "10de92ea0f596168837235042976be65d298774dbdb4d7cb059c2ce9e7b92040",
                "md5": "81130426a15f6eb1a0ca8fdae3643bad",
                "sha256": "40cc35bf6adb58570ec8eb282f9797b4977a3dd31907731e57e31a7db6709a9c"
            },
            "downloads": -1,
            "filename": "passyunk-2.34.0.tar.gz",
            "has_sig": false,
            "md5_digest": "81130426a15f6eb1a0ca8fdae3643bad",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 659470,
            "upload_time": "2025-08-10T19:33:51",
            "upload_time_iso_8601": "2025-08-10T19:33:51.520153Z",
            "url": "https://files.pythonhosted.org/packages/10/de/92ea0f596168837235042976be65d298774dbdb4d7cb059c2ce9e7b92040/passyunk-2.34.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-10 19:33:51",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "passyunk"
}
        
Elapsed time: 0.99160s