From 23dae4702385c41fd56f072dc897e6ff939ba345 Mon Sep 17 00:00:00 2001
From: Tom Teichler <tom.teichler@teckids.org>
Date: Sun, 15 Nov 2020 21:43:36 +0100
Subject: [PATCH] Use AlekSIS dependencies from pypi registry

---
 deploy_pypi.yml                               |  18 -
 poetry.lock                                   | 367 +++++++++++-------
 pyproject.toml                                |  29 +-
 ticdesk/__init__.py                           |   2 +-
 ticdesk/apps.py                               |   2 +-
 ticdesk/migrations/0007_auto_20200728_1145.py |   1 -
 ...16_eventfeedback_feedbackfeedbackaspect.py |   1 -
 ticdesk/migrations/0019_auto_20200926_2018.py |   1 -
 8 files changed, 233 insertions(+), 188 deletions(-)
 delete mode 100644 deploy_pypi.yml

diff --git a/deploy_pypi.yml b/deploy_pypi.yml
deleted file mode 100644
index 0289fa0..0000000
--- a/deploy_pypi.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-deploy_pypi:
-  stage: deploy
-  script:
-    - if [ $CI_COMMIT_REF_NAME = master ]; then
-       poetry version $(poetry version | cut -d" " -f2)+$(date --date=${CI_COMMIT_TIMESTAMP} +%Y%m%d%H%M%S).${CI_COMMIT_SHORT_SHA} ;
-      elif [ x$CI_COMMIT_REF_NAME = x$CI_COMMIT_TAG ]; then
-       if ! [ "$(poetry version | cut -d" " -f2)" = $CI_COMMIT_REF_NAME ]; then
-        echo "Package version does not match tag. Aborting build of tag!" >/dev/fd/2 ;
-        exit 1 ;
-       fi ;
-      fi
-    - poetry publish -r gitlab
-    - if [ x$CI_COMMIT_REF_NAME = x$CI_COMMIT_TAG ]; then
-       poetry publish ;
-      fi
-  only:
-    - master
-    - tags
diff --git a/poetry.lock b/poetry.lock
index 61dae59..87471a9 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -2,89 +2,125 @@
 name = "alabaster"
 version = "0.7.12"
 description = "A configurable sidebar-enabled Sphinx theme"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
+[[package]]
+name = "aleksis-builddeps"
+version = "1"
+description = "AlekSIS (School Information System) — Build/Dev dependencies for apps"
+category = "main"
+optional = false
+python-versions = "*"
+
+[package.dependencies]
+black = ">=19.10b0,<20.0"
+django-stubs = ">=1.1,<2.0"
+flake8 = ">=3.7.9,<4.0.0"
+flake8-bandit = ">=2.1.2,<3.0.0"
+flake8-black = ">=0.2.0,<0.3.0"
+flake8-builtins = ">=1.4.1,<2.0.0"
+flake8-django = ">=1.0.0,<2.0.0"
+flake8-docstrings = ">=1.5.0,<2.0.0"
+flake8-fixme = ">=1.1.1,<2.0.0"
+flake8-isort = ">=4.0.0,<5.0.0"
+flake8-mypy = ">=17.8.0,<18.0.0"
+flake8-rst-docstrings = ">=0.0.13,<0.0.14"
+isort = ">=5.0.0,<6.0.0"
+pytest = ">=6.0,<7.0"
+pytest-cov = ">=2.8.1,<3.0.0"
+pytest-django = ">=3.7,<4.0"
+pytest-django-testing-postgresql = ">=0.1,<0.2"
+pytest-sugar = ">=0.9.2,<0.10.0"
+safety = ">=1.8.5,<2.0.0"
+selenium = ">=3.141.0,<4.0.0"
+sphinx = ">=3.0,<4.0"
+sphinx-autodoc-typehints = ">=1.7,<2.0"
+sphinxcontrib-django = ">=0.5.0,<0.6.0"
+
+[package.source]
+type = "legacy"
+url = "https://edugit.org/api/v4/projects/461/packages/pypi/simple"
+reference = "gitlab"
+
 [[package]]
 name = "aleksis-core"
-version = "2.0a3.dev0"
+version = "2.0a3.dev0+20201114132749.88d92354"
 description = "AlekSIS (School Information System) — Core"
 category = "main"
 optional = false
