Skip to content
This repository

Open Coworking Software

branch: master


This is the Django web project which runs behinds the scenes of coworking spaces.

Most of the action is in the staff application, where you'll find a member tracking and billing system.

Handy Installation Instructions

Requires Django 1.5 or above. Note, we didn't do the full Django 1.3 to Django 1.4 upgrade yet so there are some timezone issues that need to be worked out.

Create a virtual environment for the python project, pull down the code, and install all the requirements

virtualenv nadine
cd nadine
source bin/activate
git clone
cd nadine
pip install -r requirements.txt

Copy local_settings.dist to and edit it to reflect your local settings.

PostgreSQL: Uncomment 'psycopg2' in the requirements.txt file and edit for your database settings. Create a blank database and grant all permissions to whatever account/password combination you want to use for the app.

Run Django's syncdb and then South's migrate commands and create a superuser. We need to create the superuser last so we explicitly skip it in the syncdb step.

./ syncdb --noinput --all
./ migrate --fake
./ createsuperuser

Now run the tests to make certain that everthing is installed:

./ test staff interlink

Both Django and South have excellent documentation, so check there if you run into trouble.

At this point you will need to populate the django_sites database. We will assume you only have Nadine in the database you have created.

./ shell
>>> from django.contrib.sites.models import Site
>>> newsite = Site(name="Nadine",domain="")

At this point you can run the server

./ runserver

And visit your installation of Nadine at

Running the scheduler

In order to repeatedly execute tasks like checking and sending email, run this command:

./ celeryd -B

You will need to run that command as a long lived process. On linux and other unices, use something like the nohup command.

Installation Notes

  • Many of the required python libraries come in source form and require a gcc to build/install. On OS X this means installing XCode.

  • If you are using a 32bit MySQL python will have problems because it defaults to running in 64 bit mode.
    The error will look like: blah blah blah " mach-o, but wrong architecture" You'll need to get python running in 32 bit mode for this to work. Run the following: export VERSIONER_PYTHON_PREFER_32_BIT=yes

  • On OS X versions before Lion when using a virtualenv, you should remove the 64 python altogether like so: $ mv .../virtualenvs/nadine/bin/python .../virtualenvs/nadine/bin/python.old $ lipo -remove x86_64 .../virtualenvs/nadine/bin/python.old -output .../virtualenvs/nadine/bin/python

  • If you are getting a "flat namespace" error when you try to do a syncdb then you most likely are running OS X 10.6 and it's trying to run python in 64bit mode. Do the following: $ defaults write Prefer-32-Bit -bool yes

Interlink (mailing lists) notes:

In the interest of shipping more quickly, we have made certain assumptions about the interlink mailing lists which may or may not suit everyone's needs.

  • the reply-to address for mail from a list is the original sender, not the entire list
  • attachments are neither saved nor sent to the list, but a removal note is appended to the message
  • incoming messages are parsed for a single text message and a single html message (not multiple MIME messages)
  • you can set the frequency of mail fetching by changing the value in CELERYBEAT_SCHEDULE in your or
  • loops and bounces are silently dropped
  • any email sent to a list which is not in a subscriber's user or membership record is moderated
  • the sender of a message receives a copy of the message like any other subscriber

License & Copyright

Copyright 2010 Office Nomads LLC ( Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and limitations under the License.

Something went wrong with that request. Please try again.