 5b6fb4a05a
			
		
	
	5b6fb4a05a
	
	
	
		
			
			Signed-off-by: Jens Langhammer <jens@goauthentik.io> # Conflicts: # Dockerfile # poetry.lock # proxy.Dockerfile # web/src/admin/AdminInterface.ts # web/xliff/zh-Hans.xlf
		
			
				
	
	
		
			205 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
			
		
		
	
	
			205 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			TOML
		
	
	
	
	
	
| [tool.pyright]
 | |
| ignore = ["**/migrations/**", "**/node_modules/**"]
 | |
| reportMissingTypeStubs = false
 | |
| strictParameterNoneValue = true
 | |
| strictDictionaryInference = true
 | |
| strictListInference = true
 | |
| reportOptionalMemberAccess = false
 | |
| reportOptionalContextManager = false
 | |
| # rest_framework's serializer's `validated_data` is typed as optional None
 | |
| reportOptionalSubscript = false
 | |
| # Sadly pyright still has issues with enums, and they fall under general type issues
 | |
| # so we have to disable those for now
 | |
| reportGeneralTypeIssues = false
 | |
| verboseOutput = false
 | |
| pythonVersion = "3.11"
 | |
| pythonPlatform = "All"
 | |
| 
 | |
| [tool.black]
 | |
| line-length = 100
 | |
| target-version = ['py311']
 | |
| exclude = 'node_modules'
 | |
| 
 | |
| [tool.ruff]
 | |
| line-length = 100
 | |
| target-version = "py311"
 | |
| exclude = ["**/migrations/**", "**/node_modules/**"]
 | |
| 
 | |
| [tool.isort]
 | |
| multi_line_output = 3
 | |
| include_trailing_comma = true
 | |
| force_grid_wrap = 0
 | |
| use_parentheses = true
 | |
| line_length = 100
 | |
| src_paths = ["authentik", "tests", "lifecycle"]
 | |
| force_to_top = "*"
 | |
| 
 | |
| [tool.coverage.run]
 | |
| source = ["authentik"]
 | |
| relative_files = true
 | |
| omit = [
 | |
|     "*/asgi.py",
 | |
|     "manage.py",
 | |
|     "*/migrations/*",
 | |
|     "*/management/commands/*",
 | |
|     "*/apps.py",
 | |
|     "website/",
 | |
| ]
 | |
| 
 | |
| [tool.coverage.report]
 | |
| sort = "Cover"
 | |
| skip_covered = true
 | |
| precision = 2
 | |
| exclude_lines = [
 | |
|     "pragma: no cover",
 | |
|     # Don't complain about missing debug-only code:
 | |
|     "def __unicode__",
 | |
|     "def __str__",
 | |
|     "def __repr__",
 | |
|     "if self.debug",
 | |
|     "if TYPE_CHECKING",
 | |
|     # Don't complain if tests don't hit defensive assertion code:
 | |
|     "raise AssertionError",
 | |
|     "raise NotImplementedError",
 | |
|     # Don't complain if non-runnable code isn't run:
 | |
|     "if 0:",
 | |
|     "if __name__ == .__main__.:",
 | |
| ]
 | |
| show_missing = true
 | |
| 
 | |
| [tool.pylint.basic]
 | |
| good-names = ["pk", "id", "i", "j", "k", "_", "bar"]
 | |
| 
 | |
| [tool.pylint.master]
 | |
| disable = [
 | |
|     "arguments-differ",
 | |
|     "locally-disabled",
 | |
|     "too-many-ancestors",
 | |
|     "too-few-public-methods",
 | |
|     "import-outside-toplevel",
 | |
|     "signature-differs",
 | |
|     "similarities",
 | |
|     "cyclic-import",
 | |
|     "protected-access",
 | |
|     "unused-argument",
 | |
|     "raise-missing-from",
 | |
|     "fixme",
 | |
|     # To preserve django's translation function we need to use %-formatting
 | |
|     "consider-using-f-string",
 | |
| ]
 | |
| 
 | |
| load-plugins = ["pylint_django", "pylint.extensions.bad_builtin"]
 | |
| django-settings-module = "authentik.root.settings"
 | |
| extension-pkg-whitelist = ["lxml", "xmlsec"]
 | |
| 
 | |
| # Allow constants to be shorter than normal (and lowercase, for settings.py)
 | |
| const-rgx = "[a-zA-Z0-9_]{1,40}$"
 | |
| 
 | |
| ignored-modules = ["binascii", "socket", "zlib"]
 | |
