anybadge
Simple, flexible badge generator for project badges.
Description
anybadge
Python project for generating badges for your projects
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:
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 Name | Hex | Example |
|---|---|---|
| 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 |