content: # SPDX-FileCopyrightText: 2022 Nextcloud GmbH and Nextcloud contributors
  # SPDX-License-Identifier: AGPL-3.0-or-later
  
  [build-system]
  build-backend = "poetry.masonry.api"
  requires = [
    "poetry>=1.6.1",
  ]
  
  [tool.poetry]
  name = "nextcloudappstore"
  version = "4.11.1"
  description = "App store for Nextcloud apps"
  authors = [
    "Alexander Piskun <bigcat88@icloud.com>",
    "Edward Ly <contact@edward.ly>",
  ]
  
  [tool.poetry.dependencies]
  python = "^3.12"
  django = "~4.2.24"
  django-braces = "~1.17.0"
  djangorestframework-camel-case = "^1.3.0"
  django-parler-rest = "^2.1"
  django-parler = "^2.3"
  django-allauth = { version = "^0.63.6", extras = [ "socialaccount" ] }
  lxml = "^5.0.0"
  requests = ">=2.32.0, <2.33.0"
  django-cors-headers = "^4.2.0"
  django-csp = "^3.7"
  pyOpenSSL = "^24.0.0"
  Markdown = "^3.3.6"
  bleach = "^6.0.0"
  pymple = "^0.1.3"
  semantic-version = "^2.8.5"
  pem = "^23.0.0"
  django-simple-captcha = "^0.6.0"
  uWSGI = "^2.0.20"
  newrelic = "^7.2.4"
  psycopg = { extras = [
    "binary",
  ], version = "^3.1.10" }
  redis = { version = "^5.0.0", extras = [
    "hiredis",
  ] }
  email-validator = "^2.1.0-post.0"
  jschon = "^0.11.1"
  defusedxml = "^0.7.1"
  
  [tool.poetry.group.docs]
  optional = true
  
  [tool.poetry.group.docs.dependencies]
  sphinx = "^4.4"
  sphinx-issues = "^4.0.0"
  sphinx-rtd-theme = "^1.0"
  
  [tool.poetry.dev-dependencies]
  pytest = "*"
  pytest-cov = "*"
  pytest-django = "*"
  responses = "*"
  django-debug-toolbar = "*"
  coverage = "*"
  selenium = "*"
  types-requests = "^2.26.3"
  types-pyOpenSSL = "^23.0.0"
  
  [tool.black]
  line-length = 120
  target-versions = [
    "py312",
  ]
  preview = true
  
  [tool.ruff]
  target-version = "py312"
  line-length = 120
  lint.select = [
    "E",
    "F",
    "UP",
  ]
  
  lint.extend-per-file-ignores."**/tests/**/__init__.py" = [
    "F403",
  ]
  lint.extend-per-file-ignores."nextcloudappstore/core/migrations/**/*.py" = [
    "E501",
    "F401",
  ]
  lint.extend-per-file-ignores."nextcloudappstore/user/odoo.py" = [
    "E402",
  ]
  
  lint.extend-per-file-ignores."scripts/development/settings/**/*.py" = [
    "F403",
    "F405",
    "F821",
  ]
  
  [tool.isort]
  profile = "black"
  
  [tool.mypy]
  ignore_missing_imports = false
  warn_unreachable = false
  warn_no_return = true
  strict_optional = true
  check_untyped_defs = true
  show_error_codes = true
  