155 lines
8.4 KiB
Plaintext
155 lines
8.4 KiB
Plaintext
# Core dependencies for running edx-platform (LMS or Studio)
|
|
#
|
|
# DON'T JUST ADD NEW DEPENDENCIES!!!
|
|
#
|
|
# If you open a pull request that adds a new dependency, you should:
|
|
# * 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
|
|
#
|
|
|
|
-c ../constraints.txt
|
|
|
|
-r ../edx-sandbox/shared.txt # Dependencies which are also used by code sandboxes
|
|
-r github.in # Forks and other dependencies not yet on PyPI
|
|
-r local.in # Packages in edx-platform which have their own setup.py
|
|
-r paver.txt # Requirements for running paver commands
|
|
|
|
# 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.
|
|
# 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 needed in production, add it to another file such
|
|
# as development.in or testing.in instead.
|
|
|
|
analytics-python # Used for Segment analytics
|
|
attrs # Reduces boilerplate code involving class attributes
|
|
Babel # Internationalization utilities, used for date formatting in a few places
|
|
bleach # Allowed-list-based HTML sanitizing library that escapes or strips markup and attributes; used for capa and LTI
|
|
boto==2.39.0 # Deprecated version of the AWS SDK; we should stop using this
|
|
boto3==1.4.8 # Amazon Web Services SDK for Python
|
|
botocore==1.8.17 # via boto3, s3transfer
|
|
celery==3.1.25 # Asynchronous task execution library
|
|
contextlib2 # We need contextlib2.ExitStack so we can stop using contextlib.nested which doesn't exist in python 3
|
|
defusedxml
|
|
Django<1.12 # Web application framework
|
|
django-babel-underscore # underscore template extractor for django-babel (internationalization utilities)
|
|
django-config-models>=1.0.0 # 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-fernet-fields # via edx-enterprise (should be added to its setup.py)
|
|
django-filter # Allows users to filter Django querysets dynamically
|
|
django-ipware # Get the client's real IP address
|
|
django-model-utils
|
|
django-mptt
|
|
django-mysql
|
|
django-oauth-toolkit # Provides oAuth2 capabilities for Django
|
|
django-pipeline
|
|
django-pyfs
|
|
django-ratelimit-backend
|
|
django-require
|
|
django-sekizai
|
|
django-ses
|
|
django-simple-history
|
|
django-splash
|
|
django-statici18n
|
|
django-storages
|
|
django-user-tasks
|
|
django-waffle==0.18.0
|
|
django-webpack-loader # Used to wire webpack bundles into the django asset pipeline
|
|
djangorestframework==3.9.4
|
|
djangorestframework-jwt
|
|
edx-ace
|
|
edx-analytics-data-api-client
|
|
edx-api-doc-tools
|
|
edx-bulk-grades # LMS REST API for managing bulk grading operations
|
|
edx-ccx-keys
|
|
edx-celeryutils
|
|
edx-completion
|
|
edx-django-oauth2-provider
|
|
edx-django-release-util # Release utils for the edx release pipeline
|
|
edx-django-sites-extensions
|
|
edx-django-utils
|
|
edx-drf-extensions
|
|
edx-enterprise
|
|
edx-milestones
|
|
edx-oauth2-provider
|
|
edx-organizations
|
|
edx-proctoring>=2.0.1
|
|
edx-proctoring-proctortrack==1.0.5 # Intentionally and permanently pinned to ensure code changes are reviewed
|
|
edx-rest-api-client
|
|
edx-search
|
|
edx-sga
|
|
edx-submissions
|
|
edx-user-state-client
|
|
edx-when
|
|
edxval
|
|
event-tracking
|
|
fs==2.0.18
|
|
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
|
|
ipaddress # Ip network support for Embargo feature
|
|
jsonfield2 # Django model field for validated JSON; used in several apps
|
|
laboratory # Library for testing that code refactors/infrastructure changes produce identical results
|
|
mailsnake # Needed for mailchimp (mailing djangoapp)
|
|
mako==1.0.2 # Primary template language used for server-side page rendering
|
|
Markdown # Convert text markup to HTML; used in capa problems, forums, and course wikis
|
|
mongoengine==0.10.0 # Object-document mapper for MongoDB, used in the LMS dashboard
|
|
mysqlclient # Driver for the default production relational database
|
|
newrelic # New Relic agent for performance monitoring
|
|
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
|
|
pdfminer.six # Used in shoppingcart for extracting/parsing pdf text
|
|
piexif # Exif image metadata manipulation, used in the profile_images app
|
|
Pillow # Image manipulation library; used for course assets, profile images, invoice PDFs, etc.
|
|
py2neo<4.0.0 # Used to communicate with Neo4j, which is used internally for modulestore inspection
|
|
PyContracts
|
|
pycountry
|
|
pycryptodomex
|
|
pygments # Used to support colors in paver command output
|
|
pyjwkest==1.3.2
|
|
# TODO Replace PyJWT usage with pyjwkest
|
|
PyJWT==1.5.2
|
|
pymongo # MongoDB driver
|
|
pynliner # Inlines CSS styles into HTML for email notifications
|
|
python-dateutil
|
|
python-Levenshtein
|
|
python3-openid ; python_version>='3'
|
|
python3-saml
|
|
pyuca # For more accurate sorting of translated country names in django-countries
|
|
recommender-xblock # https://github.com/edx/RecommenderXBlock
|
|
rest-condition # DRF's recommendation for supporting complex permissions
|
|
rfc6266-parser # Used to generate Content-Disposition headers.
|
|
social-auth-core
|
|
pysrt # Support for SubRip subtitle files, used in the video XModule
|
|
pytz # Time zone information database
|
|
PyYAML # Used to parse XModule resource templates
|
|
redis==2.10.6 # 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
|
|
simplejson
|
|
sailthru-client==2.2.3 # For Sailthru integration
|
|
Shapely # Geometry library, used for image click regions in capa
|
|
six # Utilities for supporting Python 2 & 3 in the same codebase
|
|
sortedcontainers # Provides SortedKeyList, used for lists of XBlock assets
|
|
sqlparse # Required by Django to run migrations.RunSQL
|
|
stevedore # Support for runtime plugins, used for XBlocks and edx-platform Django app plugins
|
|
staff-graded-xblock # An XBlock that allows for off-site bulk scoring of problems
|
|
super-csv # Generic CSV processor
|
|
unicodecsv # Easier support for CSV files with unicode text
|
|
user-util # Functionality for retiring users (GDPR compliance)
|
|
web-fragments # Provides the ability to render fragments of web pages
|
|
XBlock # Courseware component architecture
|
|
xblock-utils # Provides utilities used by the Discussion XBlock
|
|
xss-utils # https://github.com/edx/edx-platform/pull/20633 Fix XSS via Translations
|