content: [build-system]
  requires = ["setuptools>=61.0", "wheel"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "zenoo-rpc"
  version = "0.2.4"
  description = "A zen-like, modern async Python library for Odoo RPC with type safety, transactions, caching, and AI-powered MCP integration"
  readme = "README.md"
  license = {text = "MIT"}
  authors = [
      {name = "Lê Anh Tuấn", email = "justin.le.1105@gmail.com"}
  ]
  classifiers = [
      "Development Status :: 3 - Alpha",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: MIT License",
      "Programming Language :: Python :: 3",
      "Programming Language :: Python :: 3.8",
      "Programming Language :: Python :: 3.9",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Framework :: AsyncIO",
      "Topic :: Software Development :: Libraries :: Python Modules",
      "Topic :: Office/Business :: Financial :: Accounting",
  ]
  requires-python = ">=3.8"
  dependencies = [
      "httpx>=0.25.0",
      "h2>=4.0.0",
      "pydantic>=2.0.0",
      "typing-extensions>=4.0.0",
  ]
  
  [tool.setuptools]
  package-dir = {"" = "src"}
  
  [tool.setuptools.packages.find]
  where = ["src"]
  
  [project.optional-dependencies]
  dev = [
      "pytest>=7.0.0",
      "pytest-asyncio>=0.21.0",
      "pytest-cov>=4.0.0",
      "codecov>=2.1.0",
      "black>=23.0.0",
      "ruff>=0.1.0",
      "mypy>=1.0.0",
      "pre-commit>=3.0.0",
      "aiohttp>=3.9.0",
  ]
  docs = [
      "mkdocs>=1.5.0",
      "mkdocs-material>=9.0.0",
      "mkdocstrings[python]>=0.23.0",
  ]
  redis = [
      "redis[hiredis]>=5.0.0",
  ]
  ai = [
      "litellm>=1.0.0",
  ]
  mcp = [
      "mcp>=1.0.0",
      "fastapi>=0.104.0",
      "uvicorn>=0.24.0",
  ]
  
  [project.urls]
  Homepage = "https://github.com/tuanle96/zenoo-rpc"
  Documentation = "https://zenoo-rpc.readthedocs.io"
  Repository = "https://github.com/tuanle96/zenoo-rpc"
  Issues = "https://github.com/tuanle96/zenoo-rpc/issues"
  
  
  
  [tool.black]
  line-length = 88
  target-version = ['py38']
  include = '\.pyi?$'
  
  [tool.ruff]
  target-version = "py38"
  line-length = 88
  select = [
      "E",  # pycodestyle errors
      "W",  # pycodestyle warnings
      "F",  # pyflakes
      "I",  # isort
      "B",  # flake8-bugbear
      "C4", # flake8-comprehensions
      "UP", # pyupgrade
  ]
  
  [tool.mypy]
  python_version = "3.8"
  strict = true
  warn_return_any = true
  warn_unused_configs = true
  disallow_untyped_defs = true
  
  [tool.pytest.ini_options]
  asyncio_mode = "auto"
  testpaths = ["tests"]
  python_files = ["test_*.py"]
  python_classes = ["Test*"]
  python_functions = ["test_*"]
  addopts = [
      "--cov=src/zenoo_rpc",
      "--cov-report=term-missing",
      "--cov-report=html",
  ]
  
  [tool.coverage.run]
  source = ["src/zenoo_rpc"]
  omit = ["*/tests/*"]
  
  [tool.coverage.report]
  exclude_lines = [
      "pragma: no cover",
      "def __repr__",
      "raise AssertionError",
      "raise NotImplementedError",
  ]
  