public
Description: a lightweight and simple python web framework
Homepage: http://brianreily.com/project/juno/
Clone URL: git://github.com/breily/juno.git
juno /
name age message
file .gitignore Sat Mar 14 03:55:46 -0700 2009 * Put Juno onto Pypi * Added MANIFEST file * Ad... [breily]
file LICENSE Mon Mar 09 20:31:37 -0700 2009 * Added MIT license. [breily]
file MANIFEST Sat Mar 14 03:55:46 -0700 2009 * Put Juno onto Pypi * Added MANIFEST file * Ad... [breily]
file README.md Sat Mar 14 04:02:08 -0700 2009 * Added easy_install note to README [breily]
file TODO Sun Mar 08 01:54:54 -0800 2009 * TODO note [breily]
directory doc/ Thu Mar 19 02:22:32 -0700 2009 convert docs to markdown though issues remain [brendano]
file juno.py Sun Mar 15 13:38:51 -0700 2009 * Changed raise in find_user_path to Exception ... [breily]
file setup.py Mon Mar 23 21:58:37 -0700 2009 * Version move to 0.1.2 [breily]
directory templates/ Sun Feb 22 00:33:34 -0800 2009 * 404/500 templates don't show both libraries t... [breily]
directory tests/ Sat Mar 21 10:43:36 -0700 2009 * Added some tests for the Content-Type header. [breily]
README.md

Juno

Using Juno

To start off:

from juno import *

@route('/')
def index(web):
    return 'Juno says hi'

run()

Add some url handling:

@route('/hello/:name/')
def hello(web, name):
    return 'Hello, %s' %name

Use a template:

@get('/hi_template/:name/')
def template_hi(web, name):
    template('hello.html', name=name)

Build a model:

Person = model('Person', name='string')
p = Person(name='brian')

Features

  • All normal web framework stuff (models, routes, views, templates)
  • WSGI compliant, with included development server as well as SCGI/FastCGI servers
  • Database access through SQLAlchemy
  • Templating included through Jinja2 and Mako, but Juno can use anything.

Install

  • You can use easy_install:

    easy_install Juno
    
  • Or pull from Github, and then do:

    $ python setup.py install   # As root
    $ python
    >>> import juno             # Make sure everything worked
    
  • Requires: SQLAlchemy

  • Optional:

Help / Contribute

Note

  • Juno violates some usual principles of good design (don't use global variables, don't do things implicitly, etc.) for the sake of fast development and less boilerplate code. You've been warned.