Skip to main content

一款web协程框架。

Project description

CheeseAPI

介绍

一款协程友好的web框架,它有大部分框架都有的功能,以及它的特点:

  1. 插件支持,更可塑的事件处理。

  2. 类Django的项目结构。

  3. Websocket支持。

目前项目仍处于开发阶段,有大部分功能尚未提供,文档极不稳定,对于一些功能未来不确保能一直支持。

安装

系统要求:Linux。

Python要求:目前仅保证支持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!')

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
(LOADED) 2023-08-24 12:20:56.934619 > Local Modules:
    CheeseAPI
(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

使用ctrl + ckill <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 业务逻辑实现
model.py ORM
handle.py 初始化逻辑

更多...

1. App

1.1 Workspace

1.2 Server

1.3 Cors

2. Route

3. Request

4. Response

5. Websocket

6. Module

7. Signal

8. File

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.14.tar.gz (15.7 kB view details)

Uploaded Source

Built Distribution

cheeseapi-0.3.14-py2.py3-none-any.whl (20.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cheeseapi-0.3.14.tar.gz.

File metadata

  • Download URL: cheeseapi-0.3.14.tar.gz
  • Upload date:
  • Size: 15.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.1

File hashes

Hashes for cheeseapi-0.3.14.tar.gz
Algorithm Hash digest
SHA256 32359a96774cd1057f14c669710c1d75f03081e82077e25b0f021e04f1df9031
MD5 d6b8129c2c2a1024ea3f7c769ae4db10
BLAKE2b-256 ba72767c5e9e708d655a0543829c409383428e13795a05a459ec5af94d2cca7a

See more details on using hashes here.

File details

Details for the file cheeseapi-0.3.14-py2.py3-none-any.whl.

File metadata

  • Download URL: cheeseapi-0.3.14-py2.py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.1

File hashes

Hashes for cheeseapi-0.3.14-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0e62eb826b5fccc112c6c9d14e68f1acb204eb90883f2c0d9a8255936a2ec7a6
MD5 6754e7f029b12f8ccabfd2ae9d95cfd5
BLAKE2b-256 8577f20cb1a4d1c46c1ccb478d0d674995e7f48ad77c2fad82aeb27a69096eac

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page