Developer Guide¶
Welcome to the Species Explorer Developer Guide! This section covers development setup, architecture, and contribution guidelines.
Getting Started¶
-
Set up your development environment
-
Understand the plugin structure
-
How to contribute to the project
-
Technical documentation
Quick Start for Developers¶
1. Clone the Repository¶
2. Enter Development Environment¶
Using Nix (recommended):
This provides all development tools including:
- Python with QGIS bindings
- Testing tools (pytest, coverage)
- Code quality tools (black, flake8, isort)
- Documentation tools (mkdocs)
3. Symlink to QGIS¶
4. Launch QGIS¶
Development Workflow¶
graph LR
A[Code] --> B[Format]
B --> C[Lint]
C --> D[Test]
D --> E[Commit]
E --> F[PR]
Common Commands¶
| Command | Description |
|---|---|
nix run .#format |
Format code with black and isort |
nix run .#lint |
Run linters (flake8, pylint) |
nix run .#test |
Run test suite with coverage |
nix run .#docs-serve |
Serve documentation locally |
nix run .#checks |
Run pre-commit checks |
Code Standards¶
- Python 3.9+ target version
- 120 character line length
- Black for code formatting
- Google-style docstrings
- Type hints encouraged
Testing¶
Run the test suite:
View coverage report:
Documentation¶
Build and serve docs locally:
Open http://localhost:8000 in your browser.
Need Help?¶
- Open an issue
- Start a discussion
- Contact Kartoza