/rapport

Work report generator for the lazy™

Primary LanguagePythonApache License 2.0Apache-2.0

Rapport: Work report generator for the lazy

https://travis-ci.org/saschpe/rapport.png?branch=master https://pypip.in/d/rapport/badge.png https://pypip.in/v/rapport/badge.png

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 ;-)

Features

  • 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

Installation

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

Usage

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

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 setup.py 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 tools/test-requires.txt
(.venv)$ nosetests

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

$ tox