Twistranet - The Open-Source Enterprise Social Network
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This is the twistranet project!

(c)2011 NumeriCube (

Official website: / French version on


twistranet is an Enterprise Social Software.
It's a Social Network you can use to help people collaborate.
And it is also a nice CMS (Content Management System) with a social focus.

twistranet is published under the termes of the GNU Affero General Public License v3.


TwistraNet is written in PYTHON (>= 2.6)
Twistranet is based on Django Framework (as of writing, for v2.0.0 Django >= 1.4 is mandatory,)

If Django is always installed you can install twistranet over your Django platform.
Otherwise The last Django version will be downloaded and installed at setup.

Other requirements:

- pip

- python-imaging (aka PIL)

- python-ldap, only if you want to authenticated against LDAP/Active Directory.


Installation - short version

- Install requirements (Python 2.6, pip and PIL)

- In any directory, just execute:

  - (sudo) pip install numericube-twistranet

twistranet is now installed.
You can have many sites with just one twistranet installation, so you need to explicitly deploy and bootstrap your new site.

  - (sudo) twistranet_project <path_to_my_new_site>

Don't forget to write down your generated admin password (just look at first server start LOG)!!

Your server should now be fully working and running on http://localhost:8000 !

If you want to start it again:

- cd <path_to_my_new_site>

- python ./ runserver

Installation - the Big Picture

Installation is in fact a 2 steps process. You must install twistranet's core features as a python library,
then you have to create a project (which is an instance of a twistranet site).

To install twistranet's core features:

- Download and install Python >= 2.6 (with pip and PIL)

- Execute (as a superuser) "pip install numericube-twistranet" ; this will normally download and install twistranet and all dependencies.

To create a new project:

- In the directory you want your website files created, type "python twistranet_project -n [<template>] <project_path>",
    where <project_path> is the name of your site (it will be created by the process) ;
    <template> is the name of the project template to deploy. Currently admitted values are:
    - 'default' (which is... the default value), an empty project based on sqlite;
    - 'cogip', a sample french-language project of a fictious company called COGIP.
The '-n' (or '--no-bootstrap') is an option to tell the twistranet_project script not to bootstrap it
immediately (the bootstraping process is the initial database feed).

You can do it by hand once (and only once!) with the following commands:

- Go to your <project_path>

- Review the file and, change to whatever suits your needs.

  Among other things, carefully choose your DATABASE scheme, your LDAP/AD settings and the 'admin' password
  that has been generated for you.

- Execute "./ bootstrap" to build the database

Running Twistranet :

- Execute ./ runserver to start playing with twistranet.

- Point your browser at http://localhost:8000

More informations

You can get more informations in the "docs" folder inside the package about:

- installing pip

- installing/upgrading/uninstalling twistranet with pip

- installing twistranet with pip behind a proxy

- installing Twistranet for testing and development
  (using virtualenv / installing in place the devel package from / localization / running tests ...)

- Running Twistranet in debug mode


No image / thumbnail on my fresh twistranet instance!

This is probably a problem with python-imaging installation. Just install PIL for your OS.

Under debian, the easiest is to do "apt-get install python-imaging".

error: Could not find required distribution Django

If you've got this message, that means the autoinstall procedure of twistranet can't install django automatically.
Just install django (see either from sources or from a package from your OS,
and run "python install" again.

I've lost my admin password!

It's easy to set a new one.

- Stop your server

- Run ./ changepassword admin (and change your password)

- Start your server again

error when using mod_python
mod_wsgi is recommended, but if you need mod_python
this little django1.2.5 hack is needed :

- in django.http.init: do not use "from mod_python.util import parse_qsl"

replace the lines 7 to 11 with::

  from cgi import parse_qsl

Thanks to esimorre


Email templates are inspired from MailChimp's Email-Blueprints ( We do love Mailchimp and strongly recommand it if you want a powerful mailing-list solution!

MimeTypes Icons came from Farm Fresh Free icons Collection, under Creative Commons 3.0 License. Many thanks to