Files
edx-platform/requirements/edx/kernel.in
Feanil Patel a1bc4760aa build: Unpin lxml.
libxmlsec and lxml need to be updated in lockstep and the version we had
wouldn't work with Ubuntu 24.04 so unpinning lxml along with libxmlsec
to see if that resolves the build and dependency issues.
2024-11-05 10:44:02 -05:00

163 lines
9.2 KiB
Plaintext

# Core dependencies for running edx-platform (LMS or Studio)
-c ../constraints.txt
-r github.in # Forks and other dependencies not yet on PyPI
-r paver.txt # Requirements for running paver commands
# DON'T JUST ADD NEW DEPENDENCIES!!!
# Please follow these guidelines whenever you change this file:
#
# 1. When adding a new dependency:
# * add a comment to the end of the line explaining why it is needed.
# * verify that the dependency has a license compatible with AGPLv3
# * confirm that it has no system requirements beyond what we already install
# * run "make upgrade" to update the detailed requirements files
# 2. Do not pin exact versions unless absolutely necessary. When upgrading
# an already-pinned package to its latest release, remove the version pin.
# 3. Do not add indirect dependencies unless a version constraint is needed to
# avoid versions which have known problems.
# 4. If the package is not strictly necessary for the platform to run, add it to
# another file such as bundled.in, development.in, or testing.in instead.
acid-xblock # This XBlock is used for unit tests as well as manual tests
analytics-python # Used for Segment analytics
attrs # Reduces boilerplate code involving class attributes
Babel # Internationalization utilities, used for date formatting in a few places
boto # Deprecated version of the AWS SDK; we should stop using this
boto3 # Amazon Web Services SDK for Python
botocore # via boto3, s3transfer
bridgekeeper # Used for determining permissions for courseware. Use of django-rules is preferred.
celery # Asynchronous task execution library
chem # A helper library for chemistry calculations
codejail-includes # CodeJail manages execution of untrusted code in secure sandboxes.
cryptography # Implementations of assorted cryptography algorithms
defusedxml
Django # Web application framework
django-celery-results # Only used for the CacheBackend for celery results
django-config-models # Configuration models for Django allowing config management with auditing
django-cors-headers # Used to allow to configure CORS headers for cross-domain requests
django-countries # Country data for Django forms and model fields
django-crum # Middleware that stores the current request and user in thread local storage
django-filter # Allows users to filter Django querysets dynamically
django-ipware # Get the client's real IP address
django-method-override # Allow use of HTTP methods normally not supported by browsers via the X-HTTP-Method-Override header
django-model-utils
django-mptt
django-mysql
django-oauth-toolkit # Provides oAuth2 capabilities for Django
django-pipeline
django-ratelimit
django-sekizai
django-simple-history
django-statici18n
django-storages
django-user-tasks
django-waffle
django-webpack-loader # Used to wire webpack bundles into the django asset pipeline
djangorestframework
drf-spectacular
edx-ace
edx-api-doc-tools
edx-auth-backends # Allow Studio to use LMS SSO
edx-bulk-grades # LMS REST API for managing bulk grading operations
edx-ccx-keys
edx-celeryutils
edx-completion
edx-django-release-util # Release utils for the edx release pipeline
edx-django-sites-extensions
edx-codejail
# edx-django-utils 5.14.1 adds FrontendMonitoringMiddleware
edx-django-utils>=5.14.1 # Utilities for cache, monitoring, and plugins
edx-drf-extensions
edx-enterprise
# edx-event-bus-kafka 5.6.0 adds support for putting client ids on event producers/consumers
edx-event-bus-kafka>=5.6.0 # Kafka implementation of event bus
edx-event-bus-redis
edx-milestones
edx-name-affirmation
edx-opaque-keys
edx-organizations
edx-proctoring>=2.0.1
# using hash to support django42
# edx-proctoring-proctortrack==1.2.1 # Intentionally and permanently pinned to ensure code changes are reviewed
edx-rest-api-client
edx-search
edx-submissions
edx-toggles # Feature toggles management
edx-token-utils # Validate exam access tokens
edx-when
edxval
event-tracking
enmerkar-underscore # Implements a underscore extractor for django-babel.
fs
fs-s3fs==0.1.8
geoip2 # Python API for the GeoIP web services and databases
glob2 # Enhanced glob module, used in openedx.core.lib.rooted_paths
gunicorn
help-tokens
html5lib # HTML parser, used for capa problems
icalendar # .ics generator, used by calendar_sync
ipaddress # Ip network support for Embargo feature
importlib_metadata # Used to access entry_points in i18n_api plugin
jsonfield # Django model field for validated JSON; used in several apps
laboratory # Library for testing that code refactors/infrastructure changes produce identical results
importlib_metadata # Used to access entry_points in i18n_api plugin
lxml[html_clean] # XML parser
lti-consumer-xblock>=7.3.0
mako # Primary template language used for server-side page rendering
Markdown # Convert text markup to HTML; used in capa problems, forums, and course wikis
meilisearch # Library to access Meilisearch search engine (will replace ElasticSearch)
mongoengine # Object-document mapper for MongoDB, used in the LMS dashboard
mysqlclient # Driver for the default production relational database
nh3 # Python bindings to the ammonia (whitelist-based HTML sanitizing library); used for capa and LTI
nodeenv # Utility for managing Node.js environments; we use this for deployments and testing
oauthlib # OAuth specification support for authenticating via LTI or other Open edX services
olxcleaner
openedx-atlas # CLI tool to manage translations
openedx-calc # Library supporting mathematical calculations for Open edX
openedx-django-require
openedx-events # Open edX Events from Hooks Extension Framework (OEP-50)
openedx-filters # Open edX Filters from Hooks Extension Framework (OEP-50)
openedx-learning # Open edX Learning core (experimental)
openedx-mongodbproxy
openedx-django-wiki
path
piexif # Exif image metadata manipulation, used in the profile_images app
Pillow # Image manipulation library; used for course assets, profile images, invoice PDFs, etc.
pycountry
pycryptodomex
pyjwkest
# TODO Replace PyJWT usage with pyjwkest
# PyJWT 1.6.3 contains PyJWTError, which is required by Apple auth in social-auth-core
PyJWT>=1.6.3
pylti1p3 # Required by content_libraries core library to support LTI 1.3 launches
pymongo # MongoDB driver
pynliner # Inlines CSS styles into HTML for email notifications
python-dateutil
python3-openid ; python_version>='3'
python3-saml
pyuca # For more accurate sorting of translated country names in django-countries
pysrt # Support for SubRip subtitle files, used in the video XModule
pytz # Time zone information database
PyYAML # Used to parse XModule resource templates
redis # celery task broker
requests-oauthlib # Simplifies use of OAuth via the requests library, used for CCX and LTI
random2
rules # Django extension for rules-based authorization checks
social-auth-core
simplejson
Shapely # Geometry library, used for image click regions in capa
six # Utilities for supporting Python 2 & 3 in the same codebase
slumber # The following dependency is unsupported and used by the DeprecatedRestApiClient
social-auth-app-django
sorl-thumbnail
sortedcontainers # Provides SortedKeyList, used for lists of XBlock assets
stevedore # Support for runtime plugins, used for XBlocks and edx-platform Django app plugins
unicodecsv # Easier support for CSV files with unicode text
user-util # Functionality for retiring users (GDPR compliance)
webob
web-fragments # Provides the ability to render fragments of web pages
XBlock[django] # Courseware component architecture
xss-utils # https://github.com/openedx/edx-platform/pull/20633 Fix XSS via Translations