-python-versions = "^3.7"
-develop = false
-
-[package.dependencies]
-calendarweek = "^0.4.3"
-celery-progress = "^0.0.12"
-colour = "^0.1.5"
-Django = "^3.0"
-django-any-js = "^1.0"
-django-bleach = "^0.6.1"
-django-cache-memoize = "^0.1.6"
-django-ckeditor = "^6.0.0"
-django-colorfield = "^0.3.0"
-django-dbbackup = "^3.3.0"
-django-debug-toolbar = "^2.0"
-django-dynamic-preferences = "^1.9"
-django-easy-audit = "^1.2rc1"
-django-favicon-plus-reloaded = "^1.0.4"
-django-filter = "^2.2.0"
-django-guardian = "^2.2.0"
-django-hattori = "^0.2"
+python-versions = ">=3.7,<4.0"
+
+[package.dependencies]
+calendarweek = ">=0.4.3,<0.5.0"
+celery-progress = ">=0.0.14,<0.0.15"
+colour = ">=0.1.5,<0.2.0"
+Django = ">=3.0,<4.0"
+django-any-js = ">=1.0,<2.0"
+django-bleach = ">=0.6.1,<0.7.0"
+django-cache-memoize = ">=0.1.6,<0.2.0"
+django-ckeditor = ">=6.0.0,<7.0.0"
+django-colorfield = ">=0.3.0,<0.4.0"
+django-dbbackup = ">=3.3.0,<4.0.0"
+django-debug-toolbar = ">=2.0,<3.0"
+django-dynamic-preferences = ">=1.9,<2.0"
+django-easy-audit = ">=1.2rc1,<2.0"
+django-favicon-plus-reloaded = ">=1.0.4,<2.0.0"
+django-filter = ">=2.2.0,<3.0.0"
+django-guardian = ">=2.2.0,<3.0.0"
+django-hattori = ">=0.2,<0.3"
 django-haystack = "3.0b1"
-django-health-check = "^3.12.1"
-django-image-cropping = "^1.2"
-django-impersonate = "^1.4"
-django-ipware = "^3.0"
-django-js-reverse = "^0.9.1"
-django-jsonstore = "^0.4.1"
-django-maintenance-mode = "^0.15.0"
-django-material = "^1.6.0"
-django-menu-generator = "^1.0.4"
-django-middleware-global-request = "^0.1.2"
+django-health-check = ">=3.12.1,<4.0.0"
+django-image-cropping = ">=1.2,<2.0"
+django-impersonate = ">=1.4,<2.0"
+django-ipware = ">=3.0,<4.0"
+django-js-reverse = ">=0.9.1,<0.10.0"
+django-jsonstore = ">=0.4.1,<0.5.0"
+django-maintenance-mode = ">=0.15.0,<0.16.0"
+django-material = ">=1.6.0,<2.0.0"
+django-menu-generator = ">=1.0.4,<2.0.0"
+django-middleware-global-request = ">=0.1.2,<0.2.0"
 django-phonenumber-field = {version = "<5.1", extras = ["phonenumbers"]}
-django-polymorphic = "^3.0.0"
-django-prometheus = "^2.1.0"
-django-pwa = "^1.0.8"
-django-reversion = "^3.0.7"
-django-sass-processor = "^0.8"
-django_select2 = "^7.1"
-django-settings-context-processor = "^0.2"
-django-tables2 = "^2.1"
-django-templated-email = "^2.3.0"
-django-two-factor-auth = {version = "^1.12.1", extras = ["call", "phonenumbers", "sms", "yubikey"]}
-django_widget_tweaks = "^1.4.5"
-django-yarnpkg = "^6.0"
-dynaconf = {version = "^3.1", extras = ["ini", "toml", "yaml"]}
-easy-thumbnails = "^2.6"
-html2text = "^2020.0.0"
-libsass = "^0.20.0"
-license-expression = "^1.2"
-Pillow = "^7.0"
-psutil = "^5.7.0"
-psycopg2 = "^2.8"
-python-memcached = "^1.59"
-requests = "^2.22"
-rules = "^2.2"
-spdx-license-list = "^0.5.0"
+django-polymorphic = ">=3.0.0,<4.0.0"
+django-prometheus = ">=2.1.0,<3.0.0"
+django-pwa = ">=1.0.8,<2.0.0"
+django-reversion = ">=3.0.7,<4.0.0"
+django-sass-processor = ">=0.8,<0.9"
+django_select2 = ">=7.1,<8.0"
+django-settings-context-processor = ">=0.2,<0.3"
+django-tables2 = ">=2.1,<3.0"
+django-templated-email = ">=2.3.0,<3.0.0"
+django-two-factor-auth = {version = ">=1.12.1,<2.0.0", extras = ["call", "phonenumbers", "sms", "yubikey"]}
+django_widget_tweaks = ">=1.4.5,<2.0.0"
+django-yarnpkg = ">=6.0,<7.0"
+dynaconf = {version = ">=3.1,<4.0", extras = ["ini", "toml", "yaml"]}
+easy-thumbnails = ">=2.6,<3.0"
+html2text = ">=2020.0.0,<2021.0.0"
+libsass = ">=0.20.0,<0.21.0"
+license-expression = ">=1.2,<2.0"
+Pillow = ">=7.0,<8.0"
+psutil = ">=5.7.0,<6.0.0"
+psycopg2 = ">=2.8,<3.0"
+python-memcached = ">=1.59,<2.0"
+requests = ">=2.22,<3.0"
+rules = ">=2.2,<3.0"
+spdx-license-list = ">=0.5.0,<0.6.0"
 
 [package.extras]
