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