A wafer-thin web application for running small conferences. Built using Django.
Licensed under the ISC License.
Available on readthedocs.org.
Wafer supports Django 3.2 and Django 4.0 - 4.2.
wafer can be installed either from pypi (
pip install wafer) or from the github repository.
If installing from github,
pip install -r requirements.txtshould install all the required python and django dependencies.
Wafer uses npm to manage front-end dependencies
- Make sure you have a recent version of Node.js installed that
npm installto install all dependencies, which also copies them to
- Make sure you have a recent version of Node.js installed that includes
Install the wafer applications
If you don't have one yet, create a superuser with
settings.pyfile and create a
localsettings.pyfile overriding the defaults as required.
WAFER_PUBLIC_ATTENDEE_LISTwill probably need to be overridden.
If you add extensions to
WAFER_PAGE_MARKITUP_FILTER, be sure to install the appropriate python packages as well.
Wafer uses the Django caching infrastructure in several places, so the cache table needs to be created using
Create the default 'Page Editors', 'Talk Mentors' and other useful groups using
Log in and configure the Site:
- The domain will be used as the base for e-mails sent during registration.
- The name will be the conference's name.
Have a fun conference.
To run a local server for development and testing, use the standard Django
manage.py runserver, after doing the installation.
For running the server in production, please see the Django documentation on the various possible approaches.
- Support for adding and editing sponsors via Django admin.
- Schedule can be created and updated via Django admin.
- Pages for static content, news and so forth can be handled via Django admin.
- Can be delegated to the 'Page Editors' group.
- Pages can be updated via the web interface.
- Talk submissions, review and acceptance.
- Generate a static version of the site for archival.
Translations for wafer are managed at weblate.org
To run the tests, you will need to install selenium -
pip install selenium
and also run
The tests can be run using the
selenium tag, or using the individual browser