Metadata-Version: 2.1
Name: aleksis-core
Version: 2.7
Summary: AlekSIS (School Information System) — Core
Home-page: https://aleksis.org/
License: EUPL-1.2-or-later
Keywords: SIS,education,school,digitisation,school apps
Author: Dominik George
Author-email: dominik.george@teckids.org
Maintainer: Jonathan Weth
Maintainer-email: dev@jonathanweth.de
Requires-Python: >=3.9,<4.0
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django :: 3.0
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: License :: Other/Proprietary License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Education
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Classifier: Typing :: Typed
Provides-Extra: ldap
Provides-Extra: s3
Provides-Extra: sentry
Requires-Dist: Celery[django,redis] (>=5.2,<6.0)
Requires-Dist: Django (>=3.2.5,<4.0.0)
Requires-Dist: Whoosh (>=2.7.4,<3.0.0)
Requires-Dist: boto3 (>=1.17.33,<2.0.0); extra == "s3"
Requires-Dist: bs4 (>=0.0.1,<0.0.2)
Requires-Dist: calendarweek (>=0.5.0,<0.6.0)
Requires-Dist: celery-haystack-ng (>=2.0,<3.0)
Requires-Dist: celery-progress (>=0.1.0,<0.2.0)
Requires-Dist: colour (>=0.1.5,<0.2.0)
Requires-Dist: django-allauth (>=0.47.0,<0.48.0)
Requires-Dist: django-any-js (>=1.1,<2.0)
Requires-Dist: django-auth-ldap (>=4.0,<5.0); extra == "ldap"
Requires-Dist: django-bleach (>=1.0.0,<2.0.0)
Requires-Dist: django-cachalot (>=2.3.2,<3.0.0)
Requires-Dist: django-cache-memoize (>=0.1.6,<0.2.0)
Requires-Dist: django-celery-beat (>=2.2.0,<3.0.0)
Requires-Dist: django-celery-email (>=3.0.0,<4.0.0)
Requires-Dist: django-celery-results (>=2.0.1,<3.0.0)
Requires-Dist: django-ckeditor (>=6.0.0,<7.0.0)
Requires-Dist: django-cleanup (>=5.1.0,<6.0.0)
Requires-Dist: django-cleavejs (>=0.1.0,<0.2.0)
Requires-Dist: django-colorfield (>=0.6.0,<0.7.0)
Requires-Dist: django-cte (>=1.1.5,<2.0.0)
Requires-Dist: django-dbbackup (>=3.3.0,<4.0.0)
Requires-Dist: django-debug-toolbar (>=3.2,<4.0)
Requires-Dist: django-dynamic-preferences (>=1.11,<2.0)
Requires-Dist: django-extensions (>=3.1.1,<4.0.0)
Requires-Dist: django-favicon-plus-reloaded (>=1.1.5,<2.0.0)
Requires-Dist: django-filter (>=2.2.0,<3.0.0)
Requires-Dist: django-guardian (>=2.2.0,<3.0.0)
Requires-Dist: django-haystack (>=3.1,<4.0)
Requires-Dist: django-health-check (>=3.12.1,<4.0.0)
Requires-Dist: django-impersonate (>=1.4,<2.0)
Requires-Dist: django-invitations (>=1.9.3,<2.0.0)
Requires-Dist: django-ipware (>=4.0,<5.0)
Requires-Dist: django-js-reverse (>=0.9.1,<0.10.0)
Requires-Dist: django-jsonstore (>=0.5.0,<0.6.0)
Requires-Dist: django-maintenance-mode (>=0.16.0,<0.17.0)
Requires-Dist: django-material (>=1.6.0,<2.0.0)
Requires-Dist: django-menu-generator-ng (>=1.2.3,<2.0.0)
Requires-Dist: django-model-utils (>=4.0.0,<5.0.0)
Requires-Dist: django-oauth-toolkit (>=1.6.2,<2.0.0)
Requires-Dist: django-phonenumber-field[phonenumbers] (>=5.2,<6.0)
Requires-Dist: django-polymorphic (>=3.0.0,<4.0.0)
Requires-Dist: django-prometheus (>=2.1.0,<3.0.0)
Requires-Dist: django-redis (>=5.0.0,<6.0.0)
Requires-Dist: django-reversion (>=4.0.0,<5.0.0)
Requires-Dist: django-sass-processor (==1.0)
Requires-Dist: django-storages (>=1.11.1,<2.0.0); extra == "s3"
Requires-Dist: django-tables2 (>=2.1,<3.0)
Requires-Dist: django-templated-email (>=3.0.0,<4.0.0)
Requires-Dist: django-titofisto (>=0.2.0,<0.3.0)
Requires-Dist: django-two-factor-auth[call,yubikey,sms,phonenumbers] (>=1.12.1,<2.0.0)
Requires-Dist: django-uwsgi-ng (>=1.1.0,<2.0.0)
Requires-Dist: django-yarnpkg (>=6.0,<7.0)
Requires-Dist: django_select2 (>=7.1,<8.0)
Requires-Dist: django_widget_tweaks (>=1.4.5,<2.0.0)
Requires-Dist: djangorestframework (>=3.12.4,<4.0.0)
Requires-Dist: dynaconf[yaml,toml,ini] (>=3.1,<4.0)
Requires-Dist: haystack-redis (>=0.0.1,<0.0.2)
Requires-Dist: html2text (>=2020.0.0,<2021.0.0)
Requires-Dist: ipython (>=8.0.0,<9.0.0)
Requires-Dist: libsass (>=0.21.0,<0.22.0)
Requires-Dist: license-expression (>=21.6,<22.0)
Requires-Dist: psutil (>=5.7.0,<6.0.0)
Requires-Dist: psycopg2 (>=2.8,<3.0)
Requires-Dist: pycountry (>=22.0.0,<23.0.0)
Requires-Dist: python-gnupg (>=0.4.7,<0.5.0)
Requires-Dist: rules (>=3.0,<4.0)
Requires-Dist: sentry-sdk (>=1.4.3,<2.0.0); extra == "sentry"
Requires-Dist: spdx-license-list (>=0.5.0,<0.6.0)
Project-URL: Documentation, https://aleksis.org/AlekSIS-Core/docs/html/
Project-URL: Repository, https://edugit.org/AlekSIS/official/AlekSIS-Core
Description-Content-Type: text/x-rst

