Welcome, guest | Sign In | My Account | Store | Cart

Notice! PyPM is being replaced with the ActiveState Platform, which enhances PyPM’s build and deploy capabilities. Create your free Platform account to download ActivePython or customize Python with the packages you require and get automatic updates.

pypm install activitytracker

How to install ActivityTracker

  1. Download and install ActivePython
  2. Open Command Prompt
  3. Type pypm install activitytracker
 Python 2.7Python 3.2Python 3.3
Windows (32-bit)
1.0 Available View build log
Windows (64-bit)
1.0 Available View build log
Mac OS X (10.5+)
1.0 Available View build log
Linux (32-bit)
1.0 Available View build log
Linux (64-bit)
1.0 Available View build log
Lastest release
version 1.0 on Dec 19th, 2012

A tool for querying various sources to see what time was worked on specific tasks. Contains various plugins for Tomboy notes and text files.


The basic workflow with ActivityTracker is to define a "group" of files that contain time-based task intervals in some format. At the moment, ActivityTracker comes with three different parsers:

  1. Emacs OrgMode files
  2. Tomboy notes
  3. Plain text files
Setting Up
  1. Create a new directory, /home/myhomedir/.activitytracker
  2. Setup a new file, /home/myhomedir/.activitytracker/config.ini
  3. Add group entries to config.ini

An entry for a group of OrgMode files looks like this:

[File Group: Emacs OrgMode Files]
base_dir = /somedir/org-files
filename_match = [-_a-zA-Z0-9]*[.]org$
parser_name = activitytracker.plugins.orgmode.EmacsOrgModeParser

Please see the OrgMode home page for specifics on the OrgMode format. ActivityTracker's OrgMode parser has two requirements:

  1. Headings meant to be recorded/queried should have the book tag
  2. The second line after a heading with book tag should have a timestamp indicating the length of time worked

Here is an example entry:

** ActivityTracker :book: <2011-04-16 Sat 10:00-14:00> Working on orgmode support

An entry for a group of Tomboy notes on a recent Gnome configuration would look like this:

[File Group: Tomboy Notes] base_dir = /home/myhomedir/.local/share/tomboy filename_match = [a-zA-Z-0-9]*?[.]note parser_name = activitytracker.plugins.tomboy.TomboyFileParser
Plain Text Files

An entry for a group of plain text files would look like this:

[File Group: Legacy Journal Files] base_dir = /home/myhomedir/Documents/journal filename_match = month-[a-zA-Z]+-[0-9]+[.]txt$ parser_name = activitytracker.plugins.text.TextFileParser

Writing Plugins

The ActivityTracker plugin mechanism expects a callable to be named as the parser_name value in a file entry group.

While checking files, the callable will be invoked (with no arguments). The callable must return an object with a parse_input function. The parse_input function will be invoked for every file matching the criteria.

After parse_input is invoked at least once, the object must ensure it has a projects attribute as an iterable of Project instances.


  • Created and maintained by Rocky Burt <rocky AT serverzen DOT com>.


1.0 (Dec-18-2012)
  • setup pypi and bitbucket pages
0.5 (unreleased)
  • first release

Subscribe to package updates

Last updated Dec 19th, 2012

Download Stats

Last month:1

What does the lock icon mean?

Builds marked with a lock icon are only available via PyPM to users with a current ActivePython Business Edition subscription.

Need custom builds or support?

ActivePython Enterprise Edition guarantees priority access to technical support, indemnification, expert consulting and quality-assured language builds.

Plan on re-distributing ActivePython?

Get re-distribution rights and eliminate legal risks with ActivePython OEM Edition.