Skip to main content

Create cards for the "Human Bingo" icebreaker game, with customizable properties and templating

Project description

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.

To easily print the PDF cards, they can be concatenated with pdftk:

$ /path/to/pdftk card*.pdf cat output allcards.pdf

Documentation

See https://human-bingo.readthedocs.io.

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.

History

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

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.

Morphing this script into a bona fide python package to upload to PyPI. Using the pypackage cookiecutter, add a setup.py script so that it can be installed with pip.

Now pip install will install an executable file humanbingo, and the original bingo.py module/script is gone. So this is a backwards-incompatible change.

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

2007

MPL converted the ColdFusion script to python as an exercise.

2006

Derek Bruff wrote the original “Name Bingo” script in ColdFusion.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

humanbingo-3.0.1.tar.gz (25.4 kB view hashes)

Uploaded Source

Built Distribution

humanbingo-3.0.1-py2.py3-none-any.whl (14.0 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page