Skip to main content

Import city.json files to postgreSQL

Reason this release was yanked:

No CLI

Project description

cjdb

MIT badge   PyPI

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

See cj2pgsql/README.md

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):

  1. Sync the pipenv requirements with the setup.py file:
pipenv run pipenv-setup sync
  1. Create a venv just for testing the CLI build.

Note: This is not the pipenv/development environment.

virtualenv venv
  1. Activate environment (note: this is not the pipenv environment. This is a separate environment just to test the CLI build)
. venv/bin/activate

  1. Build the CLI:
python setup.py develop
  1. The cj2pgsql importer should now work as a command inside this environment:
cj2pgsql --help

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

cjdb-1.0.0.tar.gz (1.2 MB view hashes)

Uploaded Source

Built Distribution

cjdb-1.0.0-py3-none-any.whl (1.2 MB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page