# 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==1.2.9 # Used for Segment analytics attrs # Reduces boilerplate code involving class attributes Babel==1.3 # Internationalization utilities, used for date formatting in a few places 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 defusedxml Django==1.11.21 # Web application framework django-babel-underscore # underscore template extractor for django-babel (internationalization utilities) django-config-models>=0.2.2 # Configuration models for Django allowing config management with auditing django-cors-headers==2.1.0 # Used to allow to configure CORS headers for cross-domain requests django-countries==4.6.1 # 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 django-model-utils==3.0.0 django-mptt>=0.8.6,<0.9 django-mysql==2.4.1 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-rest-swagger # API documentation django-sekizai django-ses==0.8.4 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 djangorestframework-jwt edx-ace==0.1.10 edx-analytics-data-api-client 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==2.3.1 edx-django-utils edx-drf-extensions edx-enterprise==1.6.9 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-submissions edx-user-state-client edx-when edxval enum34==1.1.6 # Backport of Enum from Python 3.4+ event-tracking feedparser==5.1.3 firebase-token-generator==1.3.2 fs==2.0.18 fs-s3fs==0.1.8 glob2 # Enhanced glob module, used in openedx.core.lib.rooted_paths gunicorn==19.5.0 help-tokens 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 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==1.1.1 # 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 PyContracts==1.7.1 pycountry pycryptodomex==3.4.7 pygments # Used to support colors in paver command output pygraphviz # No longer in use? Optional dependency of networkx, from edx-sandbox/shared.in 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==1.1 # For more accurate sorting of translated country names in django-countries reportlab # Used for shopping cart's pdf invoice/receipt generation rest-condition # DRF's recommendation for supporting complex permissions rfc6266-parser # Used to generate Content-Disposition headers. social-auth-app-django<3.0.0 social-auth-core<2.0.0 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 Shapely # Geometry library, used for image click regions in capa six # Utilities for supporting Python 2 & 3 in the same codebase sorl-thumbnail==12.3 # 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 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 zendesk # Python API for the Zendesk customer support system geoip2==2.9.0 # Python API for the GeoIP web services and databases