AlekSIS (School Information System) — Core (Core functionality and app framework)
=================================================================================

This is the core of the AlekSIS framework and the official distribution
(see below). It bundles functionality for all apps, and utilities for
developers and administrators.

If you are looking for the AlekSIS standard distribution, i.e. the complete
software product ready for installation and usage, please visit the `AlekSIS®`_
website or the distribution repository on `EduGit`_.

Features
--------

The AlekSIS core currently provides the following features:

* For users:

 * Authentication via local account, LDAP, or social accounts
 * Two factor authentication via Yubikey, OTP or SMS
 * Configurable dashboard with widgets
 * User-specific preferences
 * Global search
 * Manage announcements
 * Manage groups and types of groups
 * Manage roles and additional, informative fields per group
 * Manage persons
 * Notifications via SMS, email or dashboard
 * PWA with offline caching
 * User registration, password changes and password reset
 * User invitations with invite codes and targeted invites

* For admins

 * `aleksis-admin` script to wrap django-admin with pre-configured settings
 * Manage school terms
 * Custom menu entries (e.g. in footer)
 * Automatic backup of database, static and media files
 * OAuth2 and OpenID Connect provider support
 * Serve prometheus metrics
 * System health and data checks
 * Configuration of low-level settings via configuration files
 * System-wide preferenes
 * Creating dashboard widgets for external links/apps

* For developers

 * Generic PDF generation with chromium
 * Caching with Redis
 * Django REST framework for apps to use at own discretion
 * Injection of fields, methods, permissions and properties via custom `ExtensibleModel`
 * K8s compatible, read-only Docker image
 * Object-level permissions and rules with `django-guardian` and `django-rules`
 * Query caching with `django-cachalot`
 * uWSGI and Celery via `django-uwsgi` in development
 * Extensible dashbaord widget system
 * Extensible OAuth/OpenID Connect scope and claims system

Licence
-------

::

  Copyright © 2017, 2018, 2019, 2020, 2021, 2022 Jonathan Weth <dev@jonathanweth.de>
  Copyright © 2017, 2018, 2019, 2020 Frank Poetzsch-Heffter <p-h@katharineum.de>
  Copyright © 2018, 2019, 2020, 2021, 2022 Hangzhi Yu <yuha@katharineum.de>
  Copyright © 2018, 2019, 2020, 2021 Julian Leucker <leuckeju@katharineum.de>
  Copyright © 2019, 2020, 2021, 2022 Dominik George <dominik.george@teckids.org>
  Copyright © 2019, 2020, 2021, 2022 Tom Teichler <tom.teichler@teckids.org>
  Copyright © 2019 mirabilos <thorsten.glaser@teckids.org>
  Copyright © 2021 Lloyd Meins <meinsll@katharineum.de>
  Copyright © 2021 magicfelix <felix@felix-zauberer.de>
  Copyright © 2022 Benedict Suska <benedict.suska@teckids.org>

  Licenced under the EUPL, version 1.2 or later, by Teckids e.V. (Bonn, Germany).

Please see the LICENCE.rst file accompanying this distribution for the
full licence text or on the `European Union Public Licence`_ website
https://joinup.ec.europa.eu/collection/eupl/guidelines-users-and-developers
(including all other official language versions).

Trademark
---------

AlekSIS® is a registered trademark of the AlekSIS open source project, represented
by Teckids e.V. Please refer to the `trademark policy`_ for hints on using the trademark
AlekSIS®.

.. _AlekSIS®: https://aleksis.org
.. _European Union Public Licence: https://eupl.eu/
.. _EduGit: https://edugit.org/AlekSIS/official/AlekSIS
.. _trademark policy: https://aleksis.org/pages/about

