Thank you for helping improve LANScape! This guide keeps local development consistent & understandable
- Python 3.10+ installed
- Git
- PowerShell 7+ on Windows (or Bash/zsh on macOS/Linux)
- Clone the repo and
cdinto it. - Create a virtual environment:
- Windows (PowerShell):
python -m venv .env .\.env\Scripts\Activate.ps1 - macOS/Linux (bash/zsh):
python -m venv .env source .env/bin/activate
- Windows (PowerShell):
- Upgrade pip and install all dependencies (including dev tools) from
pyproject.toml:python -m pip install --upgrade pip python -m pip install -e ".[dev]"
- Execute locally
python -m lanscape # ensure version number loads as 0.0.0 - Run tests (fast, parallel):
python -m pytest tests/ -n auto --dist=loadscope -v
- Lint (pylint with repo defaults):
python -m pylint --score=yes scripts/ lanscape/ tests/
- Format (autopep8, 100 col limit):
python -m autopep8 --in-place --recursive . --max-line-length 100 -aa
- Add them to the appropriate section of
pyproject.toml(dependenciesfor runtime,project.optional-dependencies.devfor tooling/tests). - Never add a
requirements.txt; CI installs frompyproject.tomlonly.
- Create a feature branch from
main. - Make changes with type hints and tests where relevant.
- Run lint and tests locally.
- Open a PR; CI will run pytest and pylint across supported Python versions.
- Ensure PR includes version number, ie. ".. - "
Thanks for contributing! 💡