+celery = ["Celery[redis,django] (>=4.4.0,<5.0.0)", "celery-haystack (>=0.10.0,<0.11.0)", "django-celery-beat (>=2.0.0,<3.0.0)", "django-celery-email (>=3.0.0,<4.0.0)", "django-celery-results (>=1.1.2,<2.0.0)"]
 ldap = ["django-auth-ldap (>=2.2,<3.0)"]
-celery = ["Celery[redis,django] (>=4.4.0,<5.0.0)", "django-celery-results (>=1.1.2,<2.0.0)", "django-celery-beat (>=2.0.0,<3.0.0)", "django-celery-email (>=3.0.0,<4.0.0)", "celery-haystack (>=0.10.0,<0.11.0)"]
 
 [package.source]
-type = "git"
-url = "https://edugit.org/AlekSIS/official/AlekSIS-Core"
-reference = "feature/use-entrypoints"
-resolved_reference = "293c29505453b34766322c5c56786484f28b1754"
+type = "legacy"
+url = "https://edugit.org/api/v4/projects/461/packages/pypi/simple"
+reference = "gitlab"
 
 [[package]]
 name = "appdirs"
 version = "1.4.4"
 description = "A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\"."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -103,7 +139,7 @@ tests = ["pytest", "pytest-asyncio"]
 name = "atomicwrites"
 version = "1.4.0"
 description = "Atomic file writes."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -111,7 +147,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 name = "attrs"
 version = "20.3.0"
 description = "Classes Without Boilerplate"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -136,7 +172,7 @@ pytz = ">=2015.7"
 name = "bandit"
 version = "1.6.2"
 description = "Security oriented static analyser for python code."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -166,7 +202,7 @@ lxml = ["lxml"]
 name = "black"
 version = "19.10b0"
 description = "The uncompromising code formatter."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.6"
 
@@ -216,7 +252,7 @@ django = ["Django (>=2.2,<4.0)"]
 
 [[package]]
 name = "celery-progress"
-version = "0.0.12"
+version = "0.0.14"
 description = "Drop in, configurable, dependency-free progress bars for your Django/Celery applications."
 category = "main"
 optional = false
@@ -247,7 +283,7 @@ python-versions = "*"
 name = "click"
 version = "7.1.2"
 description = "Composable command line interface toolkit"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
@@ -285,7 +321,7 @@ six = "*"
 name = "coverage"
 version = "5.3"
 description = "Code coverage measurement for Python"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
 
@@ -317,7 +353,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*"
 name = "dj-database-url"
 version = "0.5.0"
 description = "Use Database URLs in your Django Application."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -811,7 +847,7 @@ Django = ">=1.11"
 name = "django-stubs"
 version = "1.7.0"
 description = "Mypy stubs for Django"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.6"
 
@@ -895,7 +931,7 @@ six = "*"
 name = "docutils"
 version = "0.16"
 description = "Docutils -- Python Documentation Utilities"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
@@ -903,7 +939,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 name = "dparse"
 version = "0.5.1"
 description = "A parser for Python dependency files"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -965,7 +1001,7 @@ text-unidecode = "1.3"
 name = "flake8"
 version = "3.8.4"
 description = "the modular source code checker: pep8 pyflakes and co"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7"
 
@@ -978,7 +1014,7 @@ pyflakes = ">=2.2.0,<2.3.0"
 name = "flake8-bandit"
 version = "2.1.2"
 description = "Automated security testing with bandit and flake8."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -992,7 +1028,7 @@ pycodestyle = "*"
 name = "flake8-black"
 version = "0.2.1"
 description = "flake8 plugin to call black as a code style validator"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1004,7 +1040,7 @@ flake8 = ">=3.0.0"
 name = "flake8-builtins"
 version = "1.5.3"
 description = "Check for python builtins being used as variables or parameters."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1018,7 +1054,7 @@ test = ["coverage", "coveralls", "mock", "pytest", "pytest-cov"]
 name = "flake8-django"
 version = "1.1.1"
 description = "Plugin to catch bad style specific to Django Projects"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1029,7 +1065,7 @@ flake8 = "*"
 name = "flake8-docstrings"
 version = "1.5.0"
 description = "Extension for flake8 which uses pydocstyle to check docstrings"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1041,7 +1077,7 @@ pydocstyle = ">=2.1"
 name = "flake8-fixme"
 version = "1.1.1"
 description = "Check for FIXME, TODO and other temporary developer notes. Plugin for flake8."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1049,7 +1085,7 @@ python-versions = "*"
 name = "flake8-isort"
 version = "4.0.0"
 description = "flake8 plugin that integrates isort ."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1065,7 +1101,7 @@ test = ["pytest (>=4.0.2,<6)", "toml"]
 name = "flake8-mypy"
 version = "17.8.0"
 description = "A plugin for flake8 integrating mypy."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1078,7 +1114,7 @@ mypy = "*"
 name = "flake8-polyfill"
 version = "1.0.2"
 description = "Polyfill package for Flake8 plugins"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1087,9 +1123,9 @@ flake8 = "*"
 
 [[package]]
 name = "flake8-rst-docstrings"
