-
Notifications
You must be signed in to change notification settings - Fork 21
/
pyproject.toml
129 lines (103 loc) · 2.78 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
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "beangrow"
version = "0.1.0"
description = "A StreamLit app for Beancount metrics"
authors = [
"Martin Blais <[email protected]>",
]
readme = "README.md"
classifiers = [
"License :: OSI Approved :: MIT License",
"License :: OSI Approved :: Apache Software License",
"Typing :: Typed",
]
packages = [
{ include = "beangrow", from = "." },
]
[tool.poetry.scripts]
beangrow-returns = "beangrow.compute_returns:main"
beangrow-prices = "beangrow.download_prices:main"
beangrow-prices-file = "beangrow.download_prices_from_file:main"
[tool.poetry.dependencies]
python = ">=3.10"
numpy = "^1.26.4"
pandas = "^2.2.2"
matplotlib = "^3.9.0"
beancount = "^2.3.6"
scipy = "^1.13.1"
beanprice = {git = "git+https://github.com/beancount/beanprice.git"}
pandas-stubs = "^2.2.2.240514"
matplotlib-stubs = "^0.2.0"
[tool.black]
line-length = 88
[tool.pyright]
exclude = [
".venv",
".direnv",
]
typeCheckingMode = "standard"
useLibraryCodeForTypes = true
reportMissingTypeStubs = false
[tool.ruff]
select = [ "ALL" ]
ignore = [
# Pyright automatically infers the type of `self`
"ANN101",
# Pyright automatically infers the type of `cls`
"ANN102",
# In some cases actively detrimental; somewhat conflicts with black
"COM",
# In combination with D213, this results in noisy diffs and inconsistencies
# See also <https://github.com/charliermarsh/ruff/issues/4174>.
"D200",
# This results inconsistencies between function and class docstrings
# See also <https://github.com/charliermarsh/ruff/issues/4175>.
"D202",
# D211 is preferred since the extra blank line isn't visually useful
"D203",
# D213 is preferred since it's more readable and allows more characters
"D212",
# Covered by D401, which is more restrictive
"D415",
# Too many false-positives
"ERA",
# Just use a recent version of Python
"FA",
# This would just discourage documenting deficiences, not committing them
"FIX",
# Type-checkers interpret redundant `as` as exporting an item
"PLC0414",
# False-positives with chained function calls
"RSE102",
# Not applicable
"T20",
# Causes churn and awful looking import blocks for little gain
"TCH",
# Just look at the file history
"TD002",
# Not everything is worth a link
"TD003",
]
[tool.ruff.per-file-ignores]
"tests/*" = [
"D100",
"D103",
"D104",
"S101",
]
[tool.coverage.report]
skip_covered = true
skip_empty = true
[tool.pytest.ini_options]
# Use recommended import mode
addopts = [
"--import-mode=importlib",
]
# Make it so you don't have to prefix every file with `test_`
python_files = "*.py"
testpaths = [
"tests",
]