Enlistment in this repository involves these steps.
Step |
Command Line |
Description |
1. Clone the repository locally |
git clone https://github.com/gt-sse-center/copier-ProjectScaffolding |
https://git-scm.com/docs/git-clone |
2. Bootstrap the environment |
Linux / MacOS |
./Bootstrap.sh [--python-version <python version>] |
Windows |
Bootstrap.cmd [--python-version <python version>] |
|
Prepares the repository for local development by enlisting in all dependencies. |
3. Activate the environment |
Linux / MacOS |
. ./Activate.sh |
Windows |
Activate.cmd |
|
Activates the terminal for development. Each new terminal window must be activated.
Activate.sh/.cmd is actually a shortcut to the most recently bootstrapped version of python (e.g. Activate3.11.sh/.cmd). With this functionality, it is possible to support multiple python versions in the same repository and activate each in a terminal using the python-specific activation script.
|
4. [Optional] Deactivate the environment |
Linux / MacOS |
. ./Deactivate.sh |
Windows |
Deactivate.cmd |
|
Deactivates the terminal environment. Deactivating is optional, as the terminal window itself may be closed when development activities are complete.
|
Each of these activities can be invoked from an activated terminal on your local machine.
Activity |
Command Line |
Description |
Invoked by Continuous Integration |
Code Formatting |
python Build.py black [--format] |
Format source code using black based on settings in pyproject.toml . |
✅ |
Automated Testing |
python Build.py pytest |
Run automated tests using pytest. |
✅ |
Development Docker Image |
python Build.py create_docker_image |
Create a docker image for a bootstrapped development environment. This functionality is useful when adhering to the FAIR principles for research software by supporting the creation of a development environment and its dependencies as they existed at the moment when the image was created. |
|