一款web协程框架。
Project description
CheeseAPI
介绍
一款协程友好的web框架,它有大部分框架都有的功能,以及它的特点:
-
插件支持,更可塑的事件处理。
-
类Django的项目结构。
-
Websocket支持。
目前项目仍处于开发阶段,有大部分功能尚未提供。
安装
目前仅保证支持3.11及以上的python。
pip install CheeseAPI
使用
简单的示例
目前只支持在当前工作目录下运行。
创建一个启动入口:
# File path: ./app.py
from CheeseAPI import app, Response
@app.route.get('/')
async def test(**kwargs):
return Response('您好,这里是CheeseAPI!')
if __name__ == '__main__':
app.run() # 默认的启动地址:'0.0.0.0',默认的启动端口:5214
运行app.py
,可以看到打印了一些基础信息,当当前代码的最后一行启动时,代表系统已经可以访问:
$ python app.py
(STARTING) 2023-08-24 12:20:56.933161 > The master process 700506 started
(STARTING) 2023-08-24 12:20:56.934117 > Workspace information:
CheeseAPI: /xxx/CheeseAPI/CheeseAPI
Base: /xxx/CheeseAPI
(STARTING) 2023-08-24 12:20:56.934274 > Server information:
Host: 0.0.0.0
Port: 5214
Workers: 1
(STARTING) 2023-08-24 12:20:56.934619 > Local Modules:
CheeseAPI
(LOADED) 2023-08-24 12:20:56.937603 > The local modules are loaded, which takes 0.002867 seconds
(DEBUG) 2023-08-24 12:20:56.938326 > The subprocess 700506 started
(STARTING) 2023-08-24 12:20:56.939158 > The server started on http://0.0.0.0:5214
(STARTING) 2023-08-24 12:20:56.939279 > The server startup takes 0.006139 seconds
使用ctrl + c
或kill <pid>
杀死进程,会打印完剩下的内容:
(DEBUG) 2023-08-24 12:29:19.061431 > The 701056 subprocess stopped
(ENDING) 2023-08-24 12:29:19.062018 > The server runs for a total of 11.326843 seconds
(ENDING) 2023-08-24 12:29:19.062144 > The master process 701056 stopped
项目结构
CheeseAPI采用类Django的结构:
| - User
| - model.py
| - api.py
| - service.py
| - Permission
| - model.py
| - api.py
| - service.py
| - app.py
在项目根目录下的文件夹(不包括隐藏文件夹)内的文件会在项目启动时自动导入。
在CheeseAPI中并没有强制规定文件名与其代码的关联性,但建议的文件命名方式如下:
文件名 | 备注 |
---|---|
model.py | 模型类 |
api.py | api接口 |
service.py | 业务逻辑实现 |
更多...
1. 生命周期
2. App
2.1 Workspace
2.2 Server
2.3 Cors
2.4 Handle
3. Route
4. Request
5. Response
6. Websocket
7. Module
8. File
9. Signal
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
cheeseapi-0.3.2.tar.gz
(15.9 kB
view details)
Built Distribution
File details
Details for the file cheeseapi-0.3.2.tar.gz
.
File metadata
- Download URL: cheeseapi-0.3.2.tar.gz
- Upload date:
- Size: 15.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe50e4e9b97eccc0d2b2999b16e2c6055dc8a26cf77fac37507fa100ee635631 |
|
MD5 | 86610908c976cdf2935a26b2fb374724 |
|
BLAKE2b-256 | b6e95b80747fae8ab151d31234f3623e8a63082d807de8a6d3d5fe3bf3a67b15 |
File details
Details for the file cheeseapi-0.3.2-py2.py3-none-any.whl
.
File metadata
- Download URL: cheeseapi-0.3.2-py2.py3-none-any.whl
- Upload date:
- Size: 20.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.12.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25500dd84f00109851fc58b9f488ca4aaf741e995b8029788d7b315f898ec3a5 |
|
MD5 | ee49533b4d4e87c9bcce696a80cfc0e6 |
|
BLAKE2b-256 | 9d66f03ce7a16916cca6510d1c6010d553b83465ecc1da064c142541548d6def |