content: #
  # Python SDK for OpenFGA
  #
  # API version: 1.x
  # Website: https://openfga.dev
  # Documentation: https://openfga.dev/docs
  # Support: https://openfga.dev/community
  # License: [Apache-2.0](https://github.com/openfga/python-sdk/blob/main/LICENSE)
  #
  
  [project]
  name = "openfga-sdk"
  version = "0.9.7"
  description="A high performance and flexible authorization/permission engine built for developers and inspired by Google Zanzibar."
  authors = [
      { name = "OpenFGA (https://openfga.dev)", email = "community@openfga.dev"}
  ]
  readme = "README.md"
  classifiers=[
      "Development Status :: 5 - Production/Stable",
      "Intended Audience :: Developers",
      "License :: OSI Approved :: Apache Software License",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
  ]
  keywords=[
      "openfga",
      "authorization",
      "fga",
      "fine-grained-authorization",
      "rebac",
      "zanzibar",
  ]
  requires-python=">=3.10"
  license="Apache-2.0"
  dependencies = [
      "aiohttp>=3.9.3",
      "python-dateutil>=2.9.0",
      "opentelemetry-api>=1.25.0",
      "urllib3>=1.26.19,<3"
  ]
  
  [project.urls]
  Repository="https://github.com/openfga/python-sdk.git"
  
  [dependency-groups]
  dev = [
      "griffe>=0.41.2",
      "mock>=5.1.0",
      "pytest-asyncio>=0.25",
      "pytest-cov>=5",
      "ruff>=0.9",
      "mypy>=1.14.1",
  ]
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  
  [tool.ruff]
  exclude = [
      ".bzr",
      ".direnv",
      ".eggs",
      ".git",
      ".git-rewrite",
      ".hg",
      ".ipynb_checkpoints",
      ".mypy_cache",
      ".nox",
      ".pants.d",
      ".pyenv",
      ".pytest_cache",
      ".pytype",
      ".ruff_cache",
      ".svn",
      ".tox",
      ".venv",
      ".vscode",
      "__pypackages__",
      "_build",
      "buck-out",
      "build",
      "dist",
      "node_modules",
      "site-packages",
      "venv",
  ]
  
  line-length = 88
  indent-width = 4
  
  target-version = "py310"
  
  [tool.ruff.lint]
  extend-select = [
    #"B",    # flake8-bugbear
    #"C4",   # flake8-comprehensions
    #"C9",   # mccabe
    "I",    # isort
    "PGH",  # pygrep-hooks
    #"RUF",  # ruff
    "UP",   # pyupgrade
    "W",    # pycodestyle
    "YTT",  # flake8-2020
    #"TRY",  # tryceratops
    #"EM",   # flake8-errmsg
  ]
  ignore = []
  
  fixable = ["ALL"]
  unfixable = []
  
  dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
  
  [tool.ruff.lint.isort]
  lines-between-types = 1
  lines-after-imports = 2
  
  [tool.ruff.format]
  quote-style = "double"
  indent-style = "space"
  skip-magic-trailing-comma = false
  line-ending = "auto"
  
  [tool.pytest.ini_options]
  testpaths = [
      "test",
      "integration",
  ]
  
  addopts = "--cov=openfga_sdk --cov-report term-missing --cov-report xml --cov-report html"
  
  asyncio_mode = "strict"
  asyncio_default_fixture_loop_scope = "function"
  
  [tool.mypy]
  python_version = "3.10"
  packages = "openfga_sdk"
  exclude = [
      "openfga_sdk/models",
  ]
  #warn_return_any = "True"
  #warn_unused_configs = "True"
  #disallow_untyped_defs = "True"
  