OreoWeb
A web framework built for faster AI powered web app development
Why Oreoweb
Oreoweb is a Python web framework. It is built on top of asyncio and implements the WSGI standard.
With Oreoweb, you can use asynchronous programming available in Python 3.6+ to build fast, scalable and real-time capable web APIs for AI development.
Oreoweb in steve jobs style " A web framework + Database + AI library". Oreoweb allows developers to build web apps powered by AI within a single python script without requirements of integrating 3rd party libraries.
Installation
You will need Python 3.6 and above to use Oreoweb. You can get Python from python.org or via the package manager of your OS.
On Linux, due to a known limitation in httptools, you also need to install
python-dev
for your current version of Python, e.g.apt-get install python3.7-dev
for Python 3.7.
Oreoweb CLI
You may also want to install Oreoweb CLI. It comes with useful command line tools to help with project generation and other common tasks.
Features of Oreoweb
Static Files
Place files in the static
folder at the root location, and they will be available at the corresponding URL
Statics files location:
By default, static assets are served at the /static/
URL root and are searched for in a static/
directory relative to where the app is executed.
You can modify the static files directory using the following
Templates
The default folder for templates is templates
. You can change it when initializing the main Oreoweb class:
Templates Examples
Custom Exception Handler
Sometimes, depending on the exception raised, you may want to do a certain action. For such cases, you can register an exception handler:
Custom Middleware
You can create custom middleware classes by inheriting from the oreoweb.middleware.Middleware class and override its two methods that are called before and after each request:
Inbuilt Deep learning integration
Intuitive APIs
Components
layers: Dense, Conv2D, ConvTranspose2D, RNN, MaxPool2D, Dropout, BatchNormalization
activation: ReLU, LeakyReLU, Sigmoid, Tanh, Softplus
losses: SoftmaxCrossEntropy, SigmoidCrossEntropy, MAE, MSE, Huber
optimizer: RAdam, Adam, SGD, Momentum, RMSProp, Adagrad, Adadelta
Inbuilt NoSql Database integration
Automl Integration(Coming Soon)
Templating Engine
There are two types of tags, blocks
and variables
.
Variables
Blocks
There are three types of blocks – if
, each
and call
.
Loops
it
references the current item in the iteration and it is scoped to this item's attributes. To access attributes of the parent context use ..
. For example:
Conditionals
Supported operators are: >, >=, <, <=, ==, !=
. You can also use conditionals with things that evaluate to truth.
Callables
Callables can get passed positional or keyword arguments.
Last updated