-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
132 lines (114 loc) · 3.41 KB
/
pyproject.toml
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
[project]
name = "lorairo"
version = "0.0.8"
description = "AIタグ付LoRA画像データセット準備ツール"
readme = "README.md"
requires-python = ">=3.12"
license = { text = "MIT" }
authors = [{ name = "NEXTAltair" }]
keywords = ["lora", "dataset", "ai", "image-processing"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: GPU :: NVIDIA CUDA",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.12",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Multimedia :: Graphics",
"Operating System :: Microsoft :: Windows",
]
# 依存パッケージ(バージョン固定)
dependencies = [
# 画像処理系
"Pillow", # 基本的な画像処理
"opencv-python", # オートクロップの枠検出
"numpy", # 画像処理の数値計算
"ImageHash", # DB重複チェック用
# AI系
"google-generativeai>=0.8.3", # Gemini API
"anthropic>=0.36.2", # Claude API
"openai>=0.10.0", # GPT API
"spandrel", #アップスケーラー用モデルローダー
# データ処理系
"toml>=0.10.2", # 設定ファイル処理
# PyQt系
"PySide6>=6.8.0.2", # GUIフレームワーク
"superqt>=0.6.7", # 拡張Qt部品
# AI Model系
"pytorch-lightning==2.4.0", # PyTorch拡張
"joblib==1.4.2", # 並列処理
# # 自作ライブラリ
# "genai-tag-db-tools @ git+https://github.com/NEXTAltair/genai-tag-db-tools.git", # Git URL からインストール
]
[project.optional-dependencies]
dev = [
"ruff",
"pylint",
"pytest",
"pytest-cov",
"pytest-qt",
"matplotlib",
"genai-tag-db-tools @ file:../genai-tag-db-tools",
]
prod = [
"genai-tag-db-tools @ git+https://github.com/NEXTAltair/genai-tag-db-tools.git",
]
[project.scripts]
lorairo = "main:main"
[project.urls]
"Homepage" = "https://github.com/NEXTAltair/lorairo"
"Bug Tracker" = "https://github.com/NEXTAltair/lorairo/issues"
[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"
[tool.setuptools]
package-dir = { "" = "src" }
[tool.setuptools.packages.find]
where = ["src"]
include = ["lorairo*"]
namespaces = false
[tool.ruff]
exclude = ["src/gui/designer/*"]
fix = true
line-length = 250
target-version = "py312"
[tool.pylint.messages_control]
disable = [
"C0103", # invalid-name
"C0301", # line-too-long (handled by black)
"W0703", # broad-except
"R0903", # too-few-public-methods
"R0913", # too-many-arguments
"R0914", # too-many-locals
"W1203", # logging-fstring-interpolation
]
[tool.pytest.ini_options]
pythonpath = ["src"] # テストするコードのディレクトリ
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
addopts = ["-v", "-s", "-ra", "--tb=short", "--showlocals"]
markers = [
"unit: Unit tests",
"integration: Integration tests",
"gui: GUI tests",
"slow: Tests that take more time",
]
[tool.coverage.run]
source = ["src"]
omit = [
"*/shibokensupport/*",
"*/site-packages/*",
"*/tests/*",
"*/pyscript",
"*/signature_bootstrap.py"
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"def __repr__",
"if __name__ == '__main__':",
"raise NotImplementedError",
"if TYPE_CHECKING:",
]