A project to automate expunging qualifying criminal records. This project is done in conjunction with the Multnomah County Public Defender's Office.
Fork, and clone the repo.
to install the latest version of python on mac run:
brew install python3
note: this will pull the latest version of python, so when python 3.8 or greater is released it will install that version,
to install python3.7 on ubuntu 18.04 just run the command:
sudo apt-get install python3.7 -y
to install python3.7 on ubuntu 16.04 follow the instructions here
- Install the pipenv package manager which also automatically creates and manages virtual environments.
A Makefile controls installing dependencies, running the Flask app, and removing build artifacts:
- Install dependencies:
Running:
$ make install
will read Pipfile
and install listed Python packages into a Pipenv
virtualenv.
- Run Flask app (also installs dependencies):
Running:
$ make run
will run the Flask
app inside a Pipenv
virtualenv.
- Clean:
Running:
$ make clean
will remove build artifacts.
Currently using pytest for testing.
Run all tests with the following command:
$ make test
.flaskenv
: Environment variables read by flask
command-line interface via python-dotenv
Makefile
: GNU Makefile controlling installing dependencies and running the application
Pipfile
: Pipenv
file listing project dependencies
config
: Project configuration files
doc
: Developer-generated documentation
settings.py
: python-dotenv
configuration file
src
: Source dir
src/backend/expungeservice/app.py
: Flask application
`
- Fork the repo on GitHub
- Clone the project to your own machine. Replacing YOUR-USERNAME with your github username.
$ git clone https://github.com/YOUR-USERNAME/recordexpungPDX.git
- cd into recordexpungPDX
$ cd recordexpungPDX
- Configure upstream to sync with your fork
$ git remote add upstream https://github.com/CodeForPortland/recordexpungPDX.git
- Create a branch to work on. Replacing BRANCH_NAME with a descriptive name of the work planned such as
update_contributing_doc
$ git checkout -b BRANCH_NAME
- Commit changes to your branch (never to master)
- Push your work back up to your fork
$ git push
- NOTE: The first time you do
git push
on your branch it will error with:
fatal: The current branch BRANCH_NAME has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin BRANCH_NAME
- Copy the output and run it. Then afterwords simply push more commits by running
git push
.
- Submit a Pull request
- NOTE: For future contributions be sure to sync master with upstream
$ git checkout master
$ git pull upstream master
$ git checkout -b BRANCH_NAME
TODO: Add license