Skip to content

Commit 3a220cd

Browse files
authored
[fit] 将fit_cli上传至PyPI (#321)
* [fit] 上传fit_cli至PyPI * [fit] 新增上传PyPI仓库文档
1 parent a832a8e commit 3a220cd

File tree

4 files changed

+125
-0
lines changed

4 files changed

+125
-0
lines changed

framework/fit/python/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
/build
77
/dist
88
/fit.egg-info
9+
fit_plugin_cli.egg-info
910

1011
__pycache__
1112
plugin/*
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# 上传PyPI仓库流程
2+
3+
## 一、创建 PyPI 账号
4+
- 访问 PyPI 官网(https://pypi.org/)并注册一个账号。(已注册可跳过)
5+
- 建议同时注册一个 TestPyPI(https://test.pypi.org/) 账号,用于测试上传,避免污染正式仓库。
6+
## 二、安装必要工具
7+
需要安装打包和上传相关的 Python 工具:
8+
```bash
9+
pip install build twine
10+
```
11+
- `build` 用于构建 Python 项目。
12+
- `twine` 用于上传构建的包到 PyPI。
13+
## 三、配置打包文件
14+
在项目的根目录下,创建一个 `pyproject.toml` 文件,并配置基本的项目信息。例如:
15+
```toml
16+
[build-system]
17+
requires = ["setuptools>=61.0", "wheel"]
18+
build-backend = "setuptools.build_meta"
19+
20+
[project]
21+
name = "fit-plugin-cli"
22+
version = "0.1.0"
23+
authors = [
24+
{ name = "Akeyiii", email = "[email protected]" }
25+
]
26+
description = "CLI tool for FIT framework plugin development"
27+
license = "MIT"
28+
keywords = ["fit", "cli", "plugin"]
29+
requires-python = ">=3.9"
30+
31+
dependencies = [
32+
]
33+
34+
[project.scripts]
35+
fit_cli = "fit_cli.main:main"
36+
fit = "fit_cli.main:main"
37+
38+
[tool.setuptools]
39+
packages = [
40+
"fit_cli",
41+
"fit_cli.commands",
42+
"fit_cli.utils",
43+
]
44+
45+
```
46+
## 四、构建包
47+
在项目根目录运行以下命令来构建包:
48+
```bash
49+
python -m build
50+
```
51+
这将生成一个名为 `dist/` 的文件夹,里面包含了 `.tar.gz``.whl` 等格式的发布文件。
52+
## 五、上传至仓库
53+
### 1.上传至 TestPyPI (推荐测试)
54+
首先,配置 Twine 使用 TestPyPI 的仓库地址:
55+
```bash
56+
twine upload --repository testpypi dist/*
57+
```
58+
- 根据提示输入 TestPyPI 账号设置中生成的API token。
59+
- 测试安装:
60+
```bash
61+
pip install -i https://test.pypi.org/simple/ fit-plugin-cli
62+
```
63+
- 验证功能:执行 `fit --help` 或其他命令,确认命令可用。
64+
### 2.上传至正式 PyPI
65+
使用以下命令上传到 PyPI:
66+
```bash
67+
twine upload dist/*
68+
```
69+
- 根据提示输入 PyPI 账号设置中生成的API token。
70+
- 测试安装:
71+
```bash
72+
pip install fit-plugin-cli
73+
```
74+
- 验证功能:执行 `fit --help` 或其他命令,确认命令可用。
75+
## 注意事项
76+
- 版本号规范:每次上传必须使用新的版本号(如 0.1.1、0.2.0),PyPI 不允许重复版本号。
77+
- 依赖管理:确保 `pyproject.toml` 中的依赖项正确无误。

framework/fit/python/fit_cli/readme.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,24 @@ python -m fit_cli package %{your_plugin_name}
5555

5656
---
5757

58+
## pip 安装
59+
60+
FIT CLI 工具可通过 pip 进行安装:
61+
```bash
62+
pip install fit-plugin-cli
63+
```
64+
安装后,可以简化命令为:
65+
```bash
66+
fit init %{your_plugin_name}
67+
fit_cli init %{your_plugin_name}
68+
69+
fit build %{your_plugin_name}
70+
fit_cli build %{your_plugin_name}
71+
72+
fit package %{your_plugin_name}
73+
fit_cli package %{your_plugin_name}
74+
```
75+
5876
## 注意事项
5977

6078
1. 运行命令前,请切换至 framework/fit/python 项目根目录。
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
[build-system]
2+
requires = ["setuptools>=61.0", "wheel"]
3+
build-backend = "setuptools.build_meta"
4+
5+
[project]
6+
name = "fit-plugin-cli"
7+
version = "0.1.1"
8+
authors = [
9+
{ name = "Akeyiii", email = "[email protected]" }
10+
]
11+
description = "CLI tool for FIT framework plugin development"
12+
readme = "fit_cli/readme.md"
13+
license = "MIT"
14+
keywords = ["fit", "cli", "plugin"]
15+
requires-python = ">=3.9"
16+
17+
dependencies = [
18+
]
19+
20+
[project.scripts]
21+
fit_cli = "fit_cli.main:main"
22+
fit = "fit_cli.main:main"
23+
24+
[tool.setuptools]
25+
packages = [
26+
"fit_cli",
27+
"fit_cli.commands",
28+
"fit_cli.utils",
29+
]

0 commit comments

Comments
 (0)