Welcome to the River's Edge Production Team repository!
scripts/
directory.pip install -r setup/requirements.txt
setup/New-Shortcuts.ps1
in PowerShell.setup/make_shortcuts.sh
in bash.startup.bat
on startup. You can do this by copying a shortcut to the script into the startup folder (https://support.microsoft.com/en-us/windows/add-an-app-to-run-automatically-at-startup-in-windows-10-150da165-dcd9-7230-517b-cf3c295d89dd).startup.command
on startup. You can do this by adding a new "login item" in the System Preferences (https://stackoverflow.com/a/6445525).python manage_config.py activate
.scripts/
directory.python -m venv .venv
. Activate this virtual environment using source .venv/bin/activate
on MacOS or .venv/Scripts/activate
on Windows.pip install -r setup/requirements.txt
pip install -r setup/requirements-dev.txt
.python manage_config.py activate --profile PROFILE
. To see the full list of available profiles, run python manage_config.py list
.git config core.hooksPath ./.git-hooks
..git-hooks/
: Git hooks, such as for running tests before committing code..github/workflows/
: GitHub Actions workflows, such as for opening issues for checklists on Sundays or continuous integration.checklists/
: Templates for checklists.scripts/
:
scripts/___.py
: These are command-line programs that can be run to perform common tasks, such as generating backup slides or downloading files from Planning Center.
foo.py
using python foo.py
or pythonw foo.py
.foo.py
by running python foo.py --help
.scripts/___.{bat,command,sh}
: For each top-level Python file (e.g., foo.py
) there should be a corresponding batch file (e.g., foo.bat
on Windows, foo.command
on macOS) that launches the corresponding Python script. These can be used to create desktop shortcuts.
Folders inside scripts/
: Code required by the top-level Python scripts is organized into packages (i.e., subdirectories). Each one should have a file __init__.py
that summarizes the purpose of that package. The following figure shows the dependencies between packages.
scripts/test/
. These are tests to ensure the scripts work as expected. Run all the automated tests using python -m unittest
or run specific automated tests using python -m unittest discover -t . -s <PATH-TO-TESTS>
.
scripts/test/unit
. These are "unit tests" - they test individual software components and avoid side-effects like accessing the file system or the Internet.scripts/test/integration
. These are "integration tests" - they test multiple components or have side-effects like accessing the file system or the Internet. As a result, they tend to be slower.scripts/test/manual
. This package is meant to guide you through testing the project for cases where automated testing is impractical. Run it by moving into the scripts
directory and then running python -m test.manual
.