Contributing to QGIS Earth Engine Plugin
May 18, 2026 · View on GitHub
Thank you for your interest in contributing to the QGIS Earth Engine Plugin! We appreciate your support and contributions.
Setting Up for Local Development
To contribute locally, follow these steps:
-
Clone the repository:
git clone https://github.com/gee-community/qgis-earthengine-plugin.git cd qgis-earthengine-plugin -
Create a virtual environment and install development dependencies:
python3 -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate` pip install -r requirements.txt pip install -r requirements-dev.txt -
Create a symlink to your plugin directory so it can be loaded directly into QGIS:
# macOS/Linux — QGIS 3.x ln -sf "$(pwd)/ee_plugin" "$HOME/Library/Application Support/QGIS/QGIS3/profiles/default/python/plugins/ee_plugin" # macOS/Linux — QGIS 4.x ln -sf "$(pwd)/ee_plugin" "$HOME/Library/Application Support/QGIS/QGIS4/profiles/default/python/plugins/ee_plugin"# Windows PowerShell (as Administrator) — QGIS 3.x $src = "$(pwd)\ee_plugin" $dst = "$env:APPDATA\QGIS\QGIS3\profiles\default\python\plugins\ee_plugin" New-Item -ItemType SymbolicLink -Path $dst -Target $src # For QGIS 4.x, replace QGIS3 with QGIS4 in the path above -
Restart QGIS and enable the plugin via the Plugin Manager. Use the Plugin Reloader for a faster development loop.
Debugging within VSCode
The plugin can be debugged within Visual Studio Code with the help of the debugvs QGIS plugin.
Note
At time of writing, an outstanding PR is required to successfully debug QGIS. This fix can manually be applied by copying the __init__.py file to your local installation of the debugvs plugin.
Example MacOSX:
curl https://raw.githubusercontent.com/lmotta/debug_vs_plugin/f1f28d72eb0221581b51c7dd1e4d0435db991eb8/__init__.py >> ~/Library/Application\ Support/QGIS/QGIS3/profiles/default/python/plugins/debug_vs/__init__.py
Workflow
- Within QGIS:
- Start “Enable Debug for Visual Studio Code” plugin.
- Within the
qgis-earthengine-plugincodebase opened within VSCode:- In Debug tools, launch the Run and Debug for “Python: Remote Attach”
- In the codebase, add breakpoints where desired.
- Within QGIS:
- Run EarthEngine QGIS plugin to trigger code at desired breakpoints.
Code Contribution Process
-
Ensure your contribution addresses an existing issue or discussion topic in the repository. If it does not, please open an issue to discuss your idea before starting.
-
Create a new branch for your changes:
git checkout -b feature/your-feature-name -
Make your changes and ensure they follow the project’s coding standards.
-
Test your changes locally including reinstalling new dependencies for the QGIS environment with:
pip install -r requirements.txt -t ee_plugin/extlibs -
Commit your changes with a clear and descriptive message:
git commit -m "Add a clear description of your changes" -
Push your changes to your forked repository:
git push origin feature/your-feature-name -
Open a Pull Request (PR) against the main repository. Ensure your PR description includes the problem it solves, a summary of changes, and any additional notes.
Coding Standards
- Follow Python’s PEP 8 guidelines for code style.
- Ensure that your code is well-documented with comments and docstrings.
- Use descriptive variable and function names.
Testing
-
Test your changes thoroughly before submitting a PR.
-
Run unit tests using pytest from your virtual environment:
pytest -
If possible, add tests to cover your changes and ensure they pass.
Questions or Help?
If you have any questions or need assistance, feel free to reach out by creating an issue or adding a post in the Discussions.
Building and Releasing
We use ReleasePlease to publish the plugin. Versions using the suffix beta are published as experimental via the qgis-plugin-ci. Make sure the changelog is up to date.
Thank you for contributing to the QGIS Earth Engine Plugin!