Web starter build with autoboot and FastAPI
Project description
autoboot web starter
基于 autoboot 框架的插件机制扩展,集成了FastAPI
框架,专注于web开发方向。
Quick Start
Install
pip install autoboot-web
Usage
配置
- 启动配置文件
.env
# 环境名称(默认值:dev,框架根据这个配置项来加载当前的环境配置)
ENV_NAME=dev
APPLICATION_NAME=web-runner
- 环境配置文件
.env.dev
APPLICATION_NAME=web-runner-dev
- 主配置文件
autoboot.yaml
autoboot:
application:
name: !env $APPLICATION_NAME
module: api
web:
http:
gzip:
enabled: true
# 小于1KB不压缩
minimum_size: 1KB
session:
enable: true
cookie_name: "session_id"
max_age: 120m
security:
cors:
cross_origin: true
# 扫描控制器包
scan_controller_packages:
- controller
创建目录controller
- 在该目录下创建
__init__.py
from .controller import IndexController
__all__=["IndexController"]
- 在该目录创建
index.py
from autoboot_web.mvc.annotation import Controller, Get
@Controller(path="/", tag="index")
class IndexController:
@Get("/")
def index(self, name):
return f"Hello: {name}"
创建并启动容器
- 创建
main.py
from autoboot import AutoBoot, AutoBootConfig
from autoboot_web import WebRunner
context = Autoboot(AutoBootConfig(config_dir="."))
# 注册插件
context.apply(WebRunner())
# 暴露插件的Runner到全局变量(FastAPI使用的unicorn启动时会用到)
app = context.run(lambda: WebRunner.get_context())
启动服务器
uvicorn example.main:app --host 127.0.0.1 --port 8000 --env-file .env
Contributors
有问题可以在issues开话题讨论,如果你有新的想法,创建新的feat
或pref
分支并提交PR。
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
autoboot_web-0.5.0.tar.gz
(10.5 kB
view details)
Built Distribution
File details
Details for the file autoboot_web-0.5.0.tar.gz
.
File metadata
- Download URL: autoboot_web-0.5.0.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/1.26.16 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/1.5.0 colorama/0.4.6 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10c596e72532459bf510a867242327d75bebf3000a2a7135e15c2d8fa7ac922b |
|
MD5 | bf29cbf8d435259c7407e0de44d5d3ef |
|
BLAKE2b-256 | 83c4eb2f887d9d60311ee2b5dcf2034f7fcbc01923627800d311ac30ba59751d |
File details
Details for the file autoboot_web-0.5.0-py3-none-any.whl
.
File metadata
- Download URL: autoboot_web-0.5.0-py3-none-any.whl
- Upload date:
- Size: 9.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.9.6 readme-renderer/40.0 requests/2.31.0 requests-toolbelt/1.0.0 urllib3/1.26.16 tqdm/4.65.0 importlib-metadata/6.8.0 keyring/24.2.0 rfc3986/1.5.0 colorama/0.4.6 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dfc35b9724f156b556cc860a52605c4e5a7809c7c8ea99ddf355eb64c267b9e |
|
MD5 | cb657d141039373899477bb59fd8c3ed |
|
BLAKE2b-256 | d586bfa8b0b307ae87bbb5ddca95ec6c4aaa30d65ad558f677c0d2f3d2a0c7e0 |