Development Setup
Requirements
Currently supported: Python Versions 3.8 - 3.13
Tested under Ubuntu 20.04 with Poetry 1.4.0 and Python 3.10.12
Tested under Windows 11 running WSL2 with Poetry 1.5.1 and Python 3.10.6
Tested under Windows 11 native with Poetry 1.5.1 and Python 3.10.6
Installation Steps
Poetry Installation
To install Poetry, follow the official installation instructions found at Poetry Installation.
Navigate to the Project’s Root Directory
Open your terminal and navigate to the root directory of your project:
cd /path/to/your/project
Create a Virtual Environment
Run the following command to create a virtual environment using Python 3.10:
poetry env use python3.10
Activate the Virtual Environment
Activate the virtual environment by running:
poetry shell
Update poetry.lock File
Ensure the poetry.lock file is up-to-date with the pyproject.toml file by running:
poetry lock --no-update
Install Project Dependencies
Install the project dependencies using Poetry:
poetry install
Install Git Pre-commit Hook
Install a Git pre-commit hook to perform linting before commits:
poetry run install-hook
Set Poetry Virtual Environment as Project Interpreter
Set the Poetry virtual environment as the project interpreter. You can find the path to the virtual environment by running:
poetry env info
Use this path to configure your IDE or text editor to use the Poetry virtual environment.
Following these steps will give you a properly configured development environment for the gemtest
framework.
Available poetry Scripts
To run tests (with outputs), use:
poetry run test
To run tests on an example, use:
poetry run example <example-name>
To run tests with coverage and show results, use:
poetry run cov
To run linters (equivalent to poetry run prospector), use:
poetry run lint
Coding Standards
Make sure to read our Coding Standards before getting started. This ensures consistency, maintainability, and code quality throughout the project.
Contributing on GitLab
If you want to learn how to contribute on GitLab, check out the GitLab Contribution Guide.