Skip to content
Snippets Groups Projects
base.in 8.68 KiB
Newer Older
# 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
#
-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==1.3                          # Internationalization utilities, used for date formatting in a few places
Ahmed Jazzar's avatar
Ahmed Jazzar committed
bleach==2.1.4                       # 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)
Ned Batchelder's avatar
Ned Batchelder committed
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==1.0.4                # Allows users to filter Django querysets dynamically
django-ipware                       # Get the client's real IP address
django-method-override==0.1.0
Ayub khan's avatar
Ayub khan committed
django-model-utils
django-oauth-toolkit<1.2            # Provides oAuth2 capabilities for Django. 1.2+ requires Django 2 and Python 3.5
django-pipeline
django-pyfs
django-ratelimit
django-ratelimit-backend==1.1.1
django-require
django-sekizai
Awais Qureshi's avatar
Awais Qureshi committed
django-ses
django-simple-history
django-splash
django-statici18n==1.4.0
django-storages==1.4.1
django-user-tasks
django-waffle==0.12.0
django-webpack-loader               # Used to wire webpack bundles into the django asset pipeline
Ned Batchelder's avatar
Ned Batchelder committed
djangorestframework==3.7.7
Ned Batchelder's avatar
Ned Batchelder committed
drf-yasg                            # Replacement for django-rest-swagger
edx-analytics-data-api-client
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-django-utils
edx-drf-extensions
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-submissions
edx-user-state-client
Qubad786's avatar
Qubad786 committed
edxval
event-tracking
feedparser==5.1.3
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
Feanil Patel's avatar
Feanil Patel committed
gunicorn
Ahmed Jazzar's avatar
Ahmed Jazzar committed
html5lib                            # HTML parser, used for capa problems
ipaddress                           # Ip network support for Embargo feature
jsonfield                           # 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==1.0.2                       # 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
pycryptodomex
Feanil Patel's avatar
Feanil Patel committed
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==2.4
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-app-django
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
rules                               # Django extension for rules-based authorization checks
sailthru-client==2.2.3              # For Sailthru integration
singuliere's avatar
singuliere committed
Shapely                             # Geometry library, used for image click regions in capa
six                                 # Utilities for supporting Python 2 & 3 in the same codebase
sorl-thumbnail                      # Image thumbnail management
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
Dave St.Germain's avatar
Dave St.Germain committed
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
bmedx's avatar
bmedx committed
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