Lots of GitHub project homepages put on fun little badges (GitHub Badges),
this time we’ll also play with some surface-level stuff.
First, we need a project
A while back Brother Jing complain-but-actually-loved lowdb:
This lowdb,
useful is useful,
but it’s also too low…
I was very curious
and went to check out lowdb’s introduction:
This is a tiny JSON-format database.
Hmm, tiny, sounds cute.
Does Python have a counterpart library?
Yes, that’s tinydb~
tinydb has about 1200 lines of source code, plus 1000 lines of tests.
Huh?! This is tiny?
This is level-18 tiny?
So we decided,
we need a database that’s tinier than tinydb, and lower than lowdb.
Picking a name was suddenly an issue.
Since we were undecided,
then we should just forgive him~
So another wheel was born:

GitHub Badges
Ignore the README’s self-glorification of the project itself,
that long string of green little badges under the Logo
are the Badges~
Since programmers generally hang out on GitHub,
people are also used to calling these GitHub Badges
(even though they can also be used elsewhere)
Essentially these little badges are clickable images,
for example using Markdown syntax you can write it like this:
[](https://github.com/hui-z/ForgiveDB)
*This long string is actually Markdown's image syntax combined with hyperlink syntax*

[hyperlink syntax](https://github.com/hui-z/ForgiveDB)
The above string will look like this:
This long string is actually Markdown’s image syntax combined with hyperlink syntax
Various Badges
Specifically,
the badges we used in ForgiveDB are these:
shields.io.
This one is worth pulling out separately,
because they’re a website specifically for making Badges,
and the images are SVG vector images,
no blur on any resolution screen.
If we want to pick all sorts of strange Badges,
(like star counts,
issue closed counts,
npm, pypi, nuget versions,
even custom arbitrary strings)
we can find them on shields.io.PyPI.
This is Python’s official package repository,
shields.io also supports automatic version sniffing.
Versions below 1.0.0 seem to also turn into a shit-yellow color…pyup.io.
This service is fun,
once authorized it’ll automatically check if your requirements are up to date.
If there’s an update,
pyup-bot will directly submit a Pull Request to the project…
Simply awesome.travis-ci.org.
This is the well-known Travis automated CI tool,
Travis is free for open-source projects,
very friendly.
And the features are powerful,
lots of integrations with GitHub,
super comfortable to use.
(As long as you write some UTs)Others:
There’s also CodeCov test coverage,
AppVeyor, another nice CI,
CircleCI, yet another nice CI
etc., etc……
Roughly that’s the journey of picking pretty badges for ForgiveDB.
This kind of feeling
is just like picking pretty keycaps for the keyboard you love.
Last, welcome everyone to submit Pull Requests to ForgiveDB~
Even if you just edit the docs like Brother Jing,
mixing in a contributor mention is fine~