Watson - A Python 3 Web Framework¶
It’s elementary my dear Watson
Watson is an easy to use framework designed to get out of your way and let you code your application rather than spend time wrangling with the framework. It follows the convention over configuration ideal, although the convention can be overriden if required. Out of the box it comes with a standard set of defaults to allow you to get coding straight away!
Watson is designed for Python 3.3 and up.
Watson currently requires the following modules to work out of box:
- For view templating
These will be installed automatically if you have installed Watson via pip.
Some packages within Watson require third party packages to run correctly, these include:
- pip package: python3-memcached
Notes about these dependencies can be found within the relevant documentation in the Reference Library.
pip install watson-framework
Watson can be tested with py.test. Simply activate your virtualenv and run python setup.py test.
Using falcon-bench, Watson received the following requests per second (Django and Flask supplied for comparative purposes).
- watson.........11,920 req/sec or 83.89 μs/req (3x)
- django..........7,696 req/sec or 129.94 μs/req (2x)
- flask...........4,281 req/sec or 233.58 μs/req (1x)
If you would like to contribute to Watson, please feel free to issue a pull request via Github with the associated tests for your code. Your name will be added to the AUTHORS file under contributors.
Table of Contents¶
- Getting Started
- Key Concepts
- Dependency Injection
- Common Usage
- Advanced Topics
- Reference Library