-version = "0.0.14"
+version = "0.0.13"
 description = "Python docstring reStructuredText (RST) validator"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1117,7 +1153,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 name = "gitdb"
 version = "4.0.5"
 description = "Git Object Database"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.4"
 
@@ -1128,7 +1164,7 @@ smmap = ">=3.0.1,<4"
 name = "gitpython"
 version = "3.1.11"
 description = "Python Git Library"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.4"
 
@@ -1155,15 +1191,30 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 name = "imagesize"
 version = "1.2.0"
 description = "Getting image size from png/jpeg/jpeg2000/gif file"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
+[[package]]
+name = "importlib-metadata"
+version = "2.0.0"
+description = "Read metadata from Python packages"
+category = "main"
+optional = false
+python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7"
+
+[package.dependencies]
+zipp = ">=0.5"
+
+[package.extras]
+docs = ["sphinx", "rst.linker"]
+testing = ["packaging", "pep517", "importlib-resources (>=1.3)"]
+
 [[package]]
 name = "iniconfig"
 version = "1.1.1"
 description = "iniconfig: brain-dead simple config-ini parsing"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1171,7 +1222,7 @@ python-versions = "*"
 name = "isort"
 version = "5.6.4"
 description = "A Python utility / library to sort Python imports."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.6,<4.0"
 
@@ -1184,7 +1235,7 @@ colors = ["colorama (>=0.4.3,<0.5.0)"]
 name = "jinja2"
 version = "2.11.2"
 description = "A very fast and expressive template engine."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
@@ -1234,7 +1285,7 @@ python-versions = "*"
 name = "markupsafe"
 version = "1.1.1"
 description = "Safely add untrusted strings to HTML/XML markup."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
 
@@ -1242,7 +1293,7 @@ python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*"
 name = "mccabe"
 version = "0.6.1"
 description = "McCabe checker, plugin for flake8"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1250,7 +1301,7 @@ python-versions = "*"
 name = "mypy"
 version = "0.790"
 description = "Optional static typing for Python"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1266,7 +1317,7 @@ dmypy = ["psutil (>=4.0)"]
 name = "mypy-extensions"
 version = "0.4.3"
 description = "Experimental type system extensions for programs checked with the mypy typechecker."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1286,7 +1337,7 @@ six = "*"
 name = "pathspec"
 version = "0.8.1"
 description = "Utility library for gitignore style pattern matching of file paths."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
@@ -1294,7 +1345,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 name = "pbr"
 version = "5.5.1"
 description = "Python Build Reasonableness"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.6"
 
@@ -1321,7 +1372,7 @@ ptyprocess = ">=0.5"
 name = "pg8000"
 version = "1.16.6"
 description = "PostgreSQL interface library"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1348,7 +1399,7 @@ python-versions = ">=3.5"
 name = "pluggy"
 version = "0.13.1"
 description = "plugin and hook calling mechanisms for python"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -1397,7 +1448,7 @@ python-versions = "*"
 name = "py"
 version = "1.9.0"
 description = "library with cross-python path, ini-parsing, io, code, log facilities"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -1405,7 +1456,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 name = "pycodestyle"
 version = "2.6.0"
 description = "Python style guide checker"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -1421,7 +1472,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 name = "pydocstyle"
 version = "5.1.1"
 description = "Python docstring style checker"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1432,7 +1483,7 @@ snowballstemmer = "*"
 name = "pyflakes"
 version = "2.2.0"
 description = "passive checker of Python programs"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -1440,7 +1491,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 name = "pygments"
 version = "2.7.2"
 description = "Pygments is a syntax highlighting package written in Python."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1469,7 +1520,7 @@ python-versions = ">=2.6, !=3.0.*, !=3.1.*, !=3.2.*"
 name = "pytest"
 version = "6.1.2"
 description = "pytest: simple powerful testing with Python"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1491,7 +1542,7 @@ testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "requests", "xm
 name = "pytest-cov"
 version = "2.10.1"
 description = "Pytest plugin for measuring coverage."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
