|
| 1 | +[build-system] |
| 2 | +requires = ["hatchling"] |
| 3 | +build-backend = "hatchling.build" |
| 4 | + |
| 5 | +[dependency-groups] |
| 6 | +dev = [ |
| 7 | + "codecov>=2.1.13", |
| 8 | + "mypy>=1.14.1", |
| 9 | + "nbqa>=1.9.1", |
| 10 | + "pip-audit>=2.7.3", |
| 11 | + "pre-commit>=4.1.0", |
| 12 | + "pytest>=8.3.4", |
| 13 | + "pytest-asyncio>=0.25.2", |
| 14 | + "pytest-cov>=6.0.0", |
| 15 | + "pytest-mock>=3.14.0", |
| 16 | + "ruff>=0.9.2", |
| 17 | +] |
| 18 | + |
| 19 | +[project] |
| 20 | +name = "aieng-topic-impl" |
| 21 | +version = "0.1.0" |
| 22 | +description = "AI Engineering example implementation" |
| 23 | +authors = [{ name = "Vector AI Engineering", email = "[email protected]"}] |
| 24 | +requires-python = ">=3.11,<4.0" |
| 25 | +readme = "README.md" |
| 26 | +license = "MIT" |
| 27 | +dependencies = [] |
| 28 | + |
| 29 | +[tool.hatch.build.targets.sdist] |
| 30 | +include = ["aieng/"] |
| 31 | + |
| 32 | +[tool.hatch.build.targets.wheel] |
| 33 | +include = ["aieng/"] |
| 34 | + |
| 35 | +[tool.mypy] |
| 36 | +ignore_missing_imports = true |
| 37 | +install_types = true |
| 38 | +pretty = true |
| 39 | +namespace_packages = true |
| 40 | +explicit_package_bases = true |
| 41 | +non_interactive = true |
| 42 | +warn_unused_configs = true |
| 43 | +allow_any_generics = false |
| 44 | +allow_subclassing_any = false |
| 45 | +allow_untyped_calls = false |
| 46 | +allow_untyped_defs = false |
| 47 | +allow_incomplete_defs = false |
| 48 | +check_untyped_defs = true |
| 49 | +allow_untyped_decorators = false |
| 50 | +warn_redundant_casts = true |
| 51 | +warn_unused_ignores = true |
| 52 | +warn_return_any = true |
| 53 | +implicit_reexport = false |
| 54 | +strict_equality = true |
| 55 | +extra_checks = true |
| 56 | + |
| 57 | +[tool.ruff] |
| 58 | +include = ["*.py", "pyproject.toml", "*.ipynb"] |
| 59 | +line-length = 88 |
| 60 | + |
| 61 | +[tool.ruff.format] |
| 62 | +quote-style = "double" |
| 63 | +indent-style = "space" |
| 64 | +docstring-code-format = true |
| 65 | + |
| 66 | +[tool.ruff.lint] |
| 67 | +select = [ |
| 68 | + "A", # flake8-builtins |
| 69 | + "B", # flake8-bugbear |
| 70 | + "COM", # flake8-commas |
| 71 | + "C4", # flake8-comprehensions |
| 72 | + "RET", # flake8-return |
| 73 | + "SIM", # flake8-simplify |
| 74 | + "ICN", # flake8-import-conventions |
| 75 | + "Q", # flake8-quotes |
| 76 | + "RSE", # flake8-raise |
| 77 | + "D", # pydocstyle |
| 78 | + "E", # pycodestyle |
| 79 | + "F", # pyflakes |
| 80 | + "I", # isort |
| 81 | + "W", # pycodestyle |
| 82 | + "N", # pep8-naming |
| 83 | + "ERA", # eradicate |
| 84 | + "PL", # pylint |
| 85 | +] |
| 86 | +fixable = ["A", "B", "COM", "C4", "RET", "SIM", "ICN", "Q", "RSE", "D", "E", "F", "I", "W", "N", "ERA", "PL"] |
| 87 | +ignore = [ |
| 88 | + "B905", # `zip()` without an explicit `strict=` parameter |
| 89 | + "E501", # line too long |
| 90 | + "D203", # 1 blank line required before class docstring |
| 91 | + "D213", # Multi-line docstring summary should start at the second line |
| 92 | + "PLR2004", # Replace magic number with named constant |
| 93 | + "PLR0913", # Too many arguments |
| 94 | + "COM812", # Missing trailing comma |
| 95 | +] |
| 96 | + |
| 97 | +# Ignore import violations in all `__init__.py` files. |
| 98 | +[tool.ruff.lint.per-file-ignores] |
| 99 | +"__init__.py" = ["E402", "F401", "F403", "F811"] |
| 100 | + |
| 101 | +[tool.ruff.lint.pep8-naming] |
| 102 | +ignore-names = ["X*", "setUp"] |
| 103 | + |
| 104 | +[tool.ruff.lint.isort] |
| 105 | +lines-after-imports = 2 |
| 106 | + |
| 107 | +[tool.ruff.lint.pydocstyle] |
| 108 | +convention = "numpy" |
| 109 | + |
| 110 | +[tool.ruff.lint.pycodestyle] |
| 111 | +max-doc-length = 88 |
| 112 | + |
| 113 | +[tool.pytest.ini_options] |
| 114 | +markers = [ |
| 115 | + "integration_test: marks tests as integration tests", |
| 116 | +] |
0 commit comments