Import city.json files to postgreSQL
Reason this release was yanked:
No CLI
Project description
cjdb
CJDB is a tool for enabling CityJSON integration with a PostgreSQL database.
Authors: Cynthia Cai, Lan Yan, Yitong Xia, Chris Poon, Siebren Meines, Leon Powalka
Table of Contents
1. Data model
2. Installation & running
3. Local development
4. Local CLI development
1. Data model
For the underlying data model see model/README.md
Based on this model, there are 2 software components available:
cj2pgsql
2. Installation & running
Using pip
It is recommended to install it in an isolated environment, because of fragile external library dependencies for CQL filter parsing.
pip install cjdb
Using the repository code
Another option is to clone the repository and build the CLI from the code. From repository root, run:
pip3 install build wheel
python3 -m build
Then install the .whl file with pip:
pip3 install dist/*.whl --force-reinstall
Using docker
Build:
docker build -t cjdb:latest .
Run: cj2pgsql
docker run --rm -it cjdb cj2pgsql --help
To import some files, the -v
option is needed to mount our local file directory in the container.
docker run -v {MYDIRECTORY}:/data --rm -it --network=host cjdb cj2pgsql -H localhost -U postgres -d postgres -W postgres /data/5870_ext.jsonl
For instructions on running the software check specific READMEs.
3. Local development
Make sure pipenv is installed:
pip install pipenv
Create the environment:
pipenv install
4. Local CLI development
To build the CLI app (so that it can be called as a command line tool from anywhere):
- Sync the pipenv requirements with the setup.py file:
pipenv run pipenv-setup sync
- Create a venv just for testing the CLI build.
Note: This is not the pipenv/development environment.
virtualenv venv
- Activate environment (note: this is not the pipenv environment. This is a separate environment just to test the CLI build)
. venv/bin/activate
- Build the CLI:
python setup.py develop
- The cj2pgsql importer should now work as a command inside this environment:
cj2pgsql --help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.