Open Coworking Software
Pull request Compare This branch is 1296 commits behind nadineproject:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



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

Set up your Django environment then test that it's up by creating a scratch project and running the Django development server.

Set up PostgreSQL, create a blank database and grant all permissions to whatever account/password combination you want to use for the app.

git clone git://
cd nadine
pip install -r requirements.txt

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

Run Django's syncdb and then South's migrate commands.

./ syncdb # when prompted, create an admin account
./ migrate

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="") Ctrl+D

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:

./ scheduler

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 in the EmailTask in your
  • 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.