Urban-Analytics-Technology-Platform / poppusher

https://popgetter.readthedocs.io/en/latest/
Apache License 2.0
7 stars 1 forks source link

poppusher

Actions Status Documentation Status

PyPI version Conda-Forge PyPI platforms

GitHub Issues

Popgetter is a convenience tool for downloading census data from a number of different jurisdictions and coercing the data into common formats. The aim is that city or region scale analysis can be easily replicated for different geographies, using the most detailed, locally available data.

What popgetter does and doesn't do

Popgetter DOES:

For each of the implemented countries:

Popgetter WILL

Popgetter DOES NOT:

Getting started

At present, this is still a development project, so the first step is to clone the repo and then install using pip, with the --editable option:

  1. Create a virtual environment and activate it (you should be able to use your own choice of environment manager, such as conda or venv, but so far pyenv is the most tested with popgetter). eg:
python  -m venv poppusher_venv    # create a virtual environment called `poppusher_venv`
source poppusher_venv/bin/activate  # activate the virtual environment
  1. Clone the repo and then do an 'editable' install:
git clone https://github.com/Urban-Analytics-Technology-Platform/poppusher.git
cd poppusher
pip install -e ".[dev]"
  1. Then, start the Dagster UI web server:
dagster dev

Open http://localhost:3000 with your browser to see the project.

Development

You can start writing assets in poppusher/assets/ directory. New assets and jobs will need to be added to the poppusher/__init__.py file.

Adding new Python dependencies

You can specify new Python dependencies in pyproject.toml.

Unit testing

Tests are in the poppusher_tests directory and you can run tests using pytest:

pytest

Repo structure

This is a Dagster project. The repo layout was initially created with the dagster project scaffold command. It has been subsequently updated using the copier command and the Scientific Python template.

There is code, which predates the migration to Dagster in the previous_code directory. In due course, this will be removed as the remaining countries are migrated to Dagster. There are usage instructions for this old code in previous_code/previous_code_usage.md.