Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A web-based appointment scheduling tool


This is the Pleft software that runs on


  1. Check out the source code (git clone git://
  2. Enter into the newly created pleft/ directory (cd pleft/).
  3. Decide which directory to put Pleft's environment in (export PLENV=~/env/pleft).
  4. Create a Pleft environment (python tools/ $PLENV).
  5. Create a file pleft/, based on one of the examples in that directory. If you just want to test Pleft, copy pleft/ to pleft/ to do that. You need to edit the file to modify some paths. Especially database information (i.e. DATABASE_NAME) and SECRET_KEY need to be changed. The SQLite database will be created automatically.
  6. Activate the Pleft environment (source $PLENV/bin/activate).
  7. Create the proper tables in the database (python pleft/ syncdb).


Activate the Pleft environment:

source $PLENV/bin/activate

Run the Pleft debug server:

python pleft/ runserver

In debug mode, emails are written to the console instead of being sent. If you need a link that was provided this way, note that characters like the = are escaped. So you might for example need to replace =3D with =.


If you want to test or deploy translations, install gettext and run:

python pleft/ mo


See Deploying Django.

If you are using MySQL, you need to make sure that the database is created using:


Also, for the user system to work, the email address field must be made case sensitive, using:

ALTER TABLE plauth_user MODIFY email VARCHAR(255) COLLATE utf8_bin

Publishing changes

Create commits for your changes. See Making changes for help.

There are two ways to publish changes to the code:

  • Create a fork of the repository and push your changes to it. See Fork A Repo. This makes it easy to review your code.
  • Create a patch file using the command git format-patch origin/master --stdout > filename.patch.


Feel free to contact our public mailing list at if you are stuck. You can also contact Sander Dijkhuis.

Something went wrong with that request. Please try again.