Create cards for the "Human Bingo" icebreaker game, with customizable properties and templating
Create cards for the “Human Bingo” icebreaker game, with customizable properties and templating.
- Read cardset specifications as XML and YAML files. The YAML specification is newer, more flexible, and easier to write. The XML specification is older, and seemed like a good idea at the time.
- Write HTML and PDF files. Since it’s more likely the cards will be printed onto paper, the default is writing PDF. Originally, only HTML files were created, and PDF conversion was done by a third-party utility (wkhtmltopdf). In version 3 the PDF writer was baked in. Since the PDF writer internally creates HTML first, the HTML feature is still maintained.
Installing the package exposes a script
humanbingo. Call it like this:
$ humanbingo [-n|--number NUM] [-v|--verbose] [-d|--debug] [-o|--output] OUTPUTFILE [-f|--input-format] (yaml|xml) [-F|--output-format] (pdf|html) INPUTFILE
Read properties file as its sole argument. If neither
--number option is not specified, write one bingo card to stdout.
-n NUMBER or
specified, writes NUMBER cards to separate files.
At this time writing PDF to stdout is not supported. But you probably don’t want to do that anyway.
To easily print the PDF cards, they can be concatenated with pdftk:
$ /path/to/pdftk card*.pdf cat output allcards.pdf
Free software: MIT license
Human bingo relies on a lot of big python packages, heartily endorsed.
- Jinja2 for templating
- Click for publishing command-line applications
- WeasyPrint for converting HTML to PDF
We also use ruamel.yaml over PyYaml since it supports a few more features (notably,
!!omap sequence declaration).
Version 3.0.1 (August 24, 2017)
Updated history file for version 3.0.0.
Version 3.0.0 (August 24, 2017)
Added the PDF writer. Pass
-F pdf to explicitly write PDF files.
Backwards-incompatible changes: YAML input and PDF output are now default.
Improved refactoring and documentation.
Version 2.1.0 (August 4, 2017)
Added the ability to specify card sets with a YAML file instead of the
old XML format. Pass
-f yaml to
Lots of improvements to documentation.
Version 2.0.2 (August 3, 2017)
Pretty big refactoring into separate modules, in order to facilitate extensibility, practice dependency injections, etc. But no functional change yet.
Version 2.0.1 (July 28, 2017)
Flesh out history file.
Version 2.0.0 (July 28, 2017)
Name change: “Name Bingo” to “Human Bingo”. The latter sounds more interesting and seems to be the more popular term.
pip install will install an executable file
and the original
bingo.py module/script is gone. So this is a
Version 1.1.0 (July 26, 2017)
- Port from Python 2.7 to 3.5
- Use the shell environment’s python instead of a hardcoded one
Version 1.0.0 (January 27, 2013)
- parse script arguments with argparse
- get closer to POSIX compliant interface (print to stdout when only one card is needed)
- add a README
- upload to github
MPL converted the ColdFusion script to python as an exercise.
Derek Bruff wrote the original “Name Bingo” script in ColdFusion.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size humanbingo-3.0.1-py2.py3-none-any.whl (14.0 kB)||File type Wheel||Python version 3.5||Upload date||Hashes View|
|Filename, size humanbingo-3.0.1.tar.gz (25.4 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for humanbingo-3.0.1-py2.py3-none-any.whl