Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status Coverage Status Requirements Status Heroku Documentation Status Release Latest Version PyPI License

The Gamification-Engine (gengine) is an open source software (MIT) for integrating any kinds of gamification features into your product.

The engine is not meant to be a platform including any kinds of predefined graphics, layouts or statistics. It is framework for developing your own solution, implemented as a service to which your application server can talk over a REST api.

( )

Latest recommended version:


  • multi level achievements
  • multi goal achievements
  • progress and single goals
  • leader boards / ladder
  • achievements can be reached directly or by evaluating leaderboards daily, weekly, monthly or yearly
  • time zone independent (correct daily, weekly.. evaluations among time zones)
  • social-awareness (e.g. reach the highest score among your friends)
  • geo-awareness (e.g. reach the highest score among all users in your city)
  • rules can be defined in python using given variables (e.g. the current level)
  • custom definable achievement properties and rewards
  • custom definable languages and translations
  • dependencies between achievements (prerequisites & postconditions)
  • goals can execute triggers (currently creation of messages and mobile pushes for iOS/Android)
  • high performance / scalable
  • administration ui

REST Interface

Simple REST-interface to communicate with arbitrary systems


Demo Installation

A demo installation is available at


  1. A ready-to-use buildpack for Heroku and dokku is available at Follow the instructions there.
  2. The current stable version is available as python package at
  3. Checkout the source code and configure the PostgreSQL database in development.ini. Then run python develop to configure the application, initialize_gengine_db development.ini reset_db=True populate_demo=True to configure the database and pserve development.ini to start it. The front end is available at http://localhost:6543/admin/

Docker support (2019-12)

For development run: docker-compose up Go to localhost:9000 to access admin interface or localhost:6060 to access adminer. Code will be mounted into the container and server will be started with --reload.

For production deployment adapt passwords and settings in production.ini and docker-compose.production.yml and run:

docker-compose -f docker-compose.production.yml up -d

A production ready server will run on localhost:9000, login using credentials set in docker-compose.production.yml


Do you want to contribute? We badly need tests! Also a nicer admin UI would be great or maybe some cool features :-)

For a full list see:

Licenses of dependencies

Pyramid: BSD-derived (

pyramid_chameleon: BSD-derived (

pyramid_debugtoolbar: BSD

SQLAlchemy: MIT

zope.sqlalchemy: Zope Public License (ZPL) Version 2.1

waitress: Zope Public License (ZPL) Version 2.1

pytz: MIT

dogpile.cache: BSD

pyramid_dogpile_cache: MIT

flask: BSD

flask-admin: BSD

psycopg2: LGPL / ZPL

pymemcache: Apache License 2.0

mock: BSD

alembic: MIT