|
- [build-system]
- requires = ["setuptools>=61.0"]
- build-backend = "setuptools.build_meta"
-
- [project]
- name = "agnext"
- version = "0.0.1"
- description = "A small example package"
- readme = "README.md"
- requires-python = ">=3.10"
- classifiers = [
- "Programming Language :: Python :: 3",
- "License :: OSI Approved :: MIT License",
- "Operating System :: OS Independent",
- ]
- dependencies = [
- "openai>=1.3",
- "pillow",
- "aiohttp",
- "typing-extensions",
- "pydantic>=1.10,<3",
- ]
-
- [project.optional-dependencies]
- dev = [
- "ruff==0.4.6",
- "pyright",
- "mypy",
- "pytest",
- "pytest-asyncio",
- "pytest-xdist",
- "types-Pillow",
- "polars",
- ]
- docs = ["sphinx", "furo", "sphinxcontrib-apidoc", "myst-parser"]
-
- [tool.setuptools.package-data]
- agnext = ["py.typed"]
-
- [tool.ruff]
- line-length = 120
- fix = true
- exclude = ["build", "dist", "my_project/__init__.py", "my_project/main.py"]
- target-version = "py310"
- include = ["src/**", "examples/**"]
-
- [tool.ruff.format]
- docstring-code-format = true
-
- [tool.ruff.lint]
- select = ["E", "F", "W", "B", "Q", "I", "ASYNC"]
- ignore = ["F401", "E501"]
-
- [tool.ruff.lint.flake8-tidy-imports]
- [tool.ruff.lint.flake8-tidy-imports.banned-api]
- "unittest".msg = "Use `pytest` instead."
-
- [tool.mypy]
- files = ["src", "examples", "tests"]
-
- strict = true
- python_version = "3.10"
- ignore_missing_imports = true
-
- # from https://blog.wolt.com/engineering/2021/09/30/professional-grade-mypy-configuration/
- disallow_untyped_defs = true
- no_implicit_optional = true
- check_untyped_defs = true
- warn_return_any = true
- show_error_codes = true
- warn_unused_ignores = false
-
- disallow_incomplete_defs = true
- disallow_untyped_decorators = true
- disallow_any_unimported = true
-
- [tool.pyright]
- include = ["src", "tests"]
- typeCheckingMode = "strict"
- reportUnnecessaryIsInstance = false
- reportMissingTypeStubs = false
-
- [tool.pytest.ini_options]
- minversion = "6.0"
- testpaths = ["tests"]
|