@@ -1506,7 +1557,7 @@ testing = ["fields", "hunter", "process-tests (==2.0.2)", "six", "pytest-xdist",
 name = "pytest-django"
 version = "3.10.0"
 description = "A Django plugin for pytest."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -1521,7 +1572,7 @@ testing = ["django", "django-configurations (>=2.0)", "six"]
 name = "pytest-django-testing-postgresql"
 version = "0.1.post0"
 description = "Use a temporary PostgreSQL database with pytest-django"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1533,7 +1584,7 @@ dj-database-url = "*"
 name = "pytest-sugar"
 version = "0.9.4"
 description = "pytest-sugar is a plugin for pytest that changes the default look and feel of pytest (e.g. progressbar, show tests that fail instantly)."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1596,7 +1647,7 @@ python-versions = "*"
 name = "pyyaml"
 version = "5.3.1"
 description = "YAML parser and emitter for Python"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
 
@@ -1644,7 +1695,7 @@ redis = ">=3.1.0,<4.0.0"
 name = "regex"
 version = "2020.11.13"
 description = "Alternative regular expression module, to replace re."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1670,7 +1721,7 @@ socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
 name = "restructuredtext-lint"
 version = "1.3.1"
 description = "reStructuredText linter"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1712,7 +1763,7 @@ python-versions = "*"
 name = "safety"
 version = "1.9.0"
 description = "Checks installed dependencies for known vulnerabilities."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1726,7 +1777,7 @@ requests = "*"
 name = "scramp"
 version = "1.2.0"
 description = "An implementation of the SCRAM protocol."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1734,7 +1785,7 @@ python-versions = ">=3.5"
 name = "selenium"
 version = "3.141.0"
 description = "Python bindings for Selenium"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1761,7 +1812,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*"
 name = "smmap"
 version = "3.0.4"
 description = "A pure Python implementation of a sliding window memory map manager"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 
@@ -1769,7 +1820,7 @@ python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
 name = "snowballstemmer"
 version = "2.0.0"
 description = "This package provides 26 stemmers for 25 languages generated from Snowball algorithms."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1793,7 +1844,7 @@ python-versions = "*"
 name = "sphinx"
 version = "3.3.1"
 description = "Python documentation generator"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1824,7 +1875,7 @@ test = ["pytest", "pytest-cov", "html5lib", "typed-ast", "cython"]
 name = "sphinx-autodoc-typehints"
 version = "1.11.1"
 description = "Type hints (PEP 484) support for the Sphinx autodoc extension"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5.2"
 
@@ -1839,7 +1890,7 @@ type_comments = ["typed-ast (>=1.4.0)"]
 name = "sphinxcontrib-applehelp"
 version = "1.0.2"
 description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1851,7 +1902,7 @@ test = ["pytest"]
 name = "sphinxcontrib-devhelp"
 version = "1.0.2"
 description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1863,7 +1914,7 @@ test = ["pytest"]
 name = "sphinxcontrib-django"
 version = "0.5.1"
 description = "Improve the Sphinx autodoc for Django classes."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1871,7 +1922,7 @@ python-versions = "*"
 name = "sphinxcontrib-htmlhelp"
 version = "1.0.3"
 description = "sphinxcontrib-htmlhelp is a sphinx extension which renders HTML help files"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1883,7 +1934,7 @@ test = ["pytest", "html5lib"]
 name = "sphinxcontrib-jsmath"
 version = "1.0.1"
 description = "A sphinx extension which renders display math in HTML via JavaScript"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1894,7 +1945,7 @@ test = ["pytest", "flake8", "mypy"]
 name = "sphinxcontrib-qthelp"
 version = "1.0.3"
 description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1906,7 +1957,7 @@ test = ["pytest"]
 name = "sphinxcontrib-serializinghtml"
 version = "1.1.4"
 description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle)."
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.5"
 
@@ -1926,7 +1977,7 @@ python-versions = ">=3.5"
 name = "stevedore"
 version = "3.2.2"
 description = "Manage dynamic plugins for Python applications"
-category = "dev"
+category = "main"
 optional = false
 python-versions = ">=3.6"
 
