-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathpyproject.toml
More file actions
67 lines (58 loc) · 2.44 KB
/
Copy pathpyproject.toml
File metadata and controls
67 lines (58 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
[project]
name = "cblens"
version = "1.0.0"
description = "CBLens: A 股可转债定价与机会筛选工作台,支持 Crank-Nicolson PDE、公告事件、Wind/akshare 和 GUI"
readme = "README.md"
requires-python = ">=3.10"
license = "MIT"
license-files = ["LICENSE"]
keywords = ["convertible-bond", "pricing", "pde", "wind", "akshare", "quant"]
dependencies = [
"customtkinter>=5.2.2",
"matplotlib>=3.10",
"numpy>=2.0",
"scipy>=1.14",
"pillow>=10.0",
"akshare>=1.13",
"requests>=2.28",
"pdfplumber>=0.9",
]
[project.urls]
Homepage = "https://github.com/Grefer/CBLens"
Repository = "https://github.com/Grefer/CBLens"
Documentation = "https://github.com/Grefer/CBLens/blob/main/docs/USAGE.md"
Issues = "https://github.com/Grefer/CBLens/issues"
[project.optional-dependencies]
dev = ["pytest>=8.0", "pytest-cov>=5.0", "ruff>=0.6"]
desktop = ["pyinstaller>=6.10", "pillow>=10.0"]
[project.scripts]
cb-gui = "convertible_bond.gui.app:main"
cb-backfill-delisted-cbs = "convertible_bond.cli.backfill_delisted_cbs:main"
cb-backfill-down-reset-patches = "convertible_bond.cli.backfill_down_reset_patches:main"
cb-calibrate-down-reset = "convertible_bond.cli.calibrate_down_reset:main"
cb-screen-pool = "convertible_bond.cli.screen_pool:main"
cb-valuation = "convertible_bond.cli.market_valuation:main"
cb-strategy-backtest = "convertible_bond.cli.strategy_backtest:main"
cb-sync-admission-status = "convertible_bond.cli.sync_admission_status:main"
cb-sync-events = "convertible_bond.cli.sync_events:main"
cb-sync-tradable = "convertible_bond.cli.sync_tradable:main"
cb-sync-terms = "convertible_bond.cli.sync_terms:main"
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.ruff]
# 起步只选高价值正确性规则: E9 (语法/IO 错误) + F (pyflakes: 未定义名/未用导入/重复定义)。
# F821 (未定义名) 是 GUI 代码静态防线 — 运行期 NameError 在测试环境无法触达, 靠它兜底。
target-version = "py310"
[tool.ruff.lint]
select = ["E9", "F"]
# F841 (未用局部变量) 噪音大且无运行期风险, 暂不启用
ignore = ["F841"]
[tool.ruff.lint.per-file-ignores]
# 历史 star import, 重构另行处理; F405 为 star import 的连带误报
"convertible_bond/gui/tabs/batch.py" = ["F403", "F405"]
"convertible_bond/gui/tabs/batch_watchlist.py" = ["F403", "F405"]
[build-system]
requires = ["setuptools>=69", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools.packages.find]
include = ["convertible_bond*"]