forked from beancount/beancount
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
132 lines (114 loc) · 3.12 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
[build-system]
build-backend = "mesonpy"
requires = [
"meson-python >= 0.14.0",
"meson >= 1.2.1",
]
[project]
name = "beancount"
description = "Command-line Double-Entry Accounting"
readme = { content-type = "text/x-rst", text = """
A double-entry accounting system that uses text files as input.
Beancount defines a simple data format or "language" that lets you
define financial transaction records in a text file, load them in
memory and generate and export a variety of reports, such as balance
sheets or income statements. It also provides a client with an
SQL-like query language to filter and aggregate financial data, and a
web interface which renders those reports to HTML. Finally, it
provides the scaffolding required to automate the conversion of
external data into one's input file in Beancount syntax.""" }
authors = [
]
license = { text = "GPL-2.0-only" }
requires-python = ">=3.9"
dependencies = [
"click >=7.0",
"python-dateutil >=2.6.0",
"regex >=2022.9.13",
]
dynamic = ["version"]
[project.optional-dependencies]
types = [
"mypy==1.4.0",
"types-regex",
]
[project.scripts]
bean-check = "beancount.scripts.check:main"
bean-doctor = "beancount.scripts.doctor:main"
bean-example = "beancount.scripts.example:main"
bean-format = "beancount.scripts.format:main"
treeify = "beancount.tools.treeify:main"
[project.urls]
homepage = "https://beancount.github.io/"
documentation = "https://beancount.github.io/docs/"
repository = "https://github.com/beancount/beancount"
[tool.mypy]
mypy_path = '$MYPY_CONFIG_FILE_DIR'
exclude = ["tools", "experiments", ".venv", "build", "__pycache__"]
check_untyped_defs = false
python_version = '3.9'
cache_dir = ".venv/.mypy_cache"
[[tool.mypy.overrides]]
module = "beancount.projects.*"
ignore_errors = true
[[tool.mypy.overrides]]
module = "beancount.scripts.*"
ignore_errors = true
[tool.black]
line-length = 92
# Please note: We use 'ruff format' to autoformat buffers.
# See 'rust-format.el' and .dir-locals.el at the root of the project.
[tool.ruff]
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".hg",
".mypy_cache",
".nox",
".pants.d",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"venv",
]
# Same as Black.
line-length = 92
[tool.ruff.lint]
# Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default.
select = ["E", "F", "PL", "PD", "I", "TC", "RUF022", 'ISC001', 'UP034']
ignore = [
'E501',
'E731',
'E741',
'PD011',
'PLR0912',
'PLR0913',
'PLR0915',
'PLR2004',
'PLR5501',
'PLW0603',
'PLW2901',
]
# Allow autofix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = []
per-file-ignores = { }
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.lint.isort]
force-single-line = true
[tool.ruff.lint.mccabe]
# Unlike Flake8, default to a complexity level of 10.
max-complexity = 10