| generated-members = ["xmlsec.constants.*", "xmlsec.tree.*", "xmlsec.template.*"]
 | |
| ignore = "migrations"
 | |
| max-attributes = 12
 | |
| max-branches = 20
 | |
| 
 | |
| [tool.pytest.ini_options]
 | |
| DJANGO_SETTINGS_MODULE = "authentik.root.settings"
 | |
| python_files = ["tests.py", "test_*.py", "*_tests.py"]
 | |
| junit_family = "xunit2"
 | |
| addopts = "-p no:celery --junitxml=unittest.xml -vv --full-trace --doctest-modules"
 | |
| filterwarnings = [
 | |
|     "ignore:defusedxml.lxml is no longer supported and will be removed in a future release.:DeprecationWarning",
 | |
|     "ignore:SelectableGroups dict interface is deprecated. Use select.:DeprecationWarning",
 | |
| ]
 | |
| 
 | |
| [tool.poetry]
 | |
| name = "authentik"
 | |
| version = "2023.8.3"
 | |
| description = ""
 | |
| authors = ["authentik Team <hello@goauthentik.io>"]
 | |
| 
 | |
| [tool.poetry.dependencies]
 | |
| argon2-cffi = "*"
 | |
| celery = "*"
 | |
| channels = { version = "*", extras = ["daphne"] }
 | |
| channels-redis = "*"
 | |
| codespell = "*"
 | |
| colorama = "*"
 | |
| dacite = "*"
 | |
| deepmerge = "*"
 | |
| defusedxml = "*"
 | |
| django = "*"
 | |
| django-filter = "*"
 | |
| django-guardian = "*"
 | |
| django-model-utils = "*"
 | |
| django-prometheus = "*"
 | |
| django-redis = "*"
 | |
| djangorestframework = "*"
 | |
| djangorestframework-guardian = "*"
 | |
| docker = "*"
 | |
| drf-spectacular = "*"
 | |
| dumb-init = "*"
 | |
| duo-client = "*"
 | |
| facebook-sdk = "*"
 | |
| flower = "*"
 | |
| geoip2 = "*"
 | |
| gunicorn = "*"
 | |
| kubernetes = "*"
 | |
| ldap3 = "*"
 | |
| lxml = "*"
 | |
| opencontainers = { extras = ["reggie"], version = "*" }
 | |
| packaging = "*"
 | |
| paramiko = "*"
 | |
| psycopg = { extras = ["c"], version = "*" }
 | |
| pycryptodome = "*"
 | |
| pydantic = "<3.0.0"
 | |
| pydantic-scim = "^0.0.7"
 | |
| pyjwt = "*"
 | |
| python = "^3.11"
 | |
| pyyaml = "*"
 | |
| requests-oauthlib = "*"
 | |
| sentry-sdk = "*"
 | |
| service_identity = "*"
 | |
| structlog = "*"
 | |
| swagger-spec-validator = "*"
 | |
| twilio = "*"
 | |
| twisted = "*"
 | |
| ua-parser = "*"
 | |
| urllib3 = { extras = ["secure"], version = "*" }
 | |
| uvicorn = { extras = ["standard"], version = "*" }
 | |
| watchdog = "*"
 | |
| webauthn = "*"
 | |
| wsproto = "*"
 | |
| xmlsec = "*"
 | |
| zxcvbn = "*"
 | |
| jsonpatch = "*"
 | |
| 
 | |
| [tool.poetry.dev-dependencies]
 | |
| bandit = "*"
 | |
| black = "*"
 | |
| bump2version = "*"
 | |
| colorama = "*"
 | |
| coverage = { extras = ["toml"], version = "*" }
 | |
| debugpy = "*"
 | |
| django-silk = "*"
 | |
| drf-jsonschema-serializer = "*"
 | |
| freezegun = "*"
 | |
| importlib-metadata = "*"
 | |
| pdoc = "*"
 | |
| pylint = "*"
 | |
| pylint-django = "*"
 | |
| pyrad = "*"
 | |
| pytest = "*"
 | |
| pytest-django = "*"
 | |
| pytest-github-actions-annotate-failures = "*"
 | |
| pytest-randomly = "*"
 | |
| requests-mock = "*"
 | |
| ruff = "*"
 | |
| selenium = "*"
 | |
| 
 | |
| [build-system]
 | |
| requires = ["poetry-core>=1.0.0"]
 | |
| build-backend = "poetry.core.masonry.api"
 | |
| 
 | |
| [tool.poetry.scripts]
 | |
| ak = "lifecycle.ak:main"
 |