|
2 | 2 |
|
3 | 3 | # FIT for Python |
4 | 4 |
|
| 5 | +## 框架简介 |
| 6 | + |
| 7 | +FIT for Python 是基于 FIT Framework 的 Python 运行时与插件开发套件,涵盖: |
| 8 | +- 运行时:启动框架、加载插件、提供生命周期与健康检查。 |
| 9 | +- CLI 工具:初始化、构建、打包插件,提升开发效率。 |
| 10 | +- 插件样例与配置:便于本地快速体验与二次开发。 |
| 11 | + |
| 12 | +## 目录结构(节选) |
| 13 | + |
| 14 | +- `fitframework/`:核心运行时代码与启动入口(`python -m fitframework`)。 |
| 15 | +- `fit_cli/`:命令行工具,支持插件的 init/build/package。 |
| 16 | +- `plugin/`:本地插件工程根目录,使用 CLI 生成与构建。 |
| 17 | +- `conf/`:框架及插件相关配置。 |
| 18 | +- `bootstrap/`:运行时启动与配置加载的底层实现。 |
| 19 | +- `requirements.txt`:运行时依赖列表。 |
| 20 | + |
| 21 | +## 配置说明 |
| 22 | + |
| 23 | +- 默认配置位于 `conf/`,包括 `application.yml`、`fit.yml`、`fit_startup.yml` 等。 |
| 24 | +- 注册中心:`conf/application.yml` 中 `registry-center` 配置为框架发现和加载插件的前置条件,需保证注册中心已启动(可参考 Java 框架的本地注册中心启动方式),并与 `server.addresses` 等参数保持一致。 |
| 25 | +- 如使用直连内存注册中心,默认 `mode: DIRECT`,地址示例 `localhost:8080`;如使用代理/Nacos,请按实际环境调整 `mode`、`addresses`、`protocol` 等字段。 |
| 26 | +- 启动前请根据本地环境核对端口、协议及上下文路径,必要时同步修改插件侧的配置文件。 |
| 27 | + |
5 | 28 | ## 源码准备 |
6 | 29 |
|
7 | | -下载代码,其中framework/fit/python目录即为 FIT for Python 工程根目录,可将该目录作为 PyCharm 和 VsCode 的工程根目录打开。 |
| 30 | +下载代码,其中 `framework/fit/python` 目录即为 FIT for Python 工程根目录,可将该目录作为 PyCharm 和 VS Code 的工程根目录打开。 |
8 | 31 |
|
9 | 32 | ## 环境准备 |
10 | 33 |
|
11 | | -需要在 python 3.9 及以上版本安装 FIT for Python 工程根目录中`requirements.txt`所指定的第三方依赖,当前三方包依赖如下: |
| 34 | +需要在 Python 3.9 及以上版本安装 `requirements.txt` 中的第三方依赖,当前依赖如下: |
12 | 35 |
|
13 | 36 | ```python |
14 | 37 | numpy==1.25.2 |
15 | 38 | PyYAML==6.0.1 |
16 | 39 | requests==2.31.0 |
17 | 40 | tornado==6.3.2 |
18 | | -``` |
| 41 | +``` |
| 42 | + |
| 43 | +推荐在虚拟环境中安装依赖: |
| 44 | +```bash |
| 45 | +pip install -r requirements.txt |
| 46 | +``` |
| 47 | + |
| 48 | +## 启动框架 |
| 49 | + |
| 50 | +在项目根目录执行: |
| 51 | +```bash |
| 52 | +python -m fitframework |
| 53 | +``` |
| 54 | +默认会启动本地服务并按配置加载插件;进程前台运行,终端保持开启即可。 |
| 55 | + |
| 56 | +## 运行校验 |
| 57 | + |
| 58 | +启动后可通过健康检查确认框架与插件是否正常加载: |
| 59 | + |
| 60 | +```bash |
| 61 | +curl --request GET \ |
| 62 | + --url http://localhost:9666/fit/health \ |
| 63 | + --header 'FIT-Data-Format: 1' \ |
| 64 | + --header 'FIT-Genericable-Version: 1.0.0' \ |
| 65 | + --header 'FIT-Version: 2' |
| 66 | +``` |
| 67 | + |
| 68 | +若返回 `OK` 表示框架已正常启动且插件加载成功。 |
| 69 | + |
| 70 | +## 插件开发与构建(简要) |
| 71 | + |
| 72 | +1. 初始化插件工程(在项目根目录): |
| 73 | + ```bash |
| 74 | + python -m fit_cli init your_plugin_name |
| 75 | + ``` |
| 76 | +2. 开发完成后构建与打包: |
| 77 | + ```bash |
| 78 | + python -m fit_cli build your_plugin_name |
| 79 | + python -m fit_cli package your_plugin_name |
| 80 | + ``` |
| 81 | + 生成的产物位于 `plugin/your_plugin_name/build/`。 |
| 82 | + |
| 83 | +更多 CLI 细节可参考 `fit_cli/readme.md`。 |
0 commit comments