SQL loader for Socrata data sets
Project description
🏛️ socrata2sql
Plenty of state and local governments use Socrata to run their open data portals. This tool allows you to grab a dataset from one of these portals and copy it into a SQL database of your choice. It uses the Socrata API to understand the columns in the dataset and attempts to create correctly-typed columns in the SQL database to match, including PostGIS geometries if the database and source dataset support them.
Requirements
- Python 3.x
Installation
$ pipenv install socrata2sql
or
$ pip install socrata2sql
Usage
Socrata to SQL database loader
Load a dataset from a Socrata-powered open data portal into a SQL database.
Uses the Socrata API to inspect the dataset, then sets up a table with matching
SQL types and loads all rows. The loader supports any database supported by
SQLalchemy.
Usage:
socrata2sql insert <site> <dataset_id> [-d=<database_url>] [-a=<app_token>] [-t=<table_name>]
socrata2sql ls <site> [-a=<app_token>]
socrata2sql (-h | --help)
socrata2sql (-v | --version)
Options:
<site> The domain for the open data site. Ex: www.dallasopendata.com
<dataset_id> The ID of the dataset on the open data site. This is usually
a few characters, separated by a hyphen, at the end of the
URL. Ex: 64pp-jeba
-d=<database_url> Database connection string for destination database as
dialect+driver://username:password@host:port/database.
Default: sqlite:///<dataset name>.sqlite
-t=<table_name> Destiation table in the database. Defaults to a sanitized
version of the dataset's name on Socrata.
-a=<app_token> App token for the site. Only necessary for high-volume
requests. Default: None
-h --help Show this screen.
-v --version Show version.
Examples:
List all datasets on the Dallas open data portal:
$ socrata2sql ls www.dallasopendata.com
Load the Dallas check register into a local SQLite file (file name chosen
from the dataset name):
$ socrata2sql insert www.dallasopendata.com 64pp-jeba
Load it into a PostgreSQL database called mydb:
$ socrata2sql insert www.dallasopendata.com 64pp-jeba -d=postgresql:///mydb
Local development
There are (for now) very limited tests. They can be run with:
$ python setup.py tests
Copyright
© 2019 The Dallas Morning News
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
Built Distribution
File details
Details for the file socrata2sql-0.1.4.tar.gz
.
File metadata
- Download URL: socrata2sql-0.1.4.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e58536fc91004694d41203bf4412d4205fc822c18cf06cd5d51af0096e97ad77 |
|
MD5 | 51662bb2d729b9dc2aca424c933b919a |
|
BLAKE2b-256 | 223ddac86bf74761a2d3674952355d81aa8ed90f89b442054881881f2d288941 |
File details
Details for the file socrata2sql-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: socrata2sql-0.1.4-py3-none-any.whl
- Upload date:
- Size: 8.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 710b1bce42140b903cd5669560f71e8378b1cc4acd54798dfc6311bb3c9a1c17 |
|
MD5 | 0510d61818b996ced977c54df3d7ad79 |
|
BLAKE2b-256 | 69ca8f9f7816bf71607002288412ffc14851b21fa74c4aa0783eb40384aad20e |