Name | qgis-plugin-ci JSON |
Version |
2.8.8
JSON |
| download |
home_page | |
Summary | Let qgis-plugin-ci package and release your QGIS plugins for you. Have a tea or go hiking meanwhile. Contains scripts to perform automated testing and deployment for QGIS plugins. These scripts are written for and tested on GitHub Actions, GitLab CI, Travis-CI, and Transifex. |
upload_time | 2024-02-23 14:59:58 |
maintainer | |
docs_url | None |
author | |
requires_python | >=3.8 |
license | GPLv3 |
keywords |
qgis
ci
changelog
plugin
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# QGIS Plugin CI
[![PyPi version badge](https://badgen.net/pypi/v/qgis-plugin-ci)](https://pypi.org/project/qgis-plugin-ci/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/qgis-plugin-ci)](https://pypi.org/project/qgis-plugin-ci/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/qgis-plugin-ci)](https://pypi.org/project/qgis-plugin-ci/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/opengisch/qgis-plugin-ci/master.svg)](https://results.pre-commit.ci/latest/github/opengisch/qgis-plugin-ci/master)
Contains scripts to perform automated testing and deployment for QGIS plugins.
These scripts are written for and tested on GitHub, Travis-CI, github workflows and Transifex.
- Deploy plugin releases on QGIS official plugin repository
- Publish plugin in Github releases, option to deploy a custom repository
- Easily integrated in Travis-CI or github workflows
- Completely handle translations with Transifex:
- create the project and the languages
- pull and push translations
- all TS/QM files can be managed on the CI, the `i18n` folder can be omitted from the Git repository
- `changelog` section in the metadata.txt can be populated if the CHANGELOG.md is present
- set the `experimental` flag according to the tag if needed
:book: For further information, see [the documentation](https://opengisch.github.io/qgis-plugin-ci/).
QGIS-Plugin-CI is best served if you use these two conventions :
- [Semantic versioning](https://semver.org/)
- [Keep A Changelog](https://keepachangelog.com)
## Command line
```commandline
usage: qgis-plugin-ci [-h] [-v]
{package,changelog,release,pull-translation,push-translation}
...
optional arguments:
-h, --help show this help message and exit
-v, --version print the version and exit
commands:
qgis-plugin-ci command
{package,changelog,release,pull-translation,push-translation}
package creates an archive of the plugin
changelog gets the changelog content
release release the plugin
pull-translation pull translations from Transifex
push-translation update strings and push translations
```
## Requirements
- The code is under a **git** repository (`git archive` is used to bundle the plugin).
- There is no uncommitted changes when doing a package/release (althought there is an option to bypass this requirement).
- A configuration at the top directory either in `.qgis-plugin-ci` or in `setup.cfg` or `pyproject.toml` with a `[qgis-plugin-ci]` section (see `docs/configuration/options.md` for details).
- The source files of the plugin are within a sub-directory with a `metadata.txt` file with the following fields:
- description
- qgisMinimumVersion
- repository
- tracker
See `parameters.py` for more parameters and details. Notice that the name of this directory will be used for the zip file.
## QRC and UI files
- Any .qrc file in the source top directory (plugin_path) will be compiled and output as filename_rc.py. You can then import it using `import plugin_path.resources_rc`
- Currently, qgis-plugin-ci does not compile any .ui file.
## Publishing plugins
When releasing, you can publish the plugin :
1. In the official QGIS plugin repository. You need to provide user name and password for your Osgeo account.
2. As a custom repository in Github releases and which can be added later in QGIS. The address will be: https://github.com/__ORG__/__REPO__/releases/latest/download/plugins.xml
Both can be achieved in the same process.
## Pre-release and experimental
In the case of a pre-release (either from the tag name according to [Semantic Versioning](https://semver.org/) or from the GitHub release), the plugin will be flagged as experimental.
The tool will recognise any label use as a suffix to flag it as pre-release :
- `10.1.0-beta1`
- `3.4.0-rc.2`
## Debug
In any Python module, you can have a global variable as `DEBUG = True`, which will be changed to `False` when packaging the plugin.
## Other tools
### QGIS-Plugin-Repo
QGIS-Plugin-CI can generate the `plugins.xml` file, per plugin.
If you want to merge many XML files into one to have a single QGIS plugin repository providing many plugins,
you should check [QGIS-Plugin-Repo](https://github.com/3liz/qgis-plugin-repo).
It's designed to run on CI after QGIS-Plugin-CI.
Raw data
{
"_id": null,
"home_page": "",
"name": "qgis-plugin-ci",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "QGIS,CI,changelog,plugin",
"author": "",
"author_email": "Denis Rouzaud <denis@opengis.ch>, Etienne Trimaille <etienne.trimaille@gmail.com>, Julien Moura <dev@ingeoveritas.com>",
"download_url": "https://files.pythonhosted.org/packages/20/37/8a056bcc9d281aa9780c94ac77f9566dcf4f682ac588a62c1503ab8befe8/qgis-plugin-ci-2.8.8.tar.gz",
"platform": null,
"description": "# QGIS Plugin CI\n\n[![PyPi version badge](https://badgen.net/pypi/v/qgis-plugin-ci)](https://pypi.org/project/qgis-plugin-ci/)\n[![PyPI - Downloads](https://img.shields.io/pypi/dm/qgis-plugin-ci)](https://pypi.org/project/qgis-plugin-ci/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/qgis-plugin-ci)](https://pypi.org/project/qgis-plugin-ci/)\n\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/)\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![pre-commit.ci status](https://results.pre-commit.ci/badge/github/opengisch/qgis-plugin-ci/master.svg)](https://results.pre-commit.ci/latest/github/opengisch/qgis-plugin-ci/master)\n\nContains scripts to perform automated testing and deployment for QGIS plugins.\nThese scripts are written for and tested on GitHub, Travis-CI, github workflows and Transifex.\n\n- Deploy plugin releases on QGIS official plugin repository\n- Publish plugin in Github releases, option to deploy a custom repository\n- Easily integrated in Travis-CI or github workflows\n- Completely handle translations with Transifex:\n - create the project and the languages\n - pull and push translations\n - all TS/QM files can be managed on the CI, the `i18n` folder can be omitted from the Git repository\n- `changelog` section in the metadata.txt can be populated if the CHANGELOG.md is present\n- set the `experimental` flag according to the tag if needed\n\n:book: For further information, see [the documentation](https://opengisch.github.io/qgis-plugin-ci/).\n\nQGIS-Plugin-CI is best served if you use these two conventions :\n\n- [Semantic versioning](https://semver.org/)\n- [Keep A Changelog](https://keepachangelog.com)\n\n## Command line\n\n```commandline\nusage: qgis-plugin-ci [-h] [-v]\n {package,changelog,release,pull-translation,push-translation}\n ...\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --version print the version and exit\n\ncommands:\n qgis-plugin-ci command\n\n {package,changelog,release,pull-translation,push-translation}\n package creates an archive of the plugin\n changelog gets the changelog content\n release release the plugin\n pull-translation pull translations from Transifex\n push-translation update strings and push translations\n```\n\n## Requirements\n\n- The code is under a **git** repository (`git archive` is used to bundle the plugin).\n- There is no uncommitted changes when doing a package/release (althought there is an option to bypass this requirement).\n- A configuration at the top directory either in `.qgis-plugin-ci` or in `setup.cfg` or `pyproject.toml` with a `[qgis-plugin-ci]` section (see `docs/configuration/options.md` for details).\n- The source files of the plugin are within a sub-directory with a `metadata.txt` file with the following fields:\n - description\n - qgisMinimumVersion\n - repository\n\t- tracker\n\nSee `parameters.py` for more parameters and details. Notice that the name of this directory will be used for the zip file.\n\n## QRC and UI files\n\n- Any .qrc file in the source top directory (plugin_path) will be compiled and output as filename_rc.py. You can then import it using `import plugin_path.resources_rc`\n- Currently, qgis-plugin-ci does not compile any .ui file.\n\n## Publishing plugins\n\nWhen releasing, you can publish the plugin :\n\n1. In the official QGIS plugin repository. You need to provide user name and password for your Osgeo account.\n2. As a custom repository in Github releases and which can be added later in QGIS. The address will be: https://github.com/__ORG__/__REPO__/releases/latest/download/plugins.xml\n\nBoth can be achieved in the same process.\n\n## Pre-release and experimental\n\nIn the case of a pre-release (either from the tag name according to [Semantic Versioning](https://semver.org/) or from the GitHub release), the plugin will be flagged as experimental.\n\nThe tool will recognise any label use as a suffix to flag it as pre-release :\n\n- `10.1.0-beta1`\n- `3.4.0-rc.2`\n\n## Debug\n\nIn any Python module, you can have a global variable as `DEBUG = True`, which will be changed to `False` when packaging the plugin.\n\n## Other tools\n\n### QGIS-Plugin-Repo\n\nQGIS-Plugin-CI can generate the `plugins.xml` file, per plugin.\nIf you want to merge many XML files into one to have a single QGIS plugin repository providing many plugins,\nyou should check [QGIS-Plugin-Repo](https://github.com/3liz/qgis-plugin-repo).\nIt's designed to run on CI after QGIS-Plugin-CI.\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "Let qgis-plugin-ci package and release your QGIS plugins for you. Have a tea or go hiking meanwhile. Contains scripts to perform automated testing and deployment for QGIS plugins. These scripts are written for and tested on GitHub Actions, GitLab CI, Travis-CI, and Transifex.",
"version": "2.8.8",
"project_urls": {
"documentation": "https://opengisch.github.io/qgis-plugin-ci/",
"homepage": "https://opengisch.github.io/qgis-plugin-ci/",
"repository": "https://github.com/opengisch/qgis-plugin-ci/",
"tracker": "https://github.com/opengisch/qgis-plugin-ci/issues"
},
"split_keywords": [
"qgis",
"ci",
"changelog",
"plugin"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3927510a67838c36e533caa780aa0315f2048df755e7f65902d2167858741b0c",
"md5": "5d03905fb1f89ceae1550017145f765e",
"sha256": "9a9a2d9f24f194044e6f321fe7f00217253f562a51ec1d5c42ca8b312928ed25"
},
"downloads": -1,
"filename": "qgis_plugin_ci-2.8.8-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5d03905fb1f89ceae1550017145f765e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 37591,
"upload_time": "2024-02-23T14:59:56",
"upload_time_iso_8601": "2024-02-23T14:59:56.647676Z",
"url": "https://files.pythonhosted.org/packages/39/27/510a67838c36e533caa780aa0315f2048df755e7f65902d2167858741b0c/qgis_plugin_ci-2.8.8-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "20378a056bcc9d281aa9780c94ac77f9566dcf4f682ac588a62c1503ab8befe8",
"md5": "57a1ffa17ccb53b09620ae6769cbe446",
"sha256": "0ab972cebdff0e64334e7286054938b048e8a27c754b80d2abcc394630d0a0cb"
},
"downloads": -1,
"filename": "qgis-plugin-ci-2.8.8.tar.gz",
"has_sig": false,
"md5_digest": "57a1ffa17ccb53b09620ae6769cbe446",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 62811,
"upload_time": "2024-02-23T14:59:58",
"upload_time_iso_8601": "2024-02-23T14:59:58.247460Z",
"url": "https://files.pythonhosted.org/packages/20/37/8a056bcc9d281aa9780c94ac77f9566dcf4f682ac588a62c1503ab8befe8/qgis-plugin-ci-2.8.8.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-23 14:59:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "opengisch",
"github_project": "qgis-plugin-ci",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "qgis-plugin-ci"
}