@@ -1945,7 +1996,7 @@ python-versions = "*"
 name = "termcolor"
 version = "1.1.0"
 description = "ANSII Color formatting for output in terminal."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1953,7 +2004,7 @@ python-versions = "*"
 name = "testfixtures"
 version = "6.15.0"
 description = "A collection of helpers and mock objects for unit tests and doc tests."
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1966,7 +2017,7 @@ test = ["pytest (>=3.6)", "pytest-cov", "pytest-django", "zope.component", "sybi
 name = "testing.common.database"
 version = "2.0.3"
 description = "utilities for testing.* packages"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -1977,7 +2028,7 @@ testing = ["nose"]
 name = "testing.postgresql"
 version = "1.3.0"
 description = "automatically setups a postgresql instance in a temporary directory, and destroys it after testing"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -2033,7 +2084,7 @@ six = "*"
 name = "typed-ast"
 version = "1.4.1"
 description = "a fork of Python 2 and 3 ast modules with type comment support"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -2041,7 +2092,7 @@ python-versions = "*"
 name = "typing-extensions"
 version = "3.7.4.3"
 description = "Backported and Experimental Type Hints for Python 3.5+"
-category = "dev"
+category = "main"
 optional = false
 python-versions = "*"
 
@@ -2077,17 +2128,47 @@ python-versions = "*"
 [package.dependencies]
 pycryptodome = "*"
 
+[[package]]
+name = "zipp"
+version = "3.4.0"
+description = "Backport of pathlib-compatible object wrapper for zip files"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+docs = ["sphinx", "jaraco.packaging (>=3.2)", "rst.linker (>=1.9)"]
+testing = ["pytest (>=3.5,!=3.7.3)", "pytest-checkdocs (>=1.2.3)", "pytest-flake8", "pytest-cov", "jaraco.test (>=3.2.0)", "jaraco.itertools", "func-timeout", "pytest-black (>=0.3.7)", "pytest-mypy"]
+
 [metadata]
 lock-version = "1.1"
 python-versions = "^3.8"
-content-hash = "836246c877bb6fb4edf5d4a115b12bf616baecb8e3cc34b8b9282b7b17e18421"
+content-hash = "9f4e6e777781ff0f473b3cb29a5342cd87abd0060423712dfb75bd418e2b0604"
 
 [metadata.files]
 alabaster = [
     {file = "alabaster-0.7.12-py2.py3-none-any.whl", hash = "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359"},
     {file = "alabaster-0.7.12.tar.gz", hash = "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"},
 ]
-aleksis-core = []
+aleksis-builddeps = [
+    {file = "AlekSIS-Builddeps-1.tar.gz", hash = "sha256:97a19597f422593cbdc438aabf17f95748126c8951df6ac7db7991fc99c108c4"},
+]
+aleksis-core = [
+    {file = "AlekSIS-Core-2.0a3.dev0+20201114132749.88d92354.tar.gz", hash = "sha256:be16d8b6478029ec86cc92389a5f679be85112cb20d18996c8ae95adf86690ba"},
+    {file = "AlekSIS-Core-2.0a3.dev0+20201114154746.9129dcd7.tar.gz", hash = "sha256:89bf9908411953eb337cc40b702f00394d4ff137fcd5160c538608c0a867a294"},
+    {file = "AlekSIS-Core-2.0a3.dev0+20201115003323.d1ff5fff.tar.gz", hash = "sha256:ffada26ef5593fd3f0f392bc8ea1cd9142875d08607e4737c38d84dea3ac3533"},
+    {file = "AlekSIS-Core-2.0a3.dev0+20201115124223.ce62cc6a.tar.gz", hash = "sha256:358e9c2cd292d0b23d8bffd02f777e3fb9a764ce4c70148ef94cf6ca83e2aeef"},
+    {file = "AlekSIS-Core-2.0a3.dev0+20201115134935.59be5513.tar.gz", hash = "sha256:3452fc7572df2e1bed31d5df20573f050f47d3d3ccd084c8597e327667f0219d"},
+    {file = "AlekSIS-Core-2.0a3.dev0+20201115135217.fa0090db.tar.gz", hash = "sha256:f9113d35d677533580131eb274331ab6590cba222a2bd28c2384936b00eaf5cf"},
+    {file = "AlekSIS-Core-2.0a3.dev0+20201115201946.7653194e.tar.gz", hash = "sha256:54f54726c246be4d9d34b80e312d7f00cd6386a1a1cf0d627b3c270519e90887"},
+    {file = "AlekSIS_Core-2.0a3.dev0+20201114132749.88d92354-py3-none-any.whl", hash = "sha256:180477173a1e23f9ca42b6b79383b556dbd97868e3f3079c8b090466aeba256c"},
+    {file = "AlekSIS_Core-2.0a3.dev0+20201114154746.9129dcd7-py3-none-any.whl", hash = "sha256:a60b456a300f1fa7786567cb0b948690422c95492a0cec936a0b99d6109afed5"},
+    {file = "AlekSIS_Core-2.0a3.dev0+20201115003323.d1ff5fff-py3-none-any.whl", hash = "sha256:e16da1f4895f7d1b7c595a9a3fd9800ccad401a2a8a0ce146774f8b01e63f089"},
+    {file = "AlekSIS_Core-2.0a3.dev0+20201115124223.ce62cc6a-py3-none-any.whl", hash = "sha256:d4ce35f02210f3d08f953e67d74c77bc64f54956c808407946531afb88d25628"},
+    {file = "AlekSIS_Core-2.0a3.dev0+20201115134935.59be5513-py3-none-any.whl", hash = "sha256:98f097859b3ee4eb3e54e6f3c34ee2b0d1857998000e60f6324d3b6eebe6c9b5"},
+    {file = "AlekSIS_Core-2.0a3.dev0+20201115135217.fa0090db-py3-none-any.whl", hash = "sha256:4a30a3c0419453ba3e5e1a3f200554c91972ec752d99a6cc0b13fba482e93aa3"},
+    {file = "AlekSIS_Core-2.0a3.dev0+20201115201946.7653194e-py3-none-any.whl", hash = "sha256:5f96e0a72714e259bbd3f813980cd96589e4cbcf922f9f2e7b76fb59e2475eae"},
+]
 appdirs = [
     {file = "appdirs-1.4.4-py2.py3-none-any.whl", hash = "sha256:a841dacd6b99318a741b166adb07e19ee71a274450e68237b4650ca1055ab128"},
     {file = "appdirs-1.4.4.tar.gz", hash = "sha256:7d5d0167b2b1ba821647616af46a749d1c653740dd0d2415100fe26e27afdf41"},
@@ -2134,8 +2215,8 @@ calendarweek = [
     {file = "calendarweek-0.4.7.tar.gz", hash = "sha256:7655d6a4c3b4f6a4e01aa7d23b49cd121db0399050e9c08cd8d1210155be25dd"},
 ]
 celery-progress = [
-    {file = "celery-progress-0.0.12.tar.gz", hash = "sha256:df61d61ac2b29e51b61a2cbd070d28b69f9f538d31e5f4b8076d9721251d6c59"},
-    {file = "celery_progress-0.0.12-py3-none-any.whl", hash = "sha256:b3727b1b65c79ec072513eb42f1903eaec64a75d2f691b5664fa660f2bd319ad"},
+    {file = "celery-progress-0.0.14.tar.gz", hash = "sha256:002ead0d3fa3602bd74cf328206b8e2352994ab599711dc20058a5cf2b4db2d1"},
+    {file = "celery_progress-0.0.14-py3-none-any.whl", hash = "sha256:6d95c01fe044dd5dbb1e2d507724f9ace70bde796bc6db51ba19c8a95e94da07"},
 ]
 certifi = [
     {file = "certifi-2020.11.8-py2.py3-none-any.whl", hash = "sha256:1f422849db327d534e3d0c5f02a263458c3955ec0aae4ff09b95f195c59f4edd"},
@@ -2447,7 +2528,7 @@ flake8-polyfill = [
     {file = "flake8_polyfill-1.0.2-py2.py3-none-any.whl", hash = "sha256:12be6a34ee3ab795b19ca73505e7b55826d5f6ad7230d31b18e106400169b9e9"},
 ]
 flake8-rst-docstrings = [
-    {file = "flake8-rst-docstrings-0.0.14.tar.gz", hash = "sha256:8f8bcb18f1408b506dd8ba2c99af3eac6128f6911d4bf6ff874b94caa70182a2"},
+    {file = "flake8-rst-docstrings-0.0.13.tar.gz", hash = "sha256:b1b619d81d879b874533973ac04ee5d823fdbe8c9f3701bfe802bb41813997b4"},
 ]
 funcsigs = [
     {file = "funcsigs-1.0.2-py2.py3-none-any.whl", hash = "sha256:330cc27ccbf7f1e992e69fef78261dc7c6569012cf397db8d3de0234e6c937ca"},
@@ -2476,6 +2557,10 @@ imagesize = [
     {file = "imagesize-1.2.0-py2.py3-none-any.whl", hash = "sha256:6965f19a6a2039c7d48bca7dba2473069ff854c36ae6f19d2cde309d998228a1"},
     {file = "imagesize-1.2.0.tar.gz", hash = "sha256:b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1"},
 ]
+importlib-metadata = [
+    {file = "importlib_metadata-2.0.0-py2.py3-none-any.whl", hash = "sha256:cefa1a2f919b866c5beb7c9f7b0ebb4061f30a8a9bf16d609b000e2dfaceb9c3"},
+    {file = "importlib_metadata-2.0.0.tar.gz", hash = "sha256:77a540690e24b0305878c37ffd421785a6f7e53c8b5720d211b211de8d0e95da"},
+]
 iniconfig = [
     {file = "iniconfig-1.1.1-py2.py3-none-any.whl", hash = "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3"},
     {file = "iniconfig-1.1.1.tar.gz", hash = "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32"},
@@ -3025,3 +3110,7 @@ yubiotp = [
     {file = "YubiOTP-1.0.0.post1-py2.py3-none-any.whl", hash = "sha256:7ad57011866e0bc6c6d179ffbc3926fcc0e82d410178a6d01ba4da0f88332878"},
     {file = "YubiOTP-1.0.0.post1.tar.gz", hash = "sha256:c13825f7b76a69afb92f19521f4dea9f5031d70f45123b505dc2e0ac03132065"},
 ]
+zipp = [
+    {file = "zipp-3.4.0-py3-none-any.whl", hash = "sha256:102c24ef8f171fd729d46599845e95c7ab894a4cf45f5de11a44cc7444fb1108"},
+    {file = "zipp-3.4.0.tar.gz", hash = "sha256:ed5eee1974372595f9e416cc7bbeeb12335201d8081ca8a0743c954d4446e5cb"},
+]
diff --git a/pyproject.toml b/pyproject.toml
index 3336b25..0037105 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -35,32 +35,9 @@ python-pam = "^1.8.4"
 python-resize-image = "^1.1.19"
 redis-collections = "^0.8.0"
 django-iban-field = "^0.8"
-aleksis-core = { git = "https://edugit.org/AlekSIS/official/AlekSIS-Core", branch = "feature/use-entrypoints" }
-
-[tool.poetry.dev-dependencies]
-sphinx = "^3.0"
-sphinxcontrib-django = "^0.5.0"
-sphinx-autodoc-typehints = "^1.7"
-django-stubs = "^1.1"
-pytest = "^6.0"
-pytest-django = "^3.7"
-pytest-django-testing-postgresql = "^0.1"
-selenium = "^3.141.0"
-safety = "^1.8.5"
-flake8 = "^3.7.9"
-flake8-django = "^1.0.0"
-flake8-fixme = "^1.1.1"
-flake8-mypy = "^17.8.0"
-flake8-bandit = "^2.1.2"
-flake8-builtins = "^1.4.1"
-flake8-docstrings = "^1.5.0"
-flake8-rst-docstrings = "^0.0.14"
-black = "^19.10b0"
-flake8-black = "^0.2.0"
-isort = "^5.0.0"
-flake8-isort = "^4.0.0"
-pytest-cov = "^2.8.1"
-pytest-sugar = "^0.9.2"
+importlib-metadata = "^2.0.0"
+aleksis-builddeps = "^1"
+aleksis-core = "^2.0a3.dev0"
 
 [tool.poetry.plugins."aleksis.app"]
 ticdesk = "ticdesk.apps:TICDeskConfig"
diff --git a/ticdesk/__init__.py b/ticdesk/__init__.py
index 4ba3a1e..d169c17 100644
--- a/ticdesk/__init__.py
+++ b/ticdesk/__init__.py
@@ -1 +1 @@
-default_app_config = "aleksis.apps.ticdesk.apps.TICDeskConfig"
+default_app_config = "ticdesk.apps.TICDeskConfig"
diff --git a/ticdesk/apps.py b/ticdesk/apps.py
index 0a8ab02..2eb1600 100644
--- a/ticdesk/apps.py
+++ b/ticdesk/apps.py
@@ -2,7 +2,7 @@ from aleksis.core.util.apps import AppConfig
 
 
 class TICDeskConfig(AppConfig):
-    name = "aleksis.apps.ticdesk"
+    name = "ticdesk"
     verbose_name = "TIC-Desk - Teckids Centre Information Desk"
 
     urls = {
diff --git a/ticdesk/migrations/0007_auto_20200728_1145.py b/ticdesk/migrations/0007_auto_20200728_1145.py
index e8a18d4..0e70484 100644
--- a/ticdesk/migrations/0007_auto_20200728_1145.py
+++ b/ticdesk/migrations/0007_auto_20200728_1145.py
@@ -9,7 +9,6 @@ import django.db.models.deletion
 class Migration(migrations.Migration):
 
     dependencies = [
-        ("core", "0004_auto_20200728_1145"),
         ("sites", "0002_alter_domain_unique"),
         ("ticdesk", "0006_teckidsmember"),
     ]
diff --git a/ticdesk/migrations/0016_eventfeedback_feedbackfeedbackaspect.py b/ticdesk/migrations/0016_eventfeedback_feedbackfeedbackaspect.py
index f4cdbeb..a04c3dc 100644
--- a/ticdesk/migrations/0016_eventfeedback_feedbackfeedbackaspect.py
+++ b/ticdesk/migrations/0016_eventfeedback_feedbackfeedbackaspect.py
@@ -9,7 +9,6 @@ import django.db.models.deletion
 class Migration(migrations.Migration):
 
     dependencies = [
-        ("core", "0004_auto_20200728_1145"),
         ("sites", "0002_alter_domain_unique"),
         ("ticdesk", "0015_auto_20200802_1340"),
     ]
diff --git a/ticdesk/migrations/0019_auto_20200926_2018.py b/ticdesk/migrations/0019_auto_20200926_2018.py
index 371bc7f..78b28f3 100644
--- a/ticdesk/migrations/0019_auto_20200926_2018.py
+++ b/ticdesk/migrations/0019_auto_20200926_2018.py
@@ -10,7 +10,6 @@ import django_iban.fields
 class Migration(migrations.Migration):
 
     dependencies = [
-        ('core', '0004_auto_20200728_1145'),
         ('sites', '0002_alter_domain_unique'),
         ('ticdesk', '0018_auto_20200802_1646'),
     ]
-- 
GitLab