skip to navigation
skip to content

django-timepiece 0.8

django-timepiece is a multi-user application for tracking people's time on projects.

Latest Version: 1.1.0

django-timepiece is a multi-user application for tracking people’s time on projects. Complete documentation is available on Read The Docs.


  • A simple CRM with projects and businesses
  • User dashboards with budgeted hours based on project contracts
  • Time sheets with daily, weekly, and monthly summaries
  • Verified, approved, and invoiced time sheet workflows
  • Monthly payroll reporting with overtime, paid leave, and vacation summaries
  • Project invoicing with hourly summaries


django-timepiece is compatible with Python 2.{6,7}, Django 1.{3,4}, and PostgreSQL. PostgreSQL is the only offically supported database backend and, therefore, requires psycopg2. django-timepiece also depends on the following Django apps:

django-timepiece uses Sphinx and RST for documentation. You can use Sphinx to build the documentation:

A makefile is included with the documentation so you can run make html in the doc/ directory to build the documentation.


  1. django-timepiece is available on PyPI, so the easiest way to install it is to use pip:

    $ pip install django-timepiece
  2. Ensure that less is installed on your machine:

    # Install node.js and npm:
    $ sudo apt-get install python-software-properties
    $ sudo add-apt-repository ppa:chris-lea/node.js
    $ sudo apt-get update
    $ sudo apt-get install nodejs npm
    # Use npm to install less:
    $ npm install less -g
  3. If you are starting from the included example project, copy the example local settings file at example_project/settings/ to example_project/settings/

    If you are using an existing project, you will need to make the following changes to your settings:

    • Add timepiece and its dependencies to INSTALLED_APPS:

    • Add django.core.context_processors.request and django-timepiece context processors to TEMPLATE_CONTEXT_PROCESSORS:

          "django.core.context_processors.request",           # <----
          "timepiece.context_processors.extra_nav",           # <----
          "timepiece.context_processors.quick_clock_in",      # <----
          "timepiece.context_processors.quick_search",        # <----
    • Configure compressor settings:

          ('text/less', 'lessc {infile} {outfile}'),
      COMPRESS_ROOT = '%s/static/' % PROJECT_PATH
      INTERNAL_IPS = ('',)
    • Set USE_TZ to False. django-timepiece does not currently support timezones.

  4. Run syncdb.

  5. Add URLs for django-timepiece and selectable to, e.g.:

    urlpatterns = patterns('',
        (r'^selectable/', include('selectable.urls')),
        (r'', include('timepiece.urls')),
  6. Add the django.contrib.auth URLs to, e.g.:

    urlpatterns = patterns('',
        url(r'^accounts/login/$', 'django.contrib.auth.views.login',
        url(r'^accounts/logout/$', 'django.contrib.auth.views.logout_then_login',
  7. Create registration templates. For examples, see the registration templates in example_project/templates/registration. Ensure that your project’s template directory is added to TEMPLATE_DIRS:

        '%s/templates' % PROJECT_PATH,

Development sponsored by Caktus Consulting Group, LLC.

File Type Py Version Uploaded on Size
django-timepiece-0.8.tar.gz (md5) Source 2013-01-21 548KB