content: [build-system]
  requires = ["setuptools>=61.0", "setuptools_scm[toml]>=6.4"]
  build-backend = "setuptools.build_meta"
  
  [project]
  name = "modoboa"
  dynamic = ["version"]
  authors = [
    { name="Antoine Nguyen", email="tonio@ngyn.org" },
  ]
  description = "Mail hosting made simple"
  readme = "README.rst"
  requires-python = ">=3.10"
  classifiers = [
      "Development Status :: 5 - Production/Stable",
      "Environment :: Web Environment",
      "Framework :: Django :: 5.2",
      "Intended Audience :: System Administrators",
      "License :: OSI Approved :: ISC License (ISCL)",
      "Operating System :: OS Independent",
      "Programming Language :: Python :: 3.10",
      "Programming Language :: Python :: 3.11",
      "Programming Language :: Python :: 3.12",
      "Programming Language :: Python :: 3.13",
      "Topic :: Communications :: Email",
      "Topic :: Internet :: WWW/HTTP",
  ]
  keywords = ["email"]
  license = {file = "LICENSE"}
  dependencies = [
  	"django==5.2.7",
  	"django-phonenumber-field[phonenumbers]==8.3.0",
  	"django-reversion==6.0.0",
  	"django-xforwardedfor-middleware==2.0",
  	"django-otp==1.6.1",
  	"django-filter",
  	"django-rename-app==0.1.7",
  	"django-environ",
  	"dj-database-url",
  	"djangorestframework>=3.16,<3.17",
  	"drf-spectacular",
  	"uritemplate",
  	"django-oauth-toolkit",
  	"django-cors-headers",
  	"passlib~=1.7.4",
  	"bcrypt==4.3.0", # Requires libffi-dev and python-dev
  	"asgiref",
  	"dnspython==2.8.0",
  	"feedparser==6.0.12",
  	"fido2==2.0.0",
  	"gevent==25.9.1",
  	"progressbar33==2.4",
  	"python-dateutil",
  	"cryptography",
  	"pytz",
  	"requests",
  	"lxml_html_clean",
  	"chardet",
  	"ovh",
  	"oath",
          "packaging",
  	"redis>=4.2.0rc1",
  	"rrdtool-bindings>=0.2.0",
  	"qrcode",
  	"aiosmtplib",
  	# PDF credentials
  	"reportlab",
  	# DMARC
  	"tldextract>=2.0.2",
  	"defusedxml>=0.6.0",
  	"python-magic>=0.4.24",
  	# RQ
  	"rq>=1.13.0",
  	"django-rq",
  	# Sieve
  	"sievelib>=1.4.1",
          # User
          "drf-nested-routers",
          "vobject",
          "caldav==2.0.1",
          # Amavis
          "html2text",
          "idna",
  ]
  [project.optional-dependencies]
  dev = [
  	"django-debug-toolbar",
  	"pre-commit",
  	"black",
  	"ruff",
  	"django-extensions",
  	"Werkzeug",
  	"pyOpenSSL"
  ]
  mysql = ["mysqlclient<2.2.8"]
  postgresql = ["psycopg[binary]>=3.1"]
  test = [
  	"argon2-cffi>=16.1.0",
  	"factory-boy<3.4.0",
  	"httmock==1.4.0",
  	"testfixtures==8.3.0",
  	"tox",
  ]
  ldap = ["django-auth-ldap<6.0.0"]
  
  [project.scripts]
  modoboa-cli = "modoboa:modoboa_admin"
  
  [project.urls]
  Homepage = "http://modoboa.org/"
  Documentation = "https://modoboa.readthedocs.io/en/latest/"
  Repository = "https://github.com/modoboa/modoboa"
  Changelog = "https://github.com/modoboa/modoboa/blob/master/CHANGELOG.md"
  Issues = "https://github.com/modoboa/modoboa/issues"
  
  [tool.setuptools.dynamic]
  version = {attr = "modoboa.version.get_version"}
  
  [tool.ruff]
  exclude = ["migrations"]
  
  [tool.ruff.lint]
  select = ["E4", "E7", "E9", "F", "B", "Q", "UP"]
  