.. image:: https://github.com/MacHu-GWU/uszipcode-project/workflows/CI/badge.svg :target: https://github.com/MacHu-GWU/uszipcode-project/actions?query=workflow:CI
.. image:: https://codecov.io/gh/MacHu-GWU/uszipcode-project/branch/master/graph/badge.svg :target: https://codecov.io/gh/MacHu-GWU/uszipcode-project
.. image:: https://readthedocs.org/projects/uszipcode/badge/?version=latest :target: https://uszipcode.readthedocs.io/?badge=latest :alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/uszipcode.svg :target: https://pypi.python.org/pypi/uszipcode
.. image:: https://img.shields.io/pypi/l/uszipcode.svg :target: https://pypi.python.org/pypi/uszipcode
.. image:: https://img.shields.io/pypi/pyversions/uszipcode.svg :target: https://pypi.python.org/pypi/uszipcode
.. image:: https://img.shields.io/pypi/dm/uszipcode :target: https://pypi.python.org/pypi/uszipcode
.. image:: https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social :target: https://github.com/MacHu-GWU/uszipcode-project
.. image:: https://img.shields.io/badge/Link-Document-blue.svg :target: https://uszipcode.readthedocs.io/index.html
.. image:: https://img.shields.io/badge/Link-API-blue.svg :target: https://uszipcode.readthedocs.io/py-modindex.html
.. image:: https://img.shields.io/badge/Link-Source_Code-blue.svg :target: https://uszipcode.readthedocs.io/py-modindex.html
.. image:: https://img.shields.io/badge/Link-Install-blue.svg
:target: install
_
.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg :target: https://github.com/MacHu-GWU/uszipcode-project
.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg :target: https://github.com/MacHu-GWU/uszipcode-project/issues
.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg :target: https://github.com/MacHu-GWU/uszipcode-project/issues
.. image:: https://img.shields.io/badge/Link-Download-blue.svg :target: https://pypi.org/pypi/uszipcode#files
uszipcode
Documentation.. contents:: :class: this-will-duplicate-information-and-it-is-still-useful-here :depth: 1 :local:
If you are on www.pypi.org or www.github.com, this is not the complete document. Here is the Complete Document <https://uszipcode.readthedocs.io/index.html>
_.
If you are looking for technical support, click the badge below to join this gitter chat room and ask question to the author.
.. image:: https://img.shields.io/badge/Chat-Tech_Support-_.svg :target: https://gitter.im/MacHu-GWU-Python-Library-Technical-Support/community
uszipcode
is the most powerful and easy to use programmable zipcode database in Python. It comes with a rich feature and easy-to-use zipcode search engine. And it is easy to customize the search behavior as you wish.
Disclaimer
I started from a academic research project for personal use. I don't promise for data accuracy, please use with your own risk.
Where the data comes from?
The data is crawled from data.census.gov. There's data tool allows you to explore 1300+ data points of a zipcode. You can play it yourself with this link https://data.census.gov/cedsci/table?q=94103.
Is this data set Up-to-Date?
Even the data.census.gov use different source for different data fields. For example, the latest general population / income / education data by zipcode are still from Census2010. But population over time data are based from IRS until FY 2018.
In general, static statistic data are from Census 2010. Demographic statistics over time has data utill 2020.
How many Zipcode in this Database
There are 42,724 zipcodes in this database. There are four different type zipcode:
Number of zipcodes for each type::
+--------------+-------+------------+
| zipcode_type | count | percentage |
+--------------+-------+------------+
| STANDARD | 30001 | 70.22 |
| PO BOX | 9397 | 21.99 |
| UNIQUE | 2539 | 5.94 |
| MILITARY | 787 | 1.84 |
+--------------+-------+------------+
I found a Great data source, how to contribute?
You can open an Issue <https://github.com/MacHu-GWU/uszipcode-project/issues/new?assignees=&labels=enhancement&template=i-found-a-data-source.md&title=I+found+a+data+source>
_ and leave the URL of the data source, brief description about the dataset.
Address, Postal
Geography
Stats and Demographics
Real Estate and Housing
occupied_housing_units
median_home_value
median_household_income
housing_type
rental_properties_by_number_of_rooms
monthly_rent_including_utilities_studio_apt
Employment, Income, Earnings, and Work
annual_individual_earnings
sources_of_household_income____percent_of_households_receiving_income
sources_of_household_income____average_income_per_household_by_income_source
household_investment_income____percent_of_households_receiving_investment_income
household_investment_income____average_income_per_household_by_income_source
household_retirement_income____percent_of_households_receiving_retirement_incom
household_retirement_income____average_income_per_household_by_income_source
source_of_earnings
Education
.. _install:
uszipcode
is released on PyPI, so all you need is:
.. code-block:: console
$ pip install uszipcode
To upgrade to latest version:
.. code-block:: console
$ pip install --upgrade uszipcode
Silences a warning upon SearchEngine instantiation by having python-Levenshtein installed.
cannot import name 'SearchEngine' from 'uszipcode' I am trying to use in a conda ArcGIS environment.
from uszipcode import SearchEngine
SQLAlchemy 1.4.46 sqlalchemy-mate 1.4.28.3 uszipcode 1.0.1
Thanks.
Plymouth Minnesota
Traceback (most recent call last):
File "C:\Users\m184194\Documents\Mayo\Projects\Patten_Facebook\scripts\facebook-friends-map\test.py", line 14, in
from uszipcode import SearchEngine engine = SearchEngine()
def get_zipcode(current_city): city = current_city.split(",")[0].strip() state = current_city.split(",")[1].strip() print(city, state) zipcodes = engine.by_city_and_state(city=city, state=state) for zipcode in zipcodes: print(zipcode.zipcode, zipcode.major_city, zipcode.population)
current_city = "Plymouth, Minnesota" get_zipcode(current_city) engine.close()
Maybe you can try talk to the author lively here https://gitter.im/MacHu-GWU-Python-Library-Technical-Support/community
Python garbage collection triggers error within SearchEngine.__del__
:
Exception ignored in: <function SearchEngine.__del__ at 0x1050100d0>
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/uszipcode/search.py", line 196, in __del__
File "/usr/local/lib/python3.9/site-packages/uszipcode/search.py", line 202, in close
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1811, in close
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 1853, in _close_impl
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/orm/session.py", line 923, in close
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2416, in close
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2639, in _do_close
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2625, in _close_impl
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2617, in _connection_rollback_impl
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1059, in _rollback_impl
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 2124, in _handle_dbapi_exception
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/util/compat.py", line 208, in raise_
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/base.py", line 1057, in _rollback_impl
File "/usr/local/lib/python3.9/site-packages/sqlalchemy/engine/default.py", line 683, in do_rollback
sqlalchemy.exc.ProgrammingError: (sqlite3.ProgrammingError) Cannot operate on a closed database.
(Background on this error at: https://sqlalche.me/e/14/f405)
Don't think this has to do with how I'm calling SearchEngine
. Produces annoying error message when the script finishes.
Want to use Data in simple_db.sqlite; Export to Excel; Common_city_list is displayed as eJyLVgouLSqqVIoFAA9dAyI= How do you parse this data; Python is not very good; How do you parse this data using Java?
A first production release
Cloud Data Architect focus on data infrastructure, deliver reliable and resilient applications, spread software engineering best practice.
GitHub Repository