A client/server application to ownload Regulations.gov.
-
Create and activate a virtual environment
python3 -m venv .venv source .venv/bin/activate -
Install source code as a module
The project is organized into multiple modules, which must each be installed as "editable" (using the
-eswitch onpip):pip install -e mirrulations-client pip install -e mirrulations-core pip install -e mirrulations-dashboard pip install -e mirrulations-mocks pip install -e mirrulations-work-generator pip install -e mirrulations-work-server
The client and work generator use environment variables to load key values.
You can either set the relevant values as environment variables or create
a .env file in the relevant module:
-
mirrulations-clientPlace the
.envfile in themirrclientfolder:WORK_SERVER_HOSTNAME=work_server WORK_SERVER_PORT=8080 API_KEY=YOUR_KEY -
mirrulation-work-generatorPlace the
.envfile in themirrgenfolder:API_KEY=YOUR_KEYTo get an api key, visit here. Check client docs for more information.
Type make to run all.
Type make static for only static tests.
Type make test for only pytest. Alternatively, run pytest in the root of
the project to run all tests. You can run pytest in any of module folders
(e.g. in mirrulations-client) to run tests for just that module. Note that
there are pytest.ini files in each module as well as a global pytest.ini.
- Static analysis uses
flake8,pycodestyle, andpylint pytestuses a coverage metric of 95%.- NOTE: Sometimes if
pytestis installed globally, the virtual environment will use that instead. Simply exit and reenter the virtual environment to resolve this. Alternatively, uninstallpytestfrom the global packages (pip3 uninstall pytestin new termainal).
The image below shows the overview of the architecture for our system. Right now, the portions in blue are implemented at a basic level. Those in red are the remaining parts we need to connect. Regardless, the image shows the relationship between the working plumbing but also includes the plan over the next few weeks.

- Abdullah Alharbi (alharbia02@moravian.edu)
- Alex Meci (mecia@moravian.edu)
- Ben Coleman (colemanb@moravian.edu)
- Colby Hillman (hillmanc@moravian.edu)
- Emily Heiser (heisere@moravian.edu)
- Francis Severino-Guzman (severinoguzmanf@moravian.edu)
- Jarod Frekot (frekotj@moravian.edu)
- John Lapatchak (lapatchakjrj@moravian.edu)
- Jonah Beers (beersj02@moravian.edu)
- Jorge Aguilar (aguilarj@moravian.edu)
- Juan Giraldo (giraldoj@moravian.edu)
- Kylie Norwood (norwoodk@moravian.edu)
- Larisa Fava (faval@moravian.edu)
- Riley Kirkpatrick (kirkpatrickr@moravian.edu)
- Trae Freeman (freemant02@moravian.edu)
- William Brandes (brandesw@moravian.edu)