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.