forked from benjamin-awd/monopoly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
98 lines (85 loc) · 2.17 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
[tool.poetry]
name = "monopoly-core"
version = "0.10.7"
description = "Monopoly is a Python library & CLI that converts bank statement PDFs to CSV"
repository = "https://github.com/benjamin-awd/monopoly"
authors = ["benjamin-awd <[email protected]>"]
packages = [
{ include = "monopoly", from = "src" },
{ include = "test_utils", from = "tests" },
]
license = "MIT"
readme = "README.md"
classifiers = [
"Development Status :: 3 - Alpha",
"Programming Language :: Python :: 3.11",
]
[tool.poetry.dependencies]
python = "^3.10"
pydantic-settings = "^2.0.3"
pymupdf = "^1.23.7"
pdftotext = "^2.2.2"
click = "^8.1.7"
tqdm = "^4.66.1"
tabulate = "^0.9.0"
pydantic = "^2.5.2"
dateparser = "^1.2.0"
strenum = "^0.4.15"
[tool.poetry.group.dev.dependencies]
black = ">=23.7,<25.0"
pylint = ">=2.17.5,<4.0.0"
isort = "^5.12.0"
taskipy = "^1.12.0"
pytest = ">=7.4.1,<9.0.0"
pysnooper = "^1.2.0"
pylint-pydantic = "^0.3.0"
mypy = "^1.7.1"
types-tqdm = "^4.66.0.5"
types-dateparser = "^1.2.0.20240420"
types-tabulate = "^0.9.0.20240106"
pytest-xdist = "^3.6.1"
flake8 = "^7.0.0"
ruff = ">=0.4.7,<0.6.0"
git-cliff = "^2.3.0"
[tool.taskipy.tasks]
format = "isort . && black ."
lint = "flake8 src && pylint src && ruff check src"
test = "pytest ."
mypy = "mypy src"
ci = "poetry run task format && poetry run task lint && poetry run task test"
[tool.pylint]
good-names = ["i", "j", "k", "ex", "Run", "_", "df"]
disable = [
"missing-module-docstring",
"missing-function-docstring",
"missing-class-docstring",
"logging-fstring-interpolation",
"no-member"
]
ignore-paths = ["tests"]
load-plugins = "pylint_pydantic"
[tool.black]
line-length = 88
[tool.isort]
profile = "black"
[tool.pytest.ini_options]
filterwarnings = [
"ignore:Deprecated call to `pkg_resources\\.declare_namespace\\('.*'\\):DeprecationWarning",
"ignore::DeprecationWarning:google.rpc",
]
[tool.mypy]
disable_error_code = [
"annotation-unchecked",
]
[[tool.mypy.overrides]]
module = [
"fitz",
"pdftotext",
"pdf2john",
]
ignore_missing_imports = true
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
monopoly = "monopoly.cli:monopoly"