content: [tool.poetry]
  name = "saleor-app"
  version = "0.2.12"
  description = "Saleor app framework"
  authors = [ "Saleor Commerce <hello@saleor.io>" ]
  
  [tool.poetry.dependencies]
  python = "^3.8"
  fastapi = "^0"
  uvicorn = "^0"
  aiofiles = "^0"
  aiohttp = "^3.8"
  jwt = "^1"
  boto3 = {version = "^1.20.24", optional = true}
  Jinja2 = ">=2.11.2,<4.0.0"
  
  [tool.poetry.dev-dependencies]
  ipython = "^7"
  pytest = "^6"
  isort = "^5"
  flake8 = "^3"
  pytest-sugar = "^0"
  pytest-cov = "^2"
  pytest-asyncio = "^0"
  black = "^22"
  pre-commit = "^2"
  tox = "^3"
  tox-poetry = "^0"
  ipdb = "^0"
  httpx = "^0"
  pytest-mock = "^3"
  mkdocs-material = "^8"
  mdx-include = "^1"
  
  [tool.poetry.extras]
  sqs = ["boto3"]
  
  [tool.pytest.ini_options]
  asyncio_mode = "auto"
  
  [tool.black]
  target_version = ['py38']
  include = '\.pyi?$'
  exclude = '''
  /(\.git/
    |\.eggs
    |\.hg
    |__pycache__
    |\.cache
    |\.ipynb_checkpoints
    |\.mypy_cache
    |\.pytest_cache
    |\.tox
    |\.venv
    |node_modules
    |_build
    |buck-out
    |build
    |dist
    |media
    |infrastructure
    |templates
    |locale
    |docs
  )/
  '''
  
  [tool.isort]
  # Vertical Hanging Indent
  multi_line_output = 3
  include_trailing_comma = true
  
  line_length = 88
  known_first_party = ""
  
  [build-system]
  requires = ["poetry-core>=1.0.0"]
  build-backend = "poetry.core.masonry.api"
  
  [tool.tox]
  legacy_tox_ini = """
  [tox]
  envlist = py38, py39, py310, lint, docs, coverage
  
  [testenv]
  description = run the test driver with {basepython}
  deps = .[develop]
  commands =
      pytest src/saleor_app
  
  [testenv:docs]
  description = check if docs have no errors or warnings
  basepython = python3.10
  commands =
      mkdocs build -s
  
  [testenv:lint]
  description = check the code style
  basepython = python3.10
  commands =
      black --diff --check src/saleor_app samples/
      isort -c -rc --diff src/saleor_app samples/
      flake8 src/saleor_app samples/
  
  [testenv:coverage]
  description = [run locally after tests]: combine coverage data and create report
  deps =
      coverage
  skip_install = True
  commands =
      coverage erase
      coverage run --source="saleor_app" -p -m pytest src/saleor_app
      coverage combine
      coverage report --fail-under=90
  depends =
      py38,
      py39,
      py310
  parallel_show_output = True
  """
  