Appier Framework
Appier is an object-oriented Python web framework designed for rapid application development. It focuses on being lightweight while providing capabilities comparable to larger frameworks. It is WSGI compliant and ASGI ready, supports templating with Jinja2, offers data model layers for databases like MongoDB and TinyDB, includes automatic JSON response encoding, and features an auto-generated admin interface via `appier-extras`. The current version is 1.45.2, with active development on its GitHub repository.
Warnings
- gotcha When developing asynchronous routes (using `async def`), ensure you serve your Appier application with an ASGI-compliant server (e.g., Uvicorn, Hypercorn, Daphne). Using a WSGI-only server will prevent async routes from functioning correctly.
- gotcha Many advanced features, such as the automatic admin interface or specific database integrations (MongoDB, TinyDB), require installing additional, optional packages (e.g., `appier-extras`, `pymongo`, `tinydb`). These are not installed by default with `pip install appier`.
- deprecated While Appier's PyPI metadata indicates compatibility with Python 2.6 and 2.7, the project's GitHub README emphasizes 'Python 3 compatible' and provides async examples requiring Python 3.5+. New development should strongly target Python 3.x, as Python 2 is end-of-life and not actively supported by the community.
Install
-
pip install appier
Imports
- App
from appier import App
- route
from appier import route
Quickstart
import appier
class HelloApp(appier.App):
@appier.route("/", "GET")
def hello(self):
return "Hello World"
if __name__ == "__main__":
HelloApp().serve()