content: [project]
  name = "homeschool"
  version = "0.1.0"
  requires-python = ">=3.12"
  dependencies = [
      "beautifulsoup4==4.13.4",
      "bleach==6.2.0",
      "boto3==1.40.0",
      "dj-stripe==2.8.4",
      "django-anymail[amazon-ses]>=13.0",
      "django-debug-toolbar==5.2.0",
      "django-denied==1.3",
      "django-extensions==4.1",
      "django-hashid-field==3.4.1",
      "django-hijack==3.7.3",
      "django-htmx==1.23.2",
      "django-ordered-model==3.7.4",
      "django-simple-history==3.10.1",
      "django-storages==1.14.6",
      "django-tz-detect==0.5.0",
      "django-waffle==5.0.0",
      "django==5.2.4",
      "environs>=11.0.0",
      "gunicorn==23.0.0",
      "huey>=2.5.2",
      "python-dateutil==2.9.0.post0",
      "requests==2.32.4",
      "sentry-sdk==2.34.1",
      "sphinx-rtd-theme==3.0.2",
      "sphinx-sitemap==2.7.2",
      "sphinx==7.3.7",
      "weasyprint==66.0",
      "whitenoise[brotli]==6.9.0",
      "django-sesame>=3.2.2",
  ]
  
  [tool.uv]
  dev-dependencies = [
      "coverage[toml]>=7.6.1",
      "django-test-plus>=2.2.4",
      "factory-boy==3.3.1",
      "honcho>=1.1.0",
      "mypy==1.11.2",
      "pip-tools>=7.4.1",
      "pre-commit>=3.8.0",
      "pytest-cov==5.0.0",
      "pytest-django==4.8.0",
      "pytest-socket==0.7.0",
      "pytest-xdist==3.6.1",
      "pytest==8.3.2",
      "responses==0.10.15",
      "ruff==0.6.3",
      "time-machine>=2.15.0",
      "types-bleach==6.1.0.20240331",
      "types-python-dateutil==2.9.0.20240821",
      "types-pytz==2024.1.0.20240417",
      "types-requests==2.32.0.20240712",
      "types-six==1.16.21.20240513",
      "types-toml==0.10.8.20240310",
  ]
  
  [tool.coverage.report]
  fail_under = 100
  omit = [
      "*/migrations/*",
  ]
  show_missing = true
  skip_covered = true
  
  [tool.isort]
  profile = "black"
  src_paths = ["journal"]
  
  [tool.mypy]
  check_untyped_defs = true
  
  [[tool.mypy.overrides]]
  module = [
      "allauth.account.models",
      "allauth.account.signals",
      "allauth.socialaccount.models",
      "anymail.*",
      "dj_database_url",
      "django.*",
      "django_extensions.*",
      "djstripe.*",
      "environ",
      "factory",
      "hashid_field.*",
      "huey.*",
      "ordered_model.*",
      "responses",
      "sesame.*",
      "simple_history.*",
      "stripe",
      "test_plus.test",
      "waffle.*",
      "weasyprint",
      "whitenoise.middleware",
  ]
  ignore_missing_imports = true
  
  [tool.pytest.ini_options]
  addopts = "--nomigrations --disable-socket"
  DJANGO_SETTINGS_MODULE = "project.testing_settings"
  filterwarnings = [
      # Enable warnings as errors.
      "error",
      # django==5.2.3 (manifesting from djstripe)
      "ignore:.*FORMS_URLFIELD_ASSUME_HTTPS.*:DeprecationWarning",
      # djstripe==2.7.3
      "ignore:.*pkg_resources is deprecated as an API.*:DeprecationWarning",
      "ignore:.*pkg_resources.declare_namespace.*:DeprecationWarning",
      "ignore:.*The default scheme will be changed.*:PendingDeprecationWarning",
      # weasyprint==62.3
      "ignore:.*transform is deprecated.*:DeprecationWarning",
      "ignore:.*text_matrix is deprecated.*:DeprecationWarning",
  ]
  # This warning is coming from dj-stripe 2.5.1 (Example)
  #    ignore:.*The providing_args argument is deprecated\..*:DeprecationWarning
  #    ignore:.*The providing_args argument is deprecated\..*:PendingDeprecationWarning
  testpaths = [
      "homeschool",
  ]
  
  [tool.pytest_env]
  FORMS_URLFIELD_ASSUME_HTTPS = "True"
  
  [tool.ruff.lint]
  select = [
      # pycodestyle
      "E",
      "W",
      # Pyflakes
      "F",
      # pyupgrade
      "UP",
      # flake8-bandit
      "S",
      # flake8-bugbear
      "B",
      # flake8-simplify
      "SIM",
      # isort
      "I",
  ]
  ignore = [
      # bandit: Use of `assert` detected
      "S101",
  ]
  