All Projects → almarklein → Asgineer

almarklein / Asgineer

Licence: bsd-2-clause
A really thin ASGI web framework

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Asgineer

Bojler
Bojler is an email framework
Stars: ✭ 885 (+2665.63%)
Mutual labels:  framework
Zinky
minimalist semi-opinionated modular framework.
Stars: ✭ 28 (-12.5%)
Mutual labels:  framework
Dotlog
Simple and easy go log framework
Stars: ✭ 30 (-6.25%)
Mutual labels:  framework
Recife
A powerful MVC Framework for GraphQL
Stars: ✭ 20 (-37.5%)
Mutual labels:  framework
Nuxt.js
The Intuitive Vue(2) Framework
Stars: ✭ 38,986 (+121731.25%)
Mutual labels:  framework
Turbulette
😴 Turbulette - A batteries-included framework to build high performance, fully async GraphQL APIs
Stars: ✭ 29 (-9.37%)
Mutual labels:  framework
Pro
ECStore Pro - Laravel 微信网店微服务框架
Stars: ✭ 14 (-56.25%)
Mutual labels:  framework
Core
Runn Me! core library
Stars: ✭ 31 (-3.12%)
Mutual labels:  framework
Sqliteef6migrations
System.Data.SQLite.EntityFramework.Migrations - Migrations for SQLite Entity Framework provider
Stars: ✭ 27 (-15.62%)
Mutual labels:  framework
Codefii
A micro-framework for web Ninjas
Stars: ✭ 30 (-6.25%)
Mutual labels:  framework
Emc
The EMC Framework (Easy Minecraft Client) - An easy to use Minecraft modding framework
Stars: ✭ 21 (-34.37%)
Mutual labels:  framework
Fastapi
FastAPI framework, high performance, easy to learn, fast to code, ready for production
Stars: ✭ 39,588 (+123612.5%)
Mutual labels:  framework
Hdphp
HDPHP V3.0版本是一个重构的高性能版本 http://www.hdphp.com
Stars: ✭ 29 (-9.37%)
Mutual labels:  framework
Jacof
Java Ant Colony Optimization Framework
Stars: ✭ 20 (-37.5%)
Mutual labels:  framework
Donerserializer
A C++14 JSON Serialization Library
Stars: ✭ 31 (-3.12%)
Mutual labels:  framework
Restforms
Forms adapter for InterSystems Cache
Stars: ✭ 14 (-56.25%)
Mutual labels:  framework
Whatsapp Framework
⚗️Whatsapp python api
Stars: ✭ 945 (+2853.13%)
Mutual labels:  framework
Core Framework
REDHAWK is a software-defined radio (SDR) framework designed to support the development, deployment, and management of real-time software radio applications
Stars: ✭ 31 (-3.12%)
Mutual labels:  framework
Fluent
Remove inconsistency of your view. Go Fluent
Stars: ✭ 31 (-3.12%)
Mutual labels:  framework
Swiftyonboard
A swifty iOS framework that allows developers to create beautiful onboarding experiences.
Stars: ✭ 952 (+2875%)
Mutual labels:  framework

Asgineer

A really thin ASGI web framework 🐍🤘

Build Status Documentation Status Package Version

Introduction

Asgineer is a tool to write asynchronous web applications, using as few abstractions as possible, while still offering a friendly API. The guide and reference take just a few minutes to read!

When running Asgineer on Uvicorn, it is one of the fastest web frameworks available. It supports http long polling, server side events (SSE), and websockets. And has utilities to serve assets the right (and fast) way.

Asgineer is proudly used to serve e.g. https://pyzo.org and https://timetagger.app.

Example

# example.py

import asgineer

@asgineer.to_asgi
async def main(request):
    return f"<html>You requested <b>{request.path}</b></html>"

if __name__ == '__main__':
    asgineer.run(main, 'uvicorn', 'localhost:8080')

You can start the server by running this script, or start it the ASGI way, e.g. with Uvicorn:

$ uvicorn example:main --host=localhost --port=8080

Installation and dependencies

Asgineer needs Python 3.6 or higher. To install or upgrade, run:

$ pip install -U asgineer

Asgineer has zero hard dependencies, but it needs an ASGI server to run on, like Uvicorn, Hypercorn, or Daphne.

Development

Extra dev dependencies: pip install invoke pytest pytest-cov black flake8 requests websockets

Run invoke -l to get a list of dev commands, e.g.:

  • invoke autoformat to apply Black code formatting.
  • invoke lint to test for unused imports and more.
  • invoke tests to run the tests, optionally set the ASGI_SERVER environment variable.

License

BSD 2-clause.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].