From 2aee776bad39e929114e5f7d03a75ea2d1706d33 Mon Sep 17 00:00:00 2001 From: MangoFanFanw Date: Sun, 26 Apr 2026 17:45:58 +0800 Subject: [PATCH] =?UTF-8?q?v0.1.3=20=E6=9B=B4=E6=96=B0=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=E8=A1=8C=E5=85=A5=E5=8F=A3=E5=88=AB=E5=90=8D=E3=80=81=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=20CHANGELOG.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pyproject.toml 中的命令行入口别名从 suanapi 改为 njupt-suan-api,与包名一致。这可以方便使用 uvx 部署运行本项目。 另外,增加了 CHANGELOG.md 文件以记录主要变更。 --- CHANGELOG.md | 17 +++++++++++++++++ README.md | 2 ++ pyproject.toml | 8 ++++---- uv.lock | 18 +++++++++--------- 4 files changed, 32 insertions(+), 13 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..50756a7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,17 @@ +# CHANGELOG + +此文件中记录 NJUPT Suan API 的主要的版本变更日志。 + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +6 种更新类别:Added、Changed、Deprecated、Removed、Fixed、Security。 + +## [0.1.3] - 2026-04-26 + +### Changed + +- 更改项目的 cli 入口别名与包名 `njupt-suan-api` 一致,以支持更简单地通过 uv tool / uvx 部署本项目。 +- 依赖更新: + - fastapi -> 0.136.1 + - typer -> 0.25.0 diff --git a/README.md b/README.md index 468136a..7eebcf6 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ NJUPT Suan API 是一个 FastAPI 项目,目标在于实现对 NJUPT(南京邮电大学)的信息获取 API 和 MCP 服务。 +在 `pyproject.toml` 中,本项目的包名,以及命令行入口名为 `njupt-suan-api`。 + ## 文档 虽然项目还没个两样,但是文档其实也没个两样 ~~(什么东西)~~ diff --git a/pyproject.toml b/pyproject.toml index ed801b8..c2ae9a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "njupt-suan-api" -version = "0.1.2" +version = "0.1.3" description = "API and MCP server for NJUPT infomation ~" readme = "README.md" requires-python = ">=3.13" @@ -8,7 +8,7 @@ dependencies = [ "aiofiles>=25.1.0", "beautifulsoup4>=4.14.3", "ddddocr>=1.6.1", - "fastapi>=0.135.3", + "fastapi>=0.136.1", "fastmcp>=3.2.0", "loguru>=0.7.3", "mcp>=1.27.0", @@ -17,14 +17,14 @@ dependencies = [ "rich>=15.0.0", "sqlalchemy>=2.0.49", "sqlmodel>=0.0.38", - "typer>=0.24.2", + "typer>=0.25.0", "uvicorn>=0.46.0", "watchfiles>=1.1.1", "websockets>=16.0", ] [project.scripts] -suanapi = "njupt_suan_api.manage:app" +njupt-suan-api = "njupt_suan_api.manage:app" [build-system] requires = ["hatchling"] diff --git a/uv.lock b/uv.lock index ed10285..fb30e0b 100644 --- a/uv.lock +++ b/uv.lock @@ -333,7 +333,7 @@ wheels = [ [[package]] name = "fastapi" -version = "0.136.0" +version = "0.136.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-doc" }, @@ -342,9 +342,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4e/d9/e66315807e41e69e7f6a1b42a162dada2f249c5f06ad3f1a95f84ab336ef/fastapi-0.136.0.tar.gz", hash = "sha256:cf08e067cc66e106e102d9ba659463abfac245200752f8a5b7b1e813de4ff73e", size = 396607, upload-time = "2026-04-16T11:47:13.623Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5d/45/c130091c2dfa061bbfe3150f2a5091ef1adf149f2a8d2ae769ecaf6e99a2/fastapi-0.136.1.tar.gz", hash = "sha256:7af665ad7acfa0a3baf8983d393b6b471b9da10ede59c60045f49fbc89a0fa7f", size = 397448, upload-time = "2026-04-23T16:49:44.046Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/26/a3/0bd5f0cdb0bbc92650e8dc457e9250358411ee5d1b65e42b6632387daf81/fastapi-0.136.0-py3-none-any.whl", hash = "sha256:8793d44ec7378e2be07f8a013cf7f7aa47d6327d0dfe9804862688ec4541a6b4", size = 117556, upload-time = "2026-04-16T11:47:11.922Z" }, + { url = "https://files.pythonhosted.org/packages/5a/ff/2e4eca3ade2c22fe1dea7043b8ee9dabe47753349eb1b56a202de8af6349/fastapi-0.136.1-py3-none-any.whl", hash = "sha256:a6e9d7eeada96c93a4d69cb03836b44fa34e2854accb7244a1ece36cd4781c3f", size = 117683, upload-time = "2026-04-23T16:49:42.437Z" }, ] [[package]] @@ -701,7 +701,7 @@ wheels = [ [[package]] name = "njupt-suan-api" -version = "0.1.1" +version = "0.1.3" source = { editable = "." } dependencies = [ { name = "aiofiles" }, @@ -727,7 +727,7 @@ requires-dist = [ { name = "aiofiles", specifier = ">=25.1.0" }, { name = "beautifulsoup4", specifier = ">=4.14.3" }, { name = "ddddocr", specifier = ">=1.6.1" }, - { name = "fastapi", specifier = ">=0.135.3" }, + { name = "fastapi", specifier = ">=0.136.1" }, { name = "fastmcp", specifier = ">=3.2.0" }, { name = "loguru", specifier = ">=0.7.3" }, { name = "mcp", specifier = ">=1.27.0" }, @@ -736,7 +736,7 @@ requires-dist = [ { name = "rich", specifier = ">=15.0.0" }, { name = "sqlalchemy", specifier = ">=2.0.49" }, { name = "sqlmodel", specifier = ">=0.0.38" }, - { name = "typer", specifier = ">=0.24.2" }, + { name = "typer", specifier = ">=0.25.0" }, { name = "uvicorn", specifier = ">=0.46.0" }, { name = "watchfiles", specifier = ">=1.1.1" }, { name = "websockets", specifier = ">=16.0" }, @@ -1464,7 +1464,7 @@ wheels = [ [[package]] name = "typer" -version = "0.24.2" +version = "0.25.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-doc" }, @@ -1472,9 +1472,9 @@ dependencies = [ { name = "rich" }, { name = "shellingham" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/83/b8/9ebb531b6c2d377af08ac6746a5df3425b21853a5d2260876919b58a2a4a/typer-0.24.2.tar.gz", hash = "sha256:ec070dcfca1408e85ee203c6365001e818c3b7fffe686fd07ff2d68095ca0480", size = 119849, upload-time = "2026-04-22T17:45:34.413Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/27/ede8cec7596e0041ba7e7b80b47d132562f56ff454313a16f6084e555c9f/typer-0.25.0.tar.gz", hash = "sha256:123eaf9f19bb40fd268310e12a542c0c6b4fab9c98d9d23342a01ff95e3ce930", size = 120150, upload-time = "2026-04-26T08:46:14.767Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/39/d1/9484b497e0a0410b901c12b8251c3e746e1e863f7d28419ffe06f7892fda/typer-0.24.2-py3-none-any.whl", hash = "sha256:b618bc3d721f9a8d30f3e05565be26416d06e9bcc29d49bc491dc26aba674fa8", size = 55977, upload-time = "2026-04-22T17:45:33.055Z" }, + { url = "https://files.pythonhosted.org/packages/9a/72/193d4e586ec5a4db834a36bbeb47641a62f951f114ffd0fe5b1b46e8d56f/typer-0.25.0-py3-none-any.whl", hash = "sha256:ac01b48823d3db9a83c9e164338057eadbb1c9957a2a6b4eeb486669c560b5dc", size = 55993, upload-time = "2026-04-26T08:46:15.889Z" }, ] [[package]]