Skip to main content

Work report generator for the lazy

Project description

Writing work reports is tedious. Some people have custom hacks. This is meant to be the last one. It’s Apache-2.0 licensed and written in Python, not VimScript, not Bash, not Ruby, not C, …, you probably got it ;-)


  • Asynchronously collects data from various resources:

    • Bugzilla

    • Gerrit

    • Github

    • Launchpad

    • MediaWiki

    • OpenBuildService

    • Trello

    • Twitter

  • Supports plugins for extendability

  • Simple ini-style config file

  • (Almost) comprehensive unit and functional testsuite

  • Supports creating work reports for arbitrary timeframes and provides some convenient ones:

    • Current week / month

    • Recent days

    • Week / month of of year

    • Generic


To install rapport from the Python Package Index, simply:

$ pip install rapport

Or, if you absolutely must:

$ easy_install rapport

But, you really shouldn’t do that. Lastly, you can check your distro of choice if they provide packages. For openSUSE, you can find packages in the Open Build Service for all releases. If you happen to use openSUSE:Factory (the rolling release / development version), simply:

$ sudo zypper install rapport


Rapport allows to query various upstream resources for modifications you made. So before creating your first work report, you should check rapport’s config file and add your credentials to the resources you are interested in.

By default, rapport creates a work report for the current weak, so from Monday until now (And yes, i18n and i10n are on the TODO list). You can also set the timeframe to consider explicitly. For instance, you could generate a work report for the last 10 days:

$ rapport create --recent-days 10

Check the help of the create command for other options:

$ rapport create --help

You can show a list of all previous work reports:

$ rapport list

And display details for a specific work report:

$ rapport show 2013-05-21T09:27:43

Or display the latest work report by:

$ rapport show

If you need further assistance, check rapport’s help:

$ rapport help

Hacking and contributing

You can test rapport from your git checkout by executing the rapport.cli module:

$ python -m rapport.cli

Alternatively, you can invoke the convenience script wrapper:

$ ./scripts/rapport

Fork the repository on Github to start making your changes to the master branch (or branch off of it). Don’t forget to write a test for fixed issues or implemented features whenever appropriate. You can invoke the testsuite from the repository root directory via:

$ python test

Or by running nose directly:

$ nosetests

Both assume you have the test dependencies installed (available on PYTHONPATH) on your system. If that doesn’t work for you, you can create a virtual environment instead:

$ virtualenv .venv
$ source .venv/bin/activate
(.venv)$ pip install -r test-requirements.txt
(.venv)$ nosetests

Lastly, if using virtualenv is too tedious or you want to test different configurations (py26, py27, py33, pep8), you can also use tox:

$ tox

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

rapport-0.1.4.tar.gz (27.2 kB view hashes)

Uploaded source

Built Distributions

rapport-0.1.4.linux-x86_64.tar.gz (35.9 kB view hashes)

Uploaded any

rapport-0.1.4-py2.py3-none-any.whl (35.1 kB view hashes)

Uploaded 2 7

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