-
Notifications
You must be signed in to change notification settings - Fork 540
Expand file tree
/
Copy pathpyproject.toml
More file actions
47 lines (42 loc) · 1.58 KB
/
Copy pathpyproject.toml
File metadata and controls
47 lines (42 loc) · 1.58 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
[project]
name = "obsidian-second-brain-research"
version = "0.15.0"
description = "Research toolkit for obsidian-second-brain - Grok, Perplexity, Gemini, and YouTube research that saves to your vault"
requires-python = ">=3.10"
dependencies = [
"openai>=1.40.0",
"requests>=2.32.0",
"python-dotenv>=1.0.0",
"youtube-transcript-api>=0.6.2",
"google-api-python-client>=2.110.0",
"google-genai>=2.3.0",
"feedparser>=6.0.10",
"pyyaml>=6",
]
[dependency-groups]
dev = [
"pytest>=8.0",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
pythonpath = ["."]
[tool.ruff]
line-length = 100
target-version = "py310"
# CI gates this exact set and nothing more. "F" is pyflakes: undefined names,
# unused imports, f-strings with no placeholders - the rules that catch bugs
# rather than opinions. "I" sorts imports. "PTH" prefers pathlib over os.path
# (#168), which is enforceable because the backlog was cleared first rather
# than silenced.
#
# Deliberately NOT gated:
# E501 line length. A few hundred existing violations; line-length above
# stays the formatting convention, not a build-breaking rule. No count
# is quoted here on purpose - the last one drifted unnoticed. Run
# `ruff check --select E501 --statistics .` for the current number.
# E402 module-level import not at top. The sys.path shim these scripts use
# to import siblings requires it.
# E731 lambda assignment. Used intentionally in research/lib/config.py.
# Widening this list means fixing the backlog first, not adding a noqa sweep.
[tool.ruff.lint]
select = ["F", "I", "PTH"]