How to use the template:
- Click on the top-right green "Use this template" button. Make sure to select all branches
This will create a new repository with the given name e.g. urban-potato
- Clone the repository locally
git clone git@github.com:pbashyal-nmdp/urban-potato.git cd urban-potato
- Make a virtual environment and activate it, run make venv> make venv Using CPython 3.13.7 Creating virtual environment at: .venv Activate with: source .venv/bin/activate 
- Source the virtual environment
source .venv/bin/activate
- Development workflow is driven through Makefile. Usemaketo list show all targets.> make clean remove all build, test, coverage and Python artifacts clean-build remove build artifacts clean-pyc remove Python file artifacts clean-test remove test and coverage artifacts lint check style with ruff behave run the behave tests, generate and serve report pytest run tests quickly with the default Python test run all(BDD and unit) tests coverage check code coverage quickly with the default Python dist builds source and wheel package docker-build build a docker image for the service docker build a docker image and run the service sync install the package to the active Python's site-packages install Sync pyproject.toml to .venv as well as install tools venv creates a Python3 virtualenv environment in venv activate activate a virtual environment. Run `make venv` before activating.
- Install and sync all the project and development dependencies.
make install 
- The Gherkin Feature files, step files and pytest files go in testsdirectory:tests |-- features | |-- algorithm | | `-- SLUG\ Match.feature | `-- definition | `-- Class\ I\ HLA\ Alleles.feature |-- steps | |-- HLA_alleles.py | `-- SLUG_match.py `-- unit `-- test_my_project_template.py
- Package Module files go in the src/my_project_templatedirectory.my_project_template |-- __init__.py |-- algorithm | `-- match.py |-- model | |-- allele.py | `-- slug.py `-- my_project_template.py
- Run all tests with make testor different tests withmake behaveormake pytest.make behavewill generate report files and open the browser to the report.
- Use uv run app.pyto run the Flask service app in debug mode. Service will be available at http://localhost:8080/
- Use make docker-buildto build a docker image using the currentDockerfile.
- make dockerwill build and run the docker image with the service. Service will be available at http://localhost:8080/