Skip to main content

QGIS Venv Creator

PyPI - Version PyPI - Python Version Tests and Style check


Single file and zero dependency tool to create a Python virtual environment for QGIS plugin development.

Table of Contents

Installation

The recommended way to install qgis-venv-creator (and other Python cli tools) is to install it with pipx. Pipx will install the application in an isolated environment and make it available as a command line utility. To install pipx, follow the instructions provided at https://github.com/pypa/pipx#install-pipx.

$ pipx install qgis-venv-creator

Alternatively, to install in your current Python environment:

$ pip install qgis-venv-creator

Copy as a script

qgis-venv-creator is a single Python script that can be downloaded and copied to your project root, or any other location from which you wish to use it.

Usage

Quick start

On your plugin root directory, run:

$ create-qgis-venv

Note:
If you have copied the script file to your project root, you can run it with python create-qgis-venv.py.

On a system where there might be multiple QGIS installations (ie. Windows, MacOs), you are asked to select the one you want to use for development.

After the virtual environment is created, you can activate it and it will have access to the QGIS Python environment.

Options

create-qgis-venv [-h] [--venv-parent VENV_PARENT] [--venv-name VENV_NAME]
                    [--qgis-installation QGIS_INSTALLATION]
                    [--qgis-installation-search-path-pattern QGIS_INSTALLATION_SEARCH_PATH_PATTERN]
                    [--python-executable PYTHON_EXECUTABLE] [--debug]
Option Available on platform Description
-h, --help ALL Show this help message and exit
--venv-parent ALL Path to the parent directory of the virtual environment to be created. Most likely your project directory. Default current directory.
--venv-name ALL Name of the virtual environment
--qgis-installation Windows Path to the QGIS installation to use for development. Installations made with official msi and Osgeo4W installers are supported. Give the path to the 'qgis' directory inside the 'apps' directory. If not given, the user is prompted to select one.
--qgis-installation-search-path-pattern Windows Custom glob pattern for QGIS installations to be selected. Can be set also with environment variable QGIS_INSTALLATION_SEARCH_PATH_PATTERN. For example "C:\qgis\*\apps\qgis*\" to find installations from "C:\qgis\3.32\apps\qgis\" and "C:\qgis\3.28\apps\qgis-ltr\"
--python-executable Windows Path to the Python executable used by the QGIS installation. If not given, the Python executable is searched from the QGIS installation.
--debug ALL Enable debug logging

Development

This project uses uv for development and packaging. Install instructions can be found at https://docs.astral.sh/uv/getting-started/installation/.

Create the development environment with:

uv sync

uv creates an in-project .venv, which VS Code picks up automatically as the interpreter.

Common commands:

uv run pytest                        # run unit tests (e2e skipped by default)
uv run pytest tests/unit/test_prompt.py::test_prompt_on_valid_selection   # single test
uv run coverage run -m pytest        # run tests with coverage
uv run coverage report               # print coverage report
uv run ty check src/qgis_venv_creator tests   # type check
uv run ruff check .                  # lint
uv run ruff format .                 # format
uv build                             # build sdist + wheel into dist/

To run the test suite against a specific Python version, pass -p, e.g. uv run -p 3.8 pytest.

The version is bumped with uv version --bump <major|minor|patch> followed by python scripts/sync_version.py, which copies the new version into __version__ in src/qgis_venv_creator/create_qgis_venv.py (tests/unit/test_version.py guards against drift).

Pre-commit hook

This project uses prek to run code checks before committing.

Install pre-commit hooks to your repo with:

uv run prek install

License

qgis-venv-creator is distributed under the terms of the MIT license.

Metadata

Release files for qgis-venv-creator 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qgis-venv-creator 0.2.1
File Size Uploaded Provenance
qgis_venv_creator-0.2.1.tar.gz 8.6 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for qgis-venv-creator 0.2.1
File Interpreter ABI Platform
qgis_venv_creator-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 18.1 kB

Release files / qgis_venv_creator-0.2.1.tar.gz

Download URL qgis_venv_creator-0.2.1.tar.gz
Size 8.6 kB
Tags Source
SHA-256 checksum
How to use checksums
81226a1cb09328ec5c873349a46e2b32ebf1d00a713db17423e5b8f6f03d018b
BLAKE2b-256 checksum
How to use checksums
cd621730702d2271b2a72b88fbb20bb6f52a5520c173131d8e95d66429938d65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Release files / qgis_venv_creator-0.2.1-py3-none-any.whl

Download URL qgis_venv_creator-0.2.1-py3-none-any.whl
Size 9.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52df40a44b5c4dd7c71d117458f5be13da7f1c62035c994b1389aa7c19956473
BLAKE2b-256 checksum
How to use checksums
242fd077736932e57bc50f40f2d1563ae57dc7e874c202f480fd163499b71bd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

Security for qgis-venv-creator 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for qgis_venv_creator-0.2.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page