-
Notifications
You must be signed in to change notification settings - Fork 61
/
Copy pathpyproject.toml
114 lines (98 loc) · 2.77 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
[build-system]
requires = ["hatchling", "uv-dynamic-versioning"]
build-backend = "hatchling.build"
[project]
name = "gokart"
description="Gokart solves reproducibility, task dependencies, constraints of good code, and ease of use for Machine Learning Pipeline. [Documentation](https://gokart.readthedocs.io/en/latest/)"
authors = [
{name = "M3, inc."}
]
license = "MIT"
readme = "README.md"
requires-python = ">=3.9, <4"
dependencies = [
"luigi",
"boto3",
"slack-sdk",
"pandas",
"numpy",
"google-auth",
"pyarrow",
"uritemplate",
"google-api-python-client",
"APScheduler",
"redis",
"dill",
"backoff",
"typing-extensions>=4.11.0; python_version<'3.13'",
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
]
dynamic = ["version"]
[project.urls]
Homepage = "https://github.com/m3dev/gokart"
Repository = "https://github.com/m3dev/gokart"
Documentation = "https://gokart.readthedocs.io/en/latest/"
[dependency-groups]
test = [
"fakeredis",
"lupa",
"matplotlib",
"moto",
"mypy",
"pytest",
"pytest-cov",
"pytest-xdist",
"testfixtures",
"toml",
"types-redis",
"typing-extensions>=4.11.0",
]
lint = [
"ruff",
"mypy",
]
[tool.uv]
default-groups = ['test', 'lint']
cache-keys = [ { file = "pyproject.toml" }, { git = true } ]
[tool.hatch.version]
source = "uv-dynamic-versioning"
[tool.uv-dynamic-versioning]
enable = true
[tool.hatch.build.targets.sdist]
include = [
"/LICENSE",
"/README.md",
"/examples",
"/gokart",
"/test",
]
[tool.ruff]
line-length = 160
exclude = ["venv/*", "tox/*", "examples/*"]
[tool.ruff.lint]
# All the rules are listed on https://docs.astral.sh/ruff/rules/
extend-select = [
"B", # bugbear
"I" # isort
]
# B006: Do not use mutable data structures for argument defaults. They are created during function definition time. All calls to the function reuse this one instance of that data structure, persisting changes between them.
# B008 Do not perform function calls in argument defaults. The call is performed only once at function definition time. All calls to your function will reuse the result of that definition-time function call. If this is intended, assign the function call to a module-level variable and use that variable as a default value.
ignore = ["B006", "B008"]
[tool.ruff.format]
quote-style = "single"
[tool.mypy]
ignore_missing_imports = true
plugins = ["gokart.mypy:plugin"]
check_untyped_defs = true
[tool.pytest.ini_options]
testpaths = ["test"]
addopts = "-n auto -s -v --durations=0"