Do you want a database which contains most of cities in the world as well as the countries? This app will save 3 collections to your mongodb:
cities
states
countries
- Language agnostic because it's not a lib. Consume the result database using any language you like.
- Source data from GeoNames.org is under active updates. And this app will let you update in few seconds.
python main.py
to generate the database from source datapython update.py
to update the source data from GeoNames- Remove any fields you don't need in
settings.py
- Could filter countries which only speak certain languages. (see
setting.py
)
- Python 3
- Python 2 should be fine, but haven't tried.
-
git clone
-
pip install
uses requirements.txt -
Open
settings.py
, set up your database settings. -
python main.py
-
Enjoy :)
- To update the source data in
data
folder:python update.py
[data]
: [Folder] Raw data from GeoNames[models]
: [Folder] database fields for city and country[utils]
: [Folder] Helper functionsettings.py
: Settingsmain.py
: Main file to generate the databaseupdate.py
: Update the sourcedata
from GeoNames
-
The data is from GeoNames.
-
The
cities
contains cities which population greater than 500. -
How to update the data
python update.py