This commit allows badges to be generated with only a label or only
a value.
Badges must provide at least a label or a value, so it is not valid
to create a badge with no label and no value. This will result in
a `ValueError` being raised.
* anybadge cli can be called via python -m
* fix: anybadge should be shown in cli usage string
* also allow executing anybadge.server as module
* test: same output regardless of how cli is called
* Make `build_examples.py` callable from python
* Allow tests to run from outside project directory
* Add invoke tasks
* Add server tests
* Run travis tests against wheel package instead of local code
* Update `badge.write_badge()` to support `pathlib.Path`
* Update `CONTRIBUTING.md`
- Drop support for Python <3.7
- Bump the pre-commit version used in CI
- Add type hinting and docstrings
- Add mypy to pre-commit config
- Fix typing issues
- Update colors module
- Update colors module to use uppercase hex codes
- Add `__lt__` to allow sorting colors by name
- Fix `build_examples.py` to work with color Enum
- Update example badges in `README.md`
- Fix typing issues in server
- Update travis links in `README.md`
- Fix PyPi deployment bug (#60)
- Add .pre-commit-config.yaml with initial config.
- Add python black pre-commit config
- Apply pre-commit code changes
- Add information to CONTRIBUTING.md
- Add pre-commit to build requirements
- Run pre-commit during travis CI build
- Use a travis build matrix to control when pre-commit runs
in the CI process. Use explicit include to only run
pre-commit on Python 3.9.
Python version support
======================
- Drop Python 2.7 support
- Add testing for Python 3.4 and 3.9
- Set python version requirements in setup.py
Package changes
===============
- Split module up into a package with submodules
- Break templates out into package resources
- Incorporate server into same package
- Use Enum for colors
- Refresh example badges
- Simplify documentation - Remove cli options and python api
documentation from the README as it is hard to maintain, and
often goes out-of-date
- Add CONTRIBUTING.md
Allow value and thresholds to be interpreted as semantic version numbers
by passing --semver (cli) or semver=True (python).
Add docs, unittests, import error handling, cli updates, requirements updates.
* Set default padding chars to 0.5.
* Split num_padding_chars into num_label_padding_chars and num_value_padding_chars
to allow better control. Retain num_padding_chars as an input parameter, but
internally it is dropped.
* Remove padding multipliers.
* Add measurements image for developers. Helps show what each of the internal
measurements are.
* Add script to build example badges.
* Update example badges.
Reliability
=======
* Raise a value error if an invalid font is passed.
* Handle labels that are not passed as str.
* Raise a value error if an invalid color name is passed.
Testing
=======
* Expand doctests to increase test coverage.
* Add Arial size 11 font and extra font sizes (mainly for testing).
* Make parse_args and main more testable by taking args as an input parameter.
* Use useful badge text in unittest badges.
* Add template svg file for testing.
* Add HTML coverage generation to travis yaml.
* Fix int and float value detection (Closes#25)
* Fix badge_width doctest
* Ignore all svg files across the whole project. This is mainly to prevent
accidentally adding them after tests run.
* Update badge widths
Switch to using get_text_width(' ') to get padding width.
This results in a more compact badge as the font_width that was used before
was the guesstimated font width that was too large.
* Update default num padding chars
This commit updates the number of padding characters to zero. Many issues have been
raised around producing more compact badges, so it feels like the most common usage would be
with this option defaulted to zero.
Within a single Python session anybadge will use different SVG mask IDs.
This is an attempt to fix the issue where SVG files displayed in the same
HTML will re-use the same mask, and therefore appear with the same dimensions.
Uses a singleton on the class to maintain a sequence of mask ids.
Includes unittests to ensure new ID is used for each badge.