@@ -21,11 +21,77 @@ classifiers = [
2121 " Programming Language :: Python :: 3.13" ,
2222 " Programming Language :: Python :: 3.14" ,
2323]
24+ dependencies = [
25+ " maturin>=1.10.2" ,
26+ " pytest>=8.4.1,<9" ,
27+ " pytest-asyncio>=1.1.0,<2" ,
28+ " trafaret>=2.1,<3" ,
29+ " testcontainers>=4.12.0,<5" ,
30+ ]
2431
2532[project .urls ]
2633homepage = " https://github.com/lablup/etcd-client-py"
2734repository = " https://github.com/lablup/etcd-client-py"
2835
36+ [project .optional-dependencies ]
37+ dev = [
38+ " ruff>=0.8.5" ,
39+ " mypy>=1.13.0" ,
40+ ]
41+
2942[build-system ]
3043requires = [" maturin>=1.7,<2.0" ]
3144build-backend = " maturin"
45+
46+ # === Tool Configuration ===
47+
48+ [tool .ruff ]
49+ target-version = " py310"
50+ line-length = 100
51+ extend-exclude = [" *.pyi" ]
52+ preview = true
53+
54+ [tool .ruff .lint ]
55+ preview = true
56+ ignore = [
57+ " E501" , # Line too long (formatter handles)
58+ ]
59+
60+ [tool .ruff .lint .isort ]
61+ known-first-party = [" etcd_client" , " tests" ]
62+ section-order = [" future" , " standard-library" , " third-party" , " first-party" , " local-folder" ]
63+
64+ [tool .mypy ]
65+ python_version = " 3.11"
66+ warn_return_any = true
67+ warn_unused_configs = true
68+ warn_redundant_casts = true
69+ warn_unused_ignores = true
70+ warn_no_return = true
71+ warn_unreachable = true
72+ strict_equality = true
73+ extra_checks = true
74+ check_untyped_defs = true
75+ disallow_untyped_calls = false
76+ disallow_untyped_defs = false
77+ disallow_incomplete_defs = true
78+ disallow_untyped_decorators = false
79+ show_error_codes = true
80+ show_column_numbers = true
81+ pretty = true
82+ explicit_package_bases = true
83+ namespace_packages = true
84+
85+ [[tool .mypy .overrides ]]
86+ module = [
87+ " trafaret.*" ,
88+ " testcontainers.*" ,
89+ " pytest.*" ,
90+ ]
91+ ignore_missing_imports = true
92+
93+ [[tool .mypy .overrides ]]
94+ module = " tests.*"
95+ disallow_incomplete_defs = false
96+ no_implicit_optional = false
97+ disable_error_code = [" union-attr" ]
0 commit comments