Skip to main content

Pybuilder plugin for anybadge badge generator

Project description

GitHub Workflow Status Code Coverage Code Grade PyPI version

pybuilder-anybadge

A pybuilder plugin that generates badges for your project using anybadge, for more information refer to the anybadge pypi page.

To add this plugin into your pybuilder project, add the following line near the top of your build.py:

use_plugin('pypi:pybuilder_anybadge')

NOTE if you are using Pybuilder version v0.11.x, then specify the following version of the plugin:

use_plugin('pypi:pybuilder_anybadge', '~=0.1.2')

Pybuilder anybadge properties

The pybuilder task pyb anybadge will use anybadge to generate badges for your project by processing reports produced from various plugins; the badges that are currently supported are:

  • complexity - requires the pybuilder_radon plugin. Generate badge using cyclomatic complexity score of your most complicated function.
  • severity - requires the pybuilder_bandit plugin. Generate badge using number of security vulnerabilities discovered by severity.
  • coverage - requires the coverage plugin. Generate badge for overall unit test coverage.
  • python - Generate badge for version of Python being used

The plugin will write the respective badges to the docs/images folder. The following plugin properties are available to further configure badge generation.

Name Type Default Value Description
anybadge_exclude str '' Comma delimited string of badges to exclude from processing, valid values are 'complexity', 'severity', 'coverage' and 'python'
anybadge_add_to_readme bool False Specify if plugin should add badges to the README.md file (see below for example). Note the plugin will add the badge references but you must commit/push the changes (including svg files in the docs/images folder)
anybadge_complexity_use_average bool False Use overall average complexity as score when generating complexity badge

The plugin properties are set using project.set_property, the following is an example of how to set the properties:

project.set_property('anybadge_exclude', 'severity,coverage')
project.set_property('anybadge_add_to_readme', True)
project.set_property('anybadge_complexity_use_average', False)

The following badges were generated for this project using the pybuilder_anybadge plugin:

coverage severity complexity python

Development

Clone the repository and ensure the latest version of Docker is installed on your development server.

Build the Docker image:

docker image build \
-t \
pybanybadge:latest .

Run the Docker container:

docker container run \
--rm \
-it \
-v $PWD:/pybuilder-anybadge \
pybanybadge:latest \
/bin/sh

Execute the build:

pyb -X

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pybuilder-anybadge-0.1.2.tar.gz (5.4 kB view hashes)

Uploaded Source

Built Distribution

pybuilder_anybadge-0.1.2-py3-none-any.whl (5.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page