Human Bingo

https://img.shields.io/pypi/v/humanbingo.svg https://img.shields.io/travis/leingang/humanbingo.svg Documentation Status Updates

Create cards for the “Human Bingo” icebreaker game, with customizable properties and templating.

Synopsis

This is an icebreaker game to play on the first day of class. See About.com or WikiHow for references.

Features

  • 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.

Usage

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 -n or --number option is not specified, write one bingo card to stdout. If -n NUMBER or --number=NUMBER is specified, writes NUMBER cards to separate files.

Warning

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

License

Free software: MIT license

Credits

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, the !!omap sequence declaration).

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.