wiki:Notes/PythonMicroFramework

Python Microframeworks

This is important category. There so many good small Python frameworks ... an embarrassment of riches.

Some are so small and quick that they can be deployed as CGI and still provide plausible performance.

Bottle

http://bottlepy.org/

A single 140K file, of pure dynamite !!!

See PythonBottle

Pocoo Packages

Pocoo.org is small phenomena in itself. It has an amazing selection of offerings ...

http://www.pocoo.org/

The Pocoo Team consists of people from the Python community that are working under one umbrella on various Python libraries and applications ...

Our Projects - Among our most popular projects are:

Flask micro web framework
Jinja 2 template engine
Pygments syntax highlighting package
Sphinx document processor
Werkzeug WSGI toolkit

Each project has a fair sized community of its own.

In fact, PythonTrac may switch from Genshi to Jinja, a big deal since Genshi is developed by Edgewall.

http://www.pocoo.org/projects/#project-hub

https://pypi.python.org/pypi?%3Aaction=search&term=pocoo&submit=search

Armin Ronacher's Thoughts and Writings - http://lucumr.pocoo.org/

Pocoo BBS

https://pypi.python.org/pypi/Pocoo/0.1.5

Pocoo is an open-source bulletin board written in Python. It provides an advanced plugin system with a component architecture which allows other developers to modify Pocoo to their liking without the need to touch existing source code.

Because it uses SQLAlchemy, it is possible to use either MySQL, SQLite, Oracle or Postgres as storage backend

Flask

Need to ex-spend some effort here ...

http://flask.pocoo.org/

Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions.

Setup says: install_requires=[ 'Werkzeug>=0.7', 'Jinja2>=2.4', 'itsdangerous>=0.21', 'click>=2.0', ]

Will deploy as CGI - http://flask.pocoo.org/docs/0.10/deploying/cgi/

Jinja2

Jinja2, one of my favorite template engines.

http://jinja.pocoo.org/

Jinja2 is a full featured template engine for Python. It has full unicode support, an optional integrated sandboxed execution environment ...

Werkzeug

Widely used.

http://werkzeug.pocoo.org/

Werkzeug started as a simple collection of various utilities for WSGI applications and has become one of the most advanced WSGI utility modules.

It includes a powerful debugger, fully featured request and response objects, HTTP utilities to handle entity tags, cache control headers, HTTP dates, cookie handling, file uploads, a powerful URL routing system and a bunch of community contributed addon modules.

http://werkzeug.pocoo.org/docs/0.10/

http://werkzeug.pocoo.org/docs/0.10/tutorial/

Also see: PythonServers#Werkzeug

Click

Not to mention a powerful command/console creation kit.

http://click.pocoo.org/4/

Click is a Python package for creating beautiful command line interfaces in a composable way with as little code as necessary. It’s the “Command Line Interface Creation Kit”. It’s highly configurable but comes with sensible defaults out of the box.

https://github.com/mitsuhiko/click

Sphinx

... and as if that weren't enough ....

http://sphinx-doc.org/

Sphinx is a tool that makes it easy to create intelligent and beautiful documentation, written by Georg Brandl and licensed under the BSD license.

Tornado

Rarely gets mentioned as a micro-framework but it includes a template engine, etc. Very similar to Bottle in fact.

See PythonTornado

Top Rankings

From http://www.slideshare.net/r1chardj0n3s/web-microframework-battle

This is great, however python 3 is now supported in Flask which would give it a +2 compensating for the -1. The rankings now look like:

Bottle +7 http://bottlepy.org/docs/dev/index.html
Pesto +6 http://www.ollycope.com/software/pesto/
Flask +5 http://flask.pocoo.org/

Other Contenders

Itty +4 https://github.com/toastdriven/itty/
web.py +1 http://webpy.org/
cherrypy 0 http://www.cherrypy.org/
bobo -2 http://bobo.readthedocs.org/en/latest/
aspen.io -5 https://github.com/gratipay/aspen-python


Others

Morepath http://morepath.readthedocs.org/en/latest/
Object Web https://github.com/aisola/ObjectWeb
Pecan http://www.pecanpy.org/
Pylons / Pyramid http://www.pylonsproject.org/
Tornado http://www.tornadoweb.org/en/stable/
Wheezy Web http://pythonhosted.org/wheezy.web/
Klein http://klein.readthedocs.org/en/latest/ Depends on PythonTwisted and PythonTwistdServer
Cyclone http://cyclone.io/
Falcon http://falconframework.org/
Turbo Gears http://turbogears.org/
web2py http://web2py.com/
kiss.py https://github.com/stanislavfeldman/kiss.py
Nagare http://www.nagare.org/

Also see:

http://codecondo.com/14-minimal-web-frameworks-for-python/

Semantic ?

Cubic Web http://www.cubicweb.org/ From Narval. Semantic Web ?
Cubic Web at Pypi https://pypi.python.org/pypi/cubicweb/3.19.5 This bad boy is huge, over 10 meg
Cubic Web search at Pypi https://pypi.python.org/pypi?%3Aaction=search&term=cubicweb&submit=search

Python Org Web Frameworks

  1. cgi+wsgiref +3

XMLRPC

How secure ?

Pyro http://pythonhosted.org/Pyro4/ PythonXMLRPC#Pyro
RPyC http://rpyc.readthedocs.org/en/latest/ PythonXMLRPC#RPyC
Last modified 10 months ago Last modified on 02/15/2017 02:55:14 PM