Awesome
Joyful Python Web App development
Appier is an object-oriented Python web framework built for super-fast app development. It's as lightweight as possible, but not too lightweight. It gives you the power of bigger frameworks, without their complexity.
Your first app can be just a few lines long:
import appier
class HelloApp(appier.App):
@appier.route("/", "GET")
def hello(self):
return "Hello World"
HelloApp().serve()
The same app using the async/await syntax (Python 3.5+) for async execution reads pretty much the same:
import appier
class HelloApp(appier.App):
@appier.route("/", "GET")
async def hello(self):
await self.send("Hello World")
HelloApp().serve()
Running it is just as simple:
pip install appier
python hello.py
For the async version an ASGI compliant server should be used (eg: Uvicorn):
SERVER=uvicorn python hello.py
Your "Hello World" app is now running at http://localhost:8080.
It features the following:
- Object-oriented
- WSGI (Web Server Gateway Interface) compliant
- ASGI (Asynchronous Server Gateway Interface) ready
- Modular, using dynamically loaded parts
- Python 3 compatible
- RESTful request dispatching
- Asynchronous request handling support
- Templating, using Jinja2
- Data model layer, currently supports MongoDB and TinyDB
- Automatic JSON response encoding for fast API development
- Automatic admin interface, using Appier Extras
- Internationalization (i18n) support
- Flexible project configuration
- Out-of-the-box support for multiple WSGI and ASGI servers: Netius, Uvicorn, Hypercorn, Daphne, etc.
For the purposes of rapid web development, Appier goes well with Netius (web-server) and UXF (client-side graphical library) as a whole stack.
Learn more
Basic
- Structure - how to setup the basic structure of your app
- App - the application workflow object
- Configuration - how to configure your app
- Models - how to save and retrieve data
- Controllers - how to route input and output
- Templates - how to render output
- Requests - how to handle requests
- Sessions - how to keep user data across requests
- Access Control - how to protect resources
Advanced
- Events - how to send information across the app
- Logging - how to log your app's activity
- Email - how to send emails
License
Appier is currently licensed under the Apache License, Version 2.0.