Skip to content

florentx/fiole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fiole.py

fiole.py is a WSGI micro-framework with the following development constraints:

  • Single file, no external dependency
  • Provide enough features to build a web application with minimal effort
  • Embed a compact template engine
  • Keep the module reasonably small

Main features:

  • Routing
  • Methods GET/HEAD/POST/PUT/DELETE
  • Error handlers
  • File uploads
  • Static files
  • Fast template engine
  • Secure cookies

Disclaimer: this framework is intentionally limited. If you need a robust and scalable solution, look elsewhere.

Example

from fiole import get, run_fiole


@get('/')
def index(request):
    return 'Hello World!'

run_fiole()

See examples/ for more usages:

python fiole.py examples

Online documentation.

Thanks

Thank you to Daniel Lindsley (toastdriven) for itty, the itty-bitty web framework which helped me to kick-start the project.

Thank you to Andriy Kornatskyy (akorn) for his blazingly fast and elegant template library wheezy.template: it is the inspiration for the template engine of fiole.py.

The following projects were also a great source of ideas:

  • Werkzeug (HTTPHeaders and EnvironHeaders datastructures)
  • WebOb (parsing the Accept headers)
  • Bottle (embedding a simple template engine)
  • Jinja2 and Mako (common template engine syntax and features)
Build status