-
Notifications
You must be signed in to change notification settings - Fork 3
/
pyproject.toml
120 lines (106 loc) Β· 2.84 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
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
name = "rezervo"
version = "0.1.0"
description = "Automatic booking of group classes"
authors = ["Mathias Oterhals Myklebust <[email protected]>"]
readme = "README.md"
packages = [{include = "rezervo"}]
repository = "https://github.com/mathiazom/rezervo"
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3.10",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
]
[tool.poetry.urls]
"Bug Tracker" = "https://github.com/mathiazom/rezervo/issues"
[tool.poetry.scripts]
rezervo = "rezervo.cli.cli:cli"
[tool.poetry.dependencies]
python = "^3.10"
pydantic = "^2.7.0"
pydantic-settings = "^2.2.1"
fastapi = "^0.115.3"
requests = "^2.32.3"
pytz = "^2024.2"
typer = "^0.12.5"
slack-sdk = "^3.33.2"
uvicorn = "^0.32.0"
python-multipart = "^0.0.9"
dataclass-wizard = {extras = ["yaml"], version = "^0.23.0"}
pyjwt = {extras = ["crypto"], version = "^2.9.0"}
sqlalchemy = {extras = ["mypy"], version = "^2.0.36"}
alembic = "^1.9.4"
psycopg2-binary = "^2.9.10"
rich = "^13.9.3"
python-crontab = "^3.2.0"
deepmerge = "^2.0"
auth0-python = "^4.7.2"
icalendar = "^5.0.7"
pywebpush = "^2.0.1"
croniter = "^2.0.1"
humanize = "^4.11.0"
pyhumps = "^3.8.0"
asyncer = "^0.0.8"
tabulate = "^0.9.0"
cron-descriptor = "^1.4.5"
aiohttp = "3.9.4"
pillow = "^10.3.0"
playwright = "^1.42.0"
xxhash = "^3.5.0"
apprise = "1.7.5"
isoweek = "^1.3.3"
psutil = "^6.1.0"
[tool.poetry.group.dev.dependencies]
mypy = "^1.8.0"
poethepoet = "^0.22.0"
black = "^24.4.0"
ruff = "^0.4.1"
types-python-crontab = "^3.0.0.1"
types-pyyaml = "^6.0.12.12"
types-python-dateutil = "^2.8.19.14"
types-pytz = "^2023.3.1.1"
types-requests = "^2.31.0.10"
types-tabulate = "^0.9.0.20240106"
types-pillow = "^10.2.0.20240311"
types-psutil = "^5.9.5.20240511"
[tool.poe.tasks]
fix = ["fmt", "lintfix"]
[tool.poe.tasks.check]
sequence = ["typecheck", "lint"]
ignore_fail = "return_non_zero"
[tool.poe.tasks.fmt]
cmd = "black rezervo"
help = "Format code using black"
[tool.poe.tasks.lintfix]
cmd = "ruff check rezervo --fix"
help = "Lint and fix code using ruff"
[tool.poe.tasks.lint]
cmd = "ruff check rezervo"
help = "Lint code using ruff"
[tool.poe.tasks.typecheck]
cmd = "mypy rezervo"
help = "Check typing using mypy"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"C", # flake8-comprehensions
"B", # flake8-bugbear
"TID", # flake8-tidy-imports
]
ignore = [
"E501", # line too long, handled by black
"B008", # do not perform function calls in argument defaults
"C901", # too complex
]
[tool.ruff.lint.per-file-ignores]
"rezervo/alembic/env.py" = ["E402"]
[tool.mypy]
ignore_missing_imports = true