Give AlbumentationsX a star on GitHub — it powers this leaderboard

Star on GitHub

anybadge

Simple, flexible badge generator for project badges.

Rank: #3463Downloads: 1,386,035 (30 days)Stars: 397Forks: 111

Description

anybadge

Python project for generating badges for your projects

pypi package build status downloads GitHub last commit GitHub GitHub stars Snyk health Downloads

buymeacoffee

Supports: Python 3.7-3.13 (2.7-3.6 support has been dropped)

Overview

anybadge can be used to add badge generation to your Python projects, and also provides a command line interface.

This utility can be used to generate .svg badge images, using configurable thresholds for coloring the badges based on the badge value. Many badge generation tools just provide the ability to specify the color of badge. anybadge allows you to specify the label, badge value, and color, but it also allows you to specify a set of thresholds that can be used to select a color based on the badge value.

anybadge may be useful for companies developing internally, or any time making calls to external badge services is not possible, or undesirable. In this situation using anybadge will be easier than running your own internal badge service.

The package can be imported into your python code, or run direct from the command line.

Demo

You can find a repl.it demo here. This will allow you to see what the package can do and play with it to test outputs.

Basic usage

Command line

As an example, if you want to produce a pylint badge, you may run anybadge from the command line like this:

anybadge -l pylint -v 2.22 -f pylint.svg 2=red 4=orange 8=yellow 10=green

This would result in a badge like this:

pylint

In this example the label is set to "pylint", the value "2.22", and an output file called "pylint.svg". The thresholds are provided in pairs of <value>=color Values can be integer or floats for ranges, and string values are also supported.

Python

Here is the same example implemented in Python code:

import anybadge

# Define thresholds: <2=red, <4=orange <8=yellow <10=green
thresholds = {2: 'red',
              4: 'orange',
              6: 'yellow',
              10: 'green'}

badge = anybadge.Badge('pylint', 2.22, thresholds=thresholds)

badge.write_badge('pylint.svg')

Installation

anybadge is available in PyPi at https://pypi.python.org/pypi/anybadge

You can install the latest release of anybadge using pip:

pip install anybadge

This will install the Python package, and also make anybadge available as a command line utility.

Getting help

To get help from the command line utility, just run:

anybadge --help

Command line usage

Output

Running the utility with the --file option will result in the .svg image being written to file. Without the --file option the .svg file content will be written to stdout, so can be redirected to a file.

Thresholds

Some thresholds have been built in to save time. To use these thresholds you can simply specify the template name instead of threshold value/color pairs.

anybadge --value=<VALUE> --file=<FILE> <TEMPLATE-NAME>

For example:

anybadge --value=2.22 --file=pylint.svg pylint

Colors

Anybadge comes with some pre-defined colors, which can be referred to by name. It also supports the use of custom colors by using the hex representation of the color. Both color types can be used in the default_color, text_color and thresholds attributes. Color names are taken from the Mozilla color keywords list.

Here is a Python example showing use of a named color and a custom color.

import anybadge

badge = anybadge.Badge(label='custom color', value='teal', default_color='teal', num_padding_chars=1)
badge = anybadge.Badge(label='custom color', value='teal', default_color='#008080', num_padding_chars=1)

Available named colors are:

Color NameHexExample
aliceblue#F0F8FF
antiquewhite#FAEBD7
aqua#00FFFF
aquamarine#7FFFD4
azure#F0FFFF
beige#F5F5DC
bisque#FFE4C4
black#000000
blanchedalmond#FFEBCD
blue#0000FF
blueviolet#8A2BE2
bright_red#FF0000
bright_yellow#FFFF00
brown#A52A2A
burlywood#DEB887
cadetblue#5F9EA0
chartreuse#7FFF00
chocolate#D2691E
coral#FF7F50
cornflowerblue#6495ED
cornsilk#FFF8DC
crimson#DC143C
darkblue#00008B
darkcyan#008B8B
darkgoldenrod#B8860B
darkgray#A9A9A9
darkgreen#006400
darkkhaki#BDB76B
darkmagenta#8B008B
darkolivegreen#556B2F
darkorange#FF8C00
darkorchid#9932CC
darkred#8B0000
darksalmon#E9967A
darkseagreen#8FBC8F
darkslateblue#483D8B
darkslategray#2F4F4F
darkturquoise#00CED1
darkviolet#9400D3
deeppink#FF1493
deepskyblue#00BFFF![](https://cdn.rawgit.com/jongracecox/anybadge/master/examples/color_dee