django-hotsauce 0.6.8

About

Intro

Welcome to the django-hotsauce toolkit, a open and modular web framework on top of Django and WSGI.

Design philosophy

Scalable and non-monolithic by design

Allow developers to write scalable Django apps easily. The notmm toolkit provides a modular API to develop reusable WSGI applications environment on top of the Django framework.

Pragmatic Web Application Development

Allow developers to test and develop server side WSGI applications in a restricted environment by writing unit tests.

Rapid Framework Refactoring

Based on the unittest module for continuous integration and rapid web framework refactoring.

Open Source

Fully open source licensed (Apache). The django-hotsauce toolkit works best under the Linux OS or a BSD variant.

Features

  • Follows the WSGI 1.0 specification for development of related HTTP-based libraries in Python.
  • Supports most Django apps designed for Django, including Satchmo, FeinCMS, and more.
  • MVC (Model-View-Controller) API design with built-in regular-expression URL dispatching.
  • UTF-8 template loading, rendering, and caching. (Mako, Beaker)
  • Memcache backend support tools.
  • The API pages and the Developer Handbook are generated with Doxygen`_ and Sphinx respectively.
  • Compatible with Python 2.5, 2.6, and 2.7.
  • Commercial support available.
  • SQLAlchemy database backends and functions. (Declarative mapper, Elixir)
  • Non-relational database backends and functions. (Schevo, MongoDB)
  • Gevent controllers for manipulating middleware objects
  • Native Epoll support
  • Experimental C bindings generation with Cython.
  • Experimental OAuth2 support (require oauthlib)

Install

Requirements:

  • Modern Linux system :-)
    • Python 2.7.9 or better
  • libyaml-dev
    • libpython2.7-dev
  • pip

  • setuptools

  • Cython

  • make

  • gcc

  • Patience...

To compile and install with /usr/local/bin/python:

% sudo ./bootstrap /usr/local/bin/python
% make depend
% make
% sudo make install

Note that you should use GNU make and not /usr/bin/make if you're using a BSD system. On linux, gmake should be aliased as /usr/bin/make.

The old way:

% python setup.py build
% sudo python setup.py install --prefix=/usr/local

To develop locally, you can use the "develop" command provided by setuptools to install a symlink to the source directory:

% sudo make develop

To build the documentation, Sphinx and Doxygen are needed. Sphinx is used to build the standard documentation and Doxygen for the API documentation.

% sudo make doxygen # generate the API docs % make -f docs/Makefile html # generate the HTML docs (work-in-progress)

Finally you should install djangorc.sample to /etc/djangorc...

% cp extras/djangorc.sample /etc/djangorc

Then in your $HOME/.profile, add the following lines to enable automatic django configuration upon login:

[ -r "/etc/djangorc" ] && . /etc/djangorc

Examples

Please see the wiki for real-world examples of applications using the notmm toolkit. In addition, the examples directory includes demo apps to experiment freely.

Download

Current stable version is 0.6.8.

Download the current development version via mercurial:

$ hg clone https://bitbucket.org/tkadm30/django-hotsauce django-hotsauce

Alternatively, you may download the stable release from here.

License

Copyright 2007-2017 Etienne Robillard

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

http://www.apache.org/licenses/LICENSE-2.0

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.