forked from KapJI/capital-gains-calculator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
93 lines (83 loc) · 2.3 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
[tool.poetry]
name = "cgt-calc"
version = "0.0.0"
description = "UK capital gains tax calculator for Charles Schwab and Trading 212 accounts"
authors = ["Ruslan Sayfutdinov <ruslan@sayfutdinov.com>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/KapJI/capital-gains-calculator"
repository = "https://github.com/KapJI/capital-gains-calculator"
classifiers = [
"Development Status :: 3 - Alpha",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3.8",
"Topic :: Office/Business :: Financial",
"Typing :: Typed",
]
keywords = [
"capital gain",
"schwab",
"trading 212",
]
[tool.poetry.urls]
"Bug Tracker" = "https://github.com/KapJI/capital-gains-calculator/issues"
"Release Notes" = "https://github.com/KapJI/capital-gains-calculator/releases"
[tool.poetry.dependencies]
python = "^3.8"
Jinja2 = ">=2.11.3,<4.0.0"
pandas = "^2.0.3"
requests = "^2.27.1"
types-requests = "^2.27.7"
yfinance = "^0.2.36"
[tool.poetry.group.dev.dependencies]
black = "^24.1"
codespell = "^2.2.6"
flake8 = "^5.0.4"
flake8-bugbear = "^23.3.12"
flake8-comprehensions = "^3.14.0"
flake8-docstrings = "^1.7.0"
flake8-simplify = "^0.21.0"
flake8-use-fstring = "^1.4"
flake8-use-pathlib = "^0.3.0"
isort = "^5.13.2"
mypy = "^1.8"
pandas-stubs = "^2.0.3.230814"
pre-commit = "^3.5.0"
pylint = "^3.0.3"
pytest = ">=7.4.4,<9.0.0"
[tool.poetry.scripts]
cgt-calc = 'cgt_calc.main:init'
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.isort]
profile = "black"
force_sort_within_sections = true
combine_as_imports = true
[tool.pylint.format]
max-line-length = 88
[tool.pylint.messages_control]
# Reasons disabled:
# duplicate-code - unavoidable
# invalid-unary-operand-type - buggy, mypy is enough. See PyCQA/pylint#1472
# too-many-* - not enforced for the sake of readability
# too-few-* - same as too-many-*
disable = [
"duplicate-code",
"invalid-unary-operand-type",
"too-few-public-methods",
"too-many-arguments",
"too-many-branches",
"too-many-instance-attributes",
"too-many-locals",
"too-many-return-statements",
"too-many-statements",
]
[tool.mypy]
python_version = 3.8
show_error_codes = true
strict = true
disallow_any_explicit = true
disallow_any_unimported = true
warn_no_return = true
warn_unreachable = true