From a7fa0c211d8d8c1fa3a85f3bf2ca2bc9bef7b147 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Tue, 10 Apr 2018 12:54:41 -0400 Subject: [PATCH] Revert "PLAT-2060 Use pip-tools to manage requirements files" --- Makefile | 45 +-- circle.yml | 12 + common/lib/capa/capa/safe_exec/README.rst | 2 + common/lib/chem/setup.py | 2 +- openedx.yaml | 2 +- .../djangoapps/user_api/tests/test_views.py | 3 +- pavelib/prereqs.py | 16 +- pavement.py | 2 +- requirements/edx-sandbox/base.in | 11 - requirements/edx-sandbox/base.txt | 39 +- requirements/edx-sandbox/local.txt | 16 +- requirements/edx-sandbox/post.txt | 14 +- requirements/edx-sandbox/shared.in | 25 -- requirements/edx-sandbox/shared.txt | 26 -- requirements/edx/base.in | 189 --------- requirements/edx/base.txt | 365 ++++++++---------- requirements/edx/base_common.txt | 12 + requirements/edx/coverage.in | 13 - requirements/edx/coverage.txt | 14 +- requirements/edx/development.in | 16 - requirements/edx/development.txt | 340 +--------------- requirements/edx/django.txt | 2 +- requirements/edx/github.in | 114 ------ requirements/edx/github.txt | 112 +++++- requirements/edx/local.in | 12 - requirements/edx/local.txt | 16 +- requirements/edx/paver.in | 23 -- requirements/edx/paver.txt | 30 +- requirements/edx/pip-tools.in | 10 - requirements/edx/pip-tools.txt | 11 - requirements/edx/post.txt | 16 +- requirements/edx/private.readme | 15 - requirements/edx/testing.in | 30 -- requirements/edx/testing.txt | 335 +--------------- requirements/monitoring/requirements.txt | 17 +- .../monitoring/sandbox-requirements.txt | 8 +- scripts/post-pip-compile.sh | 55 --- tox.ini | 11 + 38 files changed, 434 insertions(+), 1547 deletions(-) delete mode 100644 requirements/edx-sandbox/base.in delete mode 100644 requirements/edx-sandbox/shared.in delete mode 100644 requirements/edx-sandbox/shared.txt delete mode 100644 requirements/edx/base.in create mode 100644 requirements/edx/base_common.txt delete mode 100644 requirements/edx/coverage.in delete mode 100644 requirements/edx/development.in delete mode 100644 requirements/edx/github.in delete mode 100644 requirements/edx/local.in delete mode 100644 requirements/edx/paver.in delete mode 100644 requirements/edx/pip-tools.in delete mode 100644 requirements/edx/pip-tools.txt delete mode 100644 requirements/edx/private.readme delete mode 100644 requirements/edx/testing.in delete mode 100755 scripts/post-pip-compile.sh diff --git a/Makefile b/Makefile index 7a3f218f53..8501377cd4 100644 --- a/Makefile +++ b/Makefile @@ -1,14 +1,9 @@ # Do things in edx-platform -.PHONY: clean extract_translations help pull_translations push_translations requirements upgrade # Careful with mktemp syntax: it has to work on Mac and Ubuntu, which have differences. PRIVATE_FILES := $(shell mktemp -u /tmp/private_files.XXXXXX) -help: ## display this help message - @echo "Please use \`make ' where is one of" - @grep '^[a-zA-Z]' $(MAKEFILE_LIST) | sort | awk -F ':.*?## ' 'NF==2 {printf "\033[36m %-25s\033[0m %s\n", $$1, $$2}' - -clean: ## archive and delete most git-ignored files +clean: # Remove all the git-ignored stuff, but save and restore things marked # by start-noclean/end-noclean. Include Makefile in the tarball so that # there's always at least one file even if there are no private files. @@ -18,13 +13,16 @@ clean: ## archive and delete most git-ignored files tar xf $(PRIVATE_FILES) rm $(PRIVATE_FILES) -extract_translations: ## extract localizable strings from sources +extract_translations: + # Extract localizable strings from sources i18n_tool extract -vv -push_translations: ## push source strings to Transifex for translation +push_translations: + # Push source strings to Transifex for translation i18n_tool transifex push -pull_translations: ## pull translations from Transifex +pull_translations: + ## Pull translations from Transifex git clean -fdX conf/locale i18n_tool transifex pull i18n_tool extract @@ -34,32 +32,3 @@ pull_translations: ## pull translations from Transifex git clean -fdX conf/locale/rtl git clean -fdX conf/locale/eo i18n_tool validate - -requirements: ## install development environment requirements - pip install -qr requirements/edx/development.txt --exists-action w - -upgrade: ## update the pip requirements files to use the latest releases satisfying our constraints - pip install -qr requirements/edx/pip-tools.txt - # Make sure to compile files after any other files they include! - pip-compile --upgrade -o requirements/edx/pip-tools.txt requirements/edx/pip-tools.in - pip-compile --upgrade -o requirements/edx/coverage.txt requirements/edx/coverage.in - pip-compile --upgrade -o requirements/edx/paver.txt requirements/edx/paver.in - pip-compile --upgrade -o requirements/edx-sandbox/shared.txt requirements/edx-sandbox/shared.in - pip-compile --upgrade -o requirements/edx-sandbox/base.txt requirements/edx-sandbox/base.in - pip-compile --upgrade -o requirements/edx/base.txt requirements/edx/base.in - pip-compile --upgrade -o requirements/edx/testing.txt requirements/edx/testing.in - pip-compile --upgrade -o requirements/edx/development.txt requirements/edx/development.in - # Post process all of the files generated above to work around open pip-tools issues - scripts/post-pip-compile.sh \ - requirements/edx/pip-tools.txt \ - requirements/edx/coverage.txt \ - requirements/edx/paver.txt \ - requirements/edx-sandbox/shared.txt \ - requirements/edx-sandbox/base.txt \ - requirements/edx/base.txt \ - requirements/edx/testing.txt \ - requirements/edx/development.txt - # Let tox control the Django version for tests - grep "^django==" requirements/edx/base.txt > requirements/edx/django.txt - sed '/^[dD]jango==/d' requirements/edx/testing.txt > requirements/edx/testing.tmp - mv requirements/edx/testing.tmp requirements/edx/testing.txt diff --git a/circle.yml b/circle.yml index 3b0abb0ec5..09fefa5a74 100644 --- a/circle.yml +++ b/circle.yml @@ -12,6 +12,7 @@ dependencies: - npm install - pip install setuptools + - pip install --exists-action w -r requirements/edx/paver.txt # Mirror what paver install_prereqs does. # After a successful build, CircleCI will @@ -19,7 +20,18 @@ dependencies: # the next build will not need to install them # from scratch again. - pip install --exists-action w -r requirements/edx/pre.txt + - pip install --exists-action w -r requirements/edx/github.txt + - pip install --exists-action w -r requirements/edx/local.txt + + # HACK: within base.txt stevedore had a + # dependency on a version range of pbr. + # Install a version which falls within that range. + - pip install --exists-action w pbr==0.9.0 + - pip install --exists-action w -r requirements/edx/django.txt + - pip install --exists-action w -r requirements/edx/base.txt + - pip install --exists-action w -r requirements/edx/paver.txt - pip install --exists-action w -r requirements/edx/testing.txt + - if [ -e requirements/edx/post.txt ]; then pip install --exists-action w -r requirements/edx/post.txt ; fi - pip install coveralls==1.0 diff --git a/common/lib/capa/capa/safe_exec/README.rst b/common/lib/capa/capa/safe_exec/README.rst index 9a28480caf..00b81ca15f 100644 --- a/common/lib/capa/capa/safe_exec/README.rst +++ b/common/lib/capa/capa/safe_exec/README.rst @@ -19,6 +19,8 @@ __ https://github.com/edx/codejail/blob/master/README.rst need to install the requirements from requirements/edx-sandbox:: $ pip install -r requirements/edx-sandbox/base.txt + $ pip install -r requirements/edx-sandbox/local.txt + $ pip install -r requirements/edx-sandbox/post.txt 2. At the instruction to create the AppArmor profile, you'll need a line in the profile for the sandbox packages. is the full path to diff --git a/common/lib/chem/setup.py b/common/lib/chem/setup.py index 005836c1f0..9affb3d665 100644 --- a/common/lib/chem/setup.py +++ b/common/lib/chem/setup.py @@ -8,6 +8,6 @@ setup( "pyparsing==2.2.0", "numpy==1.6.2", "scipy==0.14.0", - "nltk", + "nltk==3.2.5", ], ) diff --git a/openedx.yaml b/openedx.yaml index 930f47bea8..551a97567e 100644 --- a/openedx.yaml +++ b/openedx.yaml @@ -3,5 +3,5 @@ nick: edx oeps: {} -openedx-release: {ref: release} +openedx-release: {ref: release, requirements: requirements/edx/github.txt} track-pulls: true diff --git a/openedx/core/djangoapps/user_api/tests/test_views.py b/openedx/core/djangoapps/user_api/tests/test_views.py index 357f9ad861..74170807b0 100644 --- a/openedx/core/djangoapps/user_api/tests/test_views.py +++ b/openedx/core/djangoapps/user_api/tests/test_views.py @@ -2590,8 +2590,7 @@ class CountryTimeZoneListViewTest(UserApiTestCase): self.assertIn(time_zone_name, common_timezones_set) self.assertEqual(time_zone_info['description'], get_display_time_zone(time_zone_name)) - # The time zones count may need to change each time we upgrade pytz - @ddt.data((ALL_TIME_ZONES_URI, 439), + @ddt.data((ALL_TIME_ZONES_URI, 436), (COUNTRY_TIME_ZONES_URI, 28)) @ddt.unpack def test_get_basic(self, country_uri, expected_count): diff --git a/pavelib/prereqs.py b/pavelib/prereqs.py index 11b85a194a..96dacfa6a7 100644 --- a/pavelib/prereqs.py +++ b/pavelib/prereqs.py @@ -21,10 +21,20 @@ COVERAGE_REQ_FILE = 'requirements/edx/coverage.txt' # If you make any changes to this list you also need to make # a corresponding change to circle.yml, which is how the python # prerequisites are installed for builds on circleci.com +PYTHON_REQ_FILES = [ + 'requirements/edx/pre.txt', + 'requirements/edx/github.txt', + 'requirements/edx/local.txt', + 'requirements/edx/django.txt', + 'requirements/edx/base.txt', + 'requirements/edx/paver.txt', + 'requirements/edx/development.txt', + 'requirements/edx/testing.txt', + 'requirements/edx/post.txt', +] if 'TOXENV' in os.environ: - PYTHON_REQ_FILES = ['requirements/edx/testing.txt'] -else: - PYTHON_REQ_FILES = ['requirements/edx/development.txt'] + # Let tox manage the Django version + PYTHON_REQ_FILES.remove('requirements/edx/django.txt') # Developers can have private requirements, for local copies of github repos, # or favorite debugging tools, etc. diff --git a/pavement.py b/pavement.py index f13ab8a7aa..a0f0c59503 100644 --- a/pavement.py +++ b/pavement.py @@ -6,7 +6,7 @@ import os # In local dev, we usually don't need to do this, because Python # automatically puts the current working directory on the system path. # In Jenkins, however, we have multiple copies of the edx-platform repo, -# each of which run "pip install -e ." (as part of requirements/edx/local.in) +# each of which run "pip install -e ." (as part of requirements/edx/local.txt) # Until we re-run pip install, the other copies of edx-platform could # take precedence, leading to some very strange results. sys.path.insert(0, os.path.dirname(__file__)) diff --git a/requirements/edx-sandbox/base.in b/requirements/edx-sandbox/base.in deleted file mode 100644 index 39df686604..0000000000 --- a/requirements/edx-sandbox/base.in +++ /dev/null @@ -1,11 +0,0 @@ -# Packages to install in the Python sandbox for secured execution of code provided by course authors. -# -# 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 shared.txt # Dependencies in common with LMS and Studio -matplotlib==1.3.1 # 2D plotting library diff --git a/requirements/edx-sandbox/base.txt b/requirements/edx-sandbox/base.txt index eba6c093a6..5852d1a74b 100644 --- a/requirements/edx-sandbox/base.txt +++ b/requirements/edx-sandbox/base.txt @@ -1,33 +1,16 @@ +# DON'T JUST ADD NEW DEPENDENCIES!!! # -# This file is autogenerated by pip-compile -# To update, run: -# -# make upgrade -# +# If you open a pull request that adds a new dependency, you should notify: +# * @edx/ospr - to check licensing +# * @edx/devops - to check system requirements + +# Pin packaging tools the same as edxapp. Keep them in sync for our sanity. +setuptools==37.0.0 +pip==9.0.1 --e common/lib/calc --e common/lib/chem --e common/lib/sandbox-packages --e common/lib/symmath -asn1crypto==0.24.0 -backports-abc==0.5 # via tornado -cffi==1.11.5 -cryptography==2.1.4 -enum34==1.1.6 -futures==3.2.0 # via tornado -idna==2.6 -ipaddress==1.0.19 -lxml==3.8.0 -matplotlib==1.3.1 -networkx==1.7 nltk==3.2.5 -nose==1.3.7 # via matplotlib numpy==1.6.2 -pycparser==2.18 -pyparsing==2.0.7 -python-dateutil==2.7.2 # via matplotlib -scipy==0.14.0 -singledispatch==3.4.0.3 # via tornado -six==1.11.0 +networkx==1.7 sympy==0.7.1 -tornado==5.0.2 # via matplotlib +pyparsing==2.2.0 +cryptography==1.9 diff --git a/requirements/edx-sandbox/local.txt b/requirements/edx-sandbox/local.txt index 006a8306f8..e999a22064 100644 --- a/requirements/edx-sandbox/local.txt +++ b/requirements/edx-sandbox/local.txt @@ -1,3 +1,13 @@ -# Placeholder for code which hasn't yet been updated to no longer use this file. -# The requirements which were here have been moved to shared.in, and are now -# incorporated into base.txt +# DON'T JUST ADD NEW DEPENDENCIES!!! +# +# If you open a pull request that adds a new dependency, you should notify: +# * @edx/ospr - to check licensing +# * @edx/devops - to check system requirements + +# Install these packages from the edx-platform working tree +# NOTE: if you change code in these packages, you MUST change the version +# number in its setup.py or the code WILL NOT be installed during deploy. +common/lib/calc +common/lib/chem +common/lib/sandbox-packages +common/lib/symmath diff --git a/requirements/edx-sandbox/post.txt b/requirements/edx-sandbox/post.txt index fbc5ec24d6..fa83a3b2d2 100644 --- a/requirements/edx-sandbox/post.txt +++ b/requirements/edx-sandbox/post.txt @@ -1,3 +1,11 @@ -# Placeholder for code which hasn't yet been updated to no longer use this file. -# The requirements which were here have been moved to shared.in and base.in, -# and are now incorporated into base.txt +# DON'T JUST ADD NEW DEPENDENCIES!!! +# +# If you open a pull request that adds a new dependency, you should notify: +# * @edx/ospr - to check licensing +# * @edx/devops - to check system requirements + +# Packages to install in the Python sandbox for secured execution. +scipy==0.14.0 +# lxml is also in requirements/edx/base.txt +lxml==3.8.0 +matplotlib==1.3.1 diff --git a/requirements/edx-sandbox/shared.in b/requirements/edx-sandbox/shared.in deleted file mode 100644 index 401c57505d..0000000000 --- a/requirements/edx-sandbox/shared.in +++ /dev/null @@ -1,25 +0,0 @@ -# Core dependencies shared between Python sandboxes for secured execution and edx-platform. -# -# 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 - -cryptography==2.1.4 # Implementations of assorted cryptography algorithms -lxml==3.8.0 # XML parser -networkx==1.7 # Utilities for creating, manipulating, and studying network graphs -nltk # Natural language processing; used by the chem package -numpy==1.6.2 # Numeric array processing utilities; used by calc, chem, and scipy -pyparsing # Python parsing library; used by the calc package -sympy==0.7.1 # Symbolic math library; used by the calc package -scipy==0.14.0 # Math, science, and engineering library; used by the calc package - -# Install these packages from the edx-platform working tree -# NOTE: if you change code in these packages, you MUST change the version -# number in its setup.py or the code WILL NOT be installed during deploy. --e common/lib/calc --e common/lib/chem --e common/lib/sandbox-packages --e common/lib/symmath diff --git a/requirements/edx-sandbox/shared.txt b/requirements/edx-sandbox/shared.txt deleted file mode 100644 index 92dad3f3e1..0000000000 --- a/requirements/edx-sandbox/shared.txt +++ /dev/null @@ -1,26 +0,0 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# make upgrade -# - --e common/lib/calc --e common/lib/chem --e common/lib/sandbox-packages --e common/lib/symmath -asn1crypto==0.24.0 # via cryptography -cffi==1.11.5 # via cryptography -cryptography==2.1.4 -enum34==1.1.6 # via cryptography -idna==2.6 # via cryptography -ipaddress==1.0.19 # via cryptography -lxml==3.8.0 -networkx==1.7 -nltk==3.2.5 -numpy==1.6.2 -pycparser==2.18 # via cffi -pyparsing==2.0.7 -scipy==0.14.0 -six==1.11.0 # via cryptography, nltk -sympy==0.7.1 diff --git a/requirements/edx/base.in b/requirements/edx/base.in deleted file mode 100644 index 7c30a118c5..0000000000 --- a/requirements/edx/base.in +++ /dev/null @@ -1,189 +0,0 @@ -# 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==1.1.0 # Used for Segment analytics -attrs==17.2.0 # Reduces boilerplate code involving class attributes -Babel==1.3 # Internationalization utilities -beautifulsoup4==4.1.3 # Library for extracting data from HTML and XML files -bleach==1.4 # Allowed-list-based HTML sanitizing library that escapes or strips markup and attributes -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==0.4.1 # XML bomb protection for common XML parsers -Django==1.11.12 # Web application framework -django-babel-underscore # underscore template extractor for django-babel (internationalization utilities) -django-birdcage # CSRF token forwards compatibility for the Django 1.11 upgrade; can be removed after that -django-config-models==0.1.8 # 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-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==1.1.0 # Get the client's real IP address -django-memcached-hashring -django-method-override==0.1.0 -django-model-utils==3.0.0 -django-mptt>=0.8.6,<0.9 -django-oauth-toolkit==0.12.0 -django-pyfs -django-ratelimit -django-ratelimit-backend==1.1.1 -django-require -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==0.4.1 -djangorestframework-jwt -docutils -dogapi==1.2.1 # Python bindings to Datadog's API, for metrics gathering -enum34==1.1.6 -edx-ace -edx-analytics-data-api-client -edx-ccx-keys -edx-celeryutils -edx-completion -edx-django-release-util # Release utils for the edx release pipeline -edx-drf-extensions -edx-i18n-tools==0.4.2 -edx-django-oauth2-provider==1.2.5 -edx-django-sites-extensions==2.3.1 -edx-enterprise -edx-milestones -edx-oauth2-provider -edx-organizations -edx-proctoring -edx-rest-api-client -edx-search -edx-submissions -edx-user-state-client -edxval -enum34 -event-tracking -feedparser==5.1.3 -firebase-token-generator==1.3.2 -fs==2.0.18 -fs-s3fs==0.1.8 -futures ; python_version == "2.7" # via django-pipeline, python-swift-client, s3transfer -GitPython==0.3.2.RC1 -glob2==0.3 -gunicorn==0.17.4 -help-tokens -html5lib==0.999 # HTML parser, used for capa problems -ipaddr==2.1.11 # Ip network support for Embargo feature -jsonfield # Django model field for validated JSON; used in several apps -mailsnake==1.6.2 # 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 -MySQL-python # Driver for the default production relational database -newrelic==2.106.1.88 # New Relic agent for performance monitoring -numpy==1.6.2 # Fast numeric array computation, used in some problem types -oauthlib==2.0.1 # OAuth specification support for authenticating via LTI or other Open edX services -pdfminer # Used in shoppingcart for extracting/parsing pdf text -piexif==1.0.2 # Exif image metadata manipulation, used in the profile_images app -Pillow==3.4 # Image manipulation library; used for course assets, profile images, invoice PDFs, etc. -polib==1.0.3 # Library for manipulating gettext translation files, used to test paver i18n commands -py2neo # Used to communicate with Neo4j, which is used internally for modulestore inspection -pycountry==1.20 -pycryptodomex==3.4.7 -pygments==2.2.0 -pygraphviz==1.1 -pyjwkest==1.3.2 -# TODO Replace PyJWT usage with pyjwkest -PyJWT==1.5.2 -pymongo # MongoDB driver -pynliner==0.5.2 # Inlines CSS styles into HTML for email notifications -python-dateutil==2.4 -python-Levenshtein -python-openid -python-saml -pyuca==1.1 -reportlab==3.1.44 # Used for shopping cart's pdf invoice/receipt generation -social-auth-app-django==1.2.0 -social-auth-core==1.4.0 -pysrt==0.4.7 -pytz==2016.10 # Time zone information database -PyYAML # Used to parse XModule resource templates -redis==2.10.6 # celery task broker -requests-oauthlib==0.6.1 -rules # Django extension for rules-based authorization checks -s3transfer==0.1.12 -sailthru-client==2.2.3 # For Sailthru integration -Shapely==1.2.16 -singledispatch==3.4.0.2 -six -sorl-thumbnail==12.3 -sortedcontainers==0.9.2 -stevedore -sure==1.2.3 -unicodecsv -user-util # Functionality for retiring users (GDPR compliance) -web-fragments # Provides the ability to render fragments of web pages -XBlock==1.1.1 # Courseware component architecture -xblock-review # XBlock which displays problems from earlier in the course for ungraded retries -xmltodict==0.4.1 -zendesk - -# Move these to development.in? -django-debug-toolbar==1.8 # A set of panels that display debug information about the current request/response -sphinx==1.1.3 # Documentation builder -sphinx_rtd_theme==0.1.5 # Documentation theme; should replace with edx-sphinx-theme -transifex-client==0.12.1 # Command-line interface for the Transifex localization service - -# Move these to testing.in? -before_after==0.1.3 -bok-choy -chrono -cssselect==0.9.1 # via pyquery -ddt==0.8.0 -django-crum -django_nose==1.4.1 -factory_boy==2.8.1 -flaky -freezegun==0.3.8 -httpretty # Library for mocking HTTP requests, used in many tests -moto==0.3.1 -needle -nodeenv==1.1.1 -nose -nose-exclude -nose-faulthandler -nose-ignore-docstring -nose-randomly==1.2.0 -nose-xunitmp==0.3.2 -pep8==1.5.7 -PyContracts==1.7.1 -pyquery==1.2.9 -python-subunit==0.0.16 -radon==1.3.2 -selenium -splinter==0.5.4 -testfixtures==4.5.0 -testtools==0.9.34 diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 5eadde8261..2fe75b78d8 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -1,285 +1,234 @@ +# DON'T JUST ADD NEW DEPENDENCIES!!! # -# This file is autogenerated by pip-compile -# To update, run: -# -# make upgrade -# +# If you open a pull request that adds a new dependency, you should notify: +# * @edx/ospr - to check licensing +# * @edx/devops - to check system requirements --e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock --e common/lib/calc --e common/lib/capa --e common/lib/chem --e git+https://github.com/edx/codejail.git@a320d43ce6b9c93b17636b2491f724d9e433be47#egg=codejail -git+https://github.com/solashirai/crowdsourcehinter.git@518605f0a95190949fe77bd39158450639e2e1dc#egg=crowdsourcehinter-xblock==0.1 -git+https://github.com/mitodl/django-cas.git@afac57bc523f145ae826f4ed3d4fa8b2c86c5364#egg=django-cas==2.1.1 -git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2 -git+https://github.com/hmarr/django-debug-toolbar-mongo.git@b0686a76f1ce3532088c4aee6e76b9abe61cc808#egg=django-debug-toolbar-mongo==0.1.10 -git+https://github.com/edx/django-oauth-plus.git@01ec2a161dfc3465f9d35b9211ae790177418316#egg=django-oauth-plus==2.2.9.edx-1 -git+https://github.com/edx/django-openid-auth.git@0.15.1#egg=django-openid-auth==0.15.1 -git+https://github.com/jazzband/django-pipeline.git@d068a019169c9de5ee20ece041a6dea236422852#egg=django-pipeline==1.5.3 --e git+https://github.com/edx/django-wiki.git@v0.0.17#egg=django-wiki -git+https://github.com/edx/django-rest-framework-oauth.git@0a43e8525f1e3048efe4bc70c03de308a277197c#egg=djangorestframework-oauth==1.1.1 -git+https://github.com/edx/django-rest-framework.git@1ceda7c086fddffd1c440cc86856441bbf0bd9cb#egg=djangorestframework==3.6.3 --e common/lib/dogstats --e git+https://github.com/edx/DoneXBlock.git@01a14f3bd80ae47dd08cdbbe2f88f3eb88d00fba#egg=done-xblock --e git+https://github.com/jazkarta/edx-jsme.git@690dbf75441fa91c7c4899df0b83d77f7deb5458#egg=edx-jsme -git+https://github.com/mitodl/edx-sga.git@6b2f7aa2a18206023c8407e2c46f86d4b4c3ac96#egg=edx-sga==0.8.0 -git+https://github.com/edx/lettuce.git@31b0dfd865766243e9b563ec65fae9122edf7975#egg=lettuce==0.2.23+edx.1 -git+https://github.com/edx/xblock-lti-consumer.git@v1.1.7#egg=lti_consumer-xblock==1.1.7 -git+https://github.com/edx/MongoDBProxy.git@25b99097615bda06bd7cdfe5669ed80dc2a7fed0#egg=MongoDBProxy==0.1.0 --e . -git+https://github.com/edx/edx-ora2.git@2.1.14#egg=ora2==2.1.14 --e git+https://github.com/dgrtwo/ParsePy.git@7949b9f754d1445eff8e8f20d0e967b9a6420639#egg=parse_rest --e git+https://github.com/appliedsec/pygeoip.git@95e69341cebf5a6a9fbf7c4f5439d458898bdc3b#egg=pygeoip --e git+https://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev --e git+https://github.com/edx/RateXBlock.git@367e19c0f6eac8a5f002fd0f1559555f8e74bfff#egg=rate-xblock -git+https://github.com/edx/RecommenderXBlock.git@1.3#egg=recommender-xblock==1.3 -git+https://github.com/edx/rfc6266.git@v0.0.5-edx#egg=rfc6266==0.0.5-edx --e common/lib/safe_lxml --e common/lib/sandbox-packages --e common/lib/symmath --e openedx/core/lib/xblock_builtin/xblock_discussion -git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@2.1.5#egg=xblock-drag-and-drop-v2==2.1.5 --e git+https://github.com/edx-solutions/xblock-google-drive.git@138e6fa0bf3a2013e904a085b9fed77dab7f3f21#egg=xblock-google-drive -git+https://github.com/open-craft/xblock-poll@7ba819b968fe8faddb78bb22e1fe7637005eb414#egg=xblock-poll==1.2.7 -git+https://github.com/edx/xblock-utils.git@v1.0.5#egg=xblock-utils==1.0.5 --e common/lib/xmodule -amqp==1.4.9 # via kombu -analytics-python==1.1.0 -anyjson==0.3.3 # via kombu -appdirs==1.4.3 # via fs -argh==0.26.2 -argparse==1.4.0 -asn1crypto==0.24.0 +appdirs==1.4.3 attrs==17.2.0 -babel==1.3 beautifulsoup4==4.1.3 -beautifulsoup==3.2.1 # via pynliner -before_after==0.1.3 -billiard==3.3.0.23 # via celery +beautifulsoup==3.2.1 bleach==1.4 -bok-choy==0.7.2 -boto3==1.4.8 +html5lib==0.999 boto==2.39.0 +boto3==1.4.8 botocore==1.8.17 -celery==3.1.25 -cffi==1.11.5 -charade==1.0.3 # via pysrt -chrono==1.0.2 -click==6.7 # via flask, user-util -colorama==0.3.9 # via radon -cryptography==2.1.4 +celery==3.1.18 +cryptography==1.9 cssselect==0.9.1 -cssutils==1.0.2 # via pynliner -ddt==0.8.0 -decorator==4.2.1 # via dogapi, pycontracts defusedxml==0.4.1 -dicttoxml==1.7.4 # via moto -django-appconf==1.0.2 # via django-statici18n django-babel-underscore==0.5.2 -django-babel==0.6.2 # via django-babel-underscore +markey==0.8 # From django-babel-underscore django-birdcage==1.0.0 -django-braces==1.12.0 # via django-oauth-toolkit -django-classy-tags==0.8.0 # via django-sekizai django-config-models==0.1.8 -django-cors-headers==2.1.0 django-countries==4.6.1 -django-crum==0.7.2 -django-debug-toolbar==1.8 django-fernet-fields==0.5 django-filter==1.0.4 django-ipware==1.1.0 -django-memcached-hashring==0.1.2 -django-method-override==0.1.0 django-model-utils==3.0.0 -django-mptt==0.8.7 -django-multi-email-field==0.5.1 # via edx-enterprise +django-mptt>=0.8.6,<0.9 django-oauth-toolkit==0.12.0 -django-object-actions==0.10.0 # via edx-enterprise django-pyfs==2.0 -django-ratelimit-backend==1.1.1 django-ratelimit==1.1.0 -django-require==1.0.11 -django-sekizai==0.10.0 +django-sekizai>=0.10 django-ses==0.8.4 -django-simple-history==2.0 +django-simple-history==1.9.0 django-splash==0.2.2 django-statici18n==1.4.0 django-storages==1.4.1 +django-method-override==0.1.0 django-user-tasks==0.1.5 django-waffle==0.12.0 -django-webpack-loader==0.4.1 -django==1.11.12 -django_nose==1.4.1 djangorestframework-jwt==1.11.0 -djangorestframework-xml==1.3.0 # via edx-enterprise -dm.xmlsec.binding==1.3.3 # via python-saml -docopt==0.6.2 docutils==0.14 -dogapi==1.2.1 +enum34==1.1.6 edx-ace==0.1.6 -edx-analytics-data-api-client==0.14.4 +edx-analytics-data-api-client==0.14.3 edx-ccx-keys==0.2.1 edx-celeryutils==0.2.7 +edx-drf-extensions==1.2.4 +edx-i18n-tools==0.4.2 +edx-lint==0.5.4 + +# Pin this to test a fix to pylint-django +git+https://github.com/cpennington/pylint-django@fix-field-inference-during-monkey-patching#egg=pylint-django==0.0 + +enum34==1.1.6 edx-completion==0.1.5 edx-django-oauth2-provider==1.2.5 -edx-django-release-util==0.3.1 edx-django-sites-extensions==2.3.1 -edx-drf-extensions==1.2.5 edx-enterprise==0.67.3 -edx-i18n-tools==0.4.2 edx-milestones==0.1.13 edx-oauth2-provider==1.2.2 -edx-opaque-keys[django]==0.4.4 -edx-organizations==0.4.10 +edx-organizations==0.4.9 edx-proctoring==1.3.9 edx-rest-api-client==1.7.1 edx-search==1.1.0 edx-submissions==2.0.12 edx-user-state-client==1.0.3 edxval==0.1.12 -elasticsearch==1.9.0 # via edx-search -enum34==1.1.6 event-tracking==0.2.4 -extras==1.0.0 # via python-subunit, testtools -factory_boy==2.8.1 -faker==0.8.12 # via factory-boy -faulthandler==3.0 # via nose-faulthandler feedparser==5.1.3 firebase-token-generator==1.3.2 -flaky==3.4.0 -flask==0.12.2 # via moto -freezegun==0.3.8 -fs-s3fs==0.1.8 -fs==2.0.18 -future==0.16.0 # via pyjwkest +fs==2.0.17 +fs-s3fs==0.1.5 futures==3.2.0 ; python_version == "2.7" -fuzzywuzzy==0.16.0 -gitdb==0.6.4 # via gitpython -gitpython==0.3.2.rc1 +GitPython==0.3.2.RC1 glob2==0.3 gunicorn==0.17.4 -hash-ring==1.3.1 # via django-memcached-hashring help-tokens==1.0.3 -html5lib==0.999 -httplib2==0.11.3 # via oauth2, zendesk httpretty==0.8.14 -idna==2.6 -ipaddr==2.1.11 -ipaddress==1.0.19 -isodate==0.6.0 # via python-saml -itsdangerous==0.24 # via flask -jinja2==2.10 # via flask, moto, sphinx -jmespath==0.9.3 # via boto3, botocore -jsondiff==1.1.1 # via edx-enterprise -jsonfield==2.0.2 -kombu==3.0.37 # via celery +jmespath==0.9.3 lazy==1.1 -lepl==5.1.3 -libsass==0.10.0 -loremipsum==1.0.5 -lxml==3.8.0 -mailsnake==1.6.2 mako==1.0.2 -mando==0.3.3 # via radon -markdown==2.6.11 -markey==0.8 # via django-babel-underscore -markupsafe==1.0 -mock==1.0.1 +Markdown>=2.6,<2.7 mongoengine==0.10.0 -moto==0.3.1 -mysql-python==1.2.5 -needle==0.5.0 +MySQL-python==1.2.5 networkx==1.7 -newrelic==2.106.1.88 -nltk==3.2.5 -nodeenv==1.1.1 -nose-exclude==0.5.0 -nose-faulthandler==0.1 -nose-ignore-docstring==0.2 -nose-randomly==1.2.0 nose-xunitmp==0.3.2 -nose==1.3.7 -numpy==1.6.2 -oauth2==1.9.0.post1 -oauthlib==2.0.1 +oauthlib==1.0.3 path.py==8.2.1 -pathtools==0.1.2 -paver==1.3.4 -pbr==4.0.1 -pdfminer==20140328 -pep8==1.5.7 piexif==1.0.2 -pillow==3.4.0 +Pillow==3.4 polib==1.0.3 psutil==1.2.1 -py2neo==3.1.2 -pycontracts==1.7.1 pycountry==1.20 -pycparser==2.18 pycryptodomex==3.4.7 pygments==2.2.0 pygraphviz==1.1 pyjwkest==1.3.2 -pyjwt==1.5.2 +# TODO Replace PyJWT usage with pyjwkest +PyJWT==1.4.0 pymongo==2.9.1 -pynliner==0.5.2 -pyparsing==2.0.7 -pyquery==1.2.9 -pysrt==0.4.7 -python-dateutil==2.4.0 -python-levenshtein==0.12.0 +pyparsing==2.2.0 python-memcached==1.48 -python-mimeparse==1.6.0 # via testtools +django-memcached-hashring==0.1.2 python-openid==2.2.5 -python-saml==2.4.0 -python-subunit==0.0.16 -python-swiftclient==3.5.0 -pytz==2016.10 -pyuca==1.1 -pyyaml==3.12 -radon==1.3.2 -redis==2.10.6 -reportlab==3.1.44 -requests-oauthlib==0.6.1 -requests==2.9.1 -rules==1.3 -s3transfer==0.1.12 -sailthru-client==2.2.3 -scipy==0.14.0 -selenium==3.11.0 -shapely==1.2.16 -shortuuid==0.5.0 # via edx-django-oauth2-provider -simplejson==3.13.2 # via dogapi, mailsnake, sailthru-client, zendesk -singledispatch==3.4.0.2 -six==1.11.0 -slumber==0.7.1 # via edx-rest-api-client -smmap==0.9.0 # via gitdb +python-dateutil==2.1 +python-Levenshtein==0.12.0 social-auth-app-django==1.2.0 social-auth-core==1.4.0 +pytz==2016.7 +pysrt==0.4.7 +PyYAML==3.12 +requests-oauthlib==0.4.1 +rules==1.1.1 +s3transfer==0.1.12 +numpy==1.6.2 +scipy==0.14.0 +Shapely==1.2.16 +singledispatch==3.4.0.2 +six>=1.10.0,<2.0.0 sorl-thumbnail==12.3 sortedcontainers==0.9.2 -sphinx==1.1.3 -sphinx_rtd_theme==0.1.5 -splinter==0.5.4 -sqlparse==0.2.4 # via django-debug-toolbar stevedore==1.10.0 sure==1.2.3 sympy==0.7.1 -testfixtures==4.5.0 -testtools==0.9.34 -text-unidecode==1.2 # via faker -transifex-client==0.12.1 -unicodecsv==0.14.1 -urllib3==1.22 # via elasticsearch, transifex-client -user-util==0.1.2 -voluptuous==0.11.1 -watchdog==0.8.3 -web-fragments==0.2.2 -webob==1.8.0 # via xblock -werkzeug==0.14.1 # via flask -wrapt==1.10.5 -xblock-review==1.1.5 -xblock==1.1.1 +user-util==0.1.1 xmltodict==0.4.1 +django-ratelimit-backend==1.1.1 +unicodecsv==0.14.1 +django-require==1.0.11 +django-webpack-loader==0.4.1 +pyuca==1.1 zendesk==1.1.1 + +# XBlocks +xblock-review==1.1.5 + +# lxml is also in requirements/edx-sandbox/post.txt +lxml==3.8.0 + +# Used for shopping cart's pdf invoice/receipt generation +reportlab==3.1.44 + +# Used for extracting/parsing pdf text +pdfminer==20140328 + +# Used for development operation +watchdog==0.8.3 + +# Metrics gathering and monitoring +dogapi==1.2.1 +newrelic==2.106.1.88 + +# Used for documentation gathering +sphinx==1.1.3 +sphinx_rtd_theme==0.1.5 + +# Used for Internationalization and localization +Babel==1.3 +transifex-client==0.12.1 + +# Ip network support for Embargo feature +ipaddr==2.1.11 + +# Used to allow to configure CORS headers for cross-domain requests +django-cors-headers==2.1.0 + +# Debug toolbar +django_debug_toolbar==1.8 +sqlparse>=0.2.0,<0.3.0 + +# Used for testing +before_after==0.1.3 +bok-choy==0.7.2 + +chrono==1.0.2 +ddt==0.8.0 +django-crum==0.7.2 +django_nose==1.4.1 +factory_boy==2.8.1 +flaky==3.4.0 +freezegun==0.3.8 +moto==0.3.1 +needle==0.5.0 +nose==1.3.7 +nose-exclude +nose-ignore-docstring +nose-randomly==1.2.0 +nosexcover==1.0.7 +pa11ycrawler==1.6.2 +pep8==1.5.7 +PyContracts==1.7.1 +python-subunit==0.0.16 +pyquery==1.2.9 +radon==1.3.2 +selenium==3.11.0 +splinter==0.5.4 +testtools==0.9.34 +testfixtures==4.5.0 +nose-faulthandler==0.1 +nodeenv==1.1.1 + +# Used for Segment analytics +analytics-python==1.1.0 + +# Needed for mailchimp(mailing djangoapp) +mailsnake==1.6.2 +jsonfield==2.0.2 + +# Inlines CSS styles into HTML for email notifications. +pynliner==0.5.2 + +# for sailthru integration +sailthru-client==2.2.3 + +# Release utils for the edx release pipeline +edx-django-release-util==0.3.1 + +# Used to communicate with Neo4j, which is used internally for +# modulestore inspection +py2neo==3.1.2 + +# for calculating coverage +-r coverage.txt + +# Support for plugins +web-fragments==0.2.2 +XBlock==1.1.1 + +# Redis version +redis==2.10.6 + +-r base_common.txt diff --git a/requirements/edx/base_common.txt b/requirements/edx/base_common.txt new file mode 100644 index 0000000000..49609ad1c5 --- /dev/null +++ b/requirements/edx/base_common.txt @@ -0,0 +1,12 @@ +# These requirements are needed by both paver.txt and base.txt currently. +# When tox builds an environment with multiple requirements files and finds +# the same package listed multiple times, it'll fail to build the tox environment. +# Using a common base requirements file and '-r' including it in other files +# works around the tox issue. +# +# We plan to move edx-platform to use pip-tools soon and each target will have its +# own requirements files built, which will remove the need for this file. +wrapt==1.10.5 +edx-opaque-keys==0.4.3 +requests==2.9.1 +mock==1.0.1 diff --git a/requirements/edx/coverage.in b/requirements/edx/coverage.in deleted file mode 100644 index d7076b450b..0000000000 --- a/requirements/edx/coverage.in +++ /dev/null @@ -1,13 +0,0 @@ -# Dependencies that are used solely for calculating test coverage. -# These are split out so that if you are only calculating coverage -# then you don't need to install all the rest of the prereqs. -# -# 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 -# -coverage==4.2 # Code coverage testing for Python -diff-cover==0.9.8 # Automatically find diff lines that need test coverage diff --git a/requirements/edx/coverage.txt b/requirements/edx/coverage.txt index 7c30340990..fcfaa5c822 100644 --- a/requirements/edx/coverage.txt +++ b/requirements/edx/coverage.txt @@ -1,15 +1,7 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# Dependencies that are used solely for calculating test coverage. +# These are split out so that if you are only calculating coverage +# then you don't need to install all the rest of the prereqs. # -# make upgrade -# - coverage==4.2 diff-cover==0.9.8 -inflect==0.2.5 # via jinja2-pluralize -jinja2-pluralize==0.3.0 # via diff-cover -jinja2==2.10 # via diff-cover, jinja2-pluralize -markupsafe==1.0 # via jinja2 -pygments==2.2.0 # via diff-cover -six==1.11.0 # via diff-cover diff --git a/requirements/edx/development.in b/requirements/edx/development.in deleted file mode 100644 index ecfe196895..0000000000 --- a/requirements/edx/development.in +++ /dev/null @@ -1,16 +0,0 @@ -# Dependencies that are used in development environments. -# Please do not use this file for packages that are needed in production or for test runs. -# -# These are installed automatically in devstack, and can also be installed manually using: -# -# pip install -r requirements/edx/development.txt -# - --r pip-tools.txt # pip-tools and its dependencies, for managing requirements files --r testing.txt # Dependencies for running the various test suites - -click # Used for perf_tests utilities in modulestore -pyinotify # More efficient checking for runserver reload trigger events - -# Performance timer used in modulestore/perf_tests/test_asset_import_export.py --e git+https://github.com/doctoryes/code_block_timer.git@f3d0629f086bcc649c3c77f4bc5b9c2c8172c3bf#egg=code_block_timer diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt index 36f4c5d3db..5a280758dc 100644 --- a/requirements/edx/development.txt +++ b/requirements/edx/development.txt @@ -1,336 +1,16 @@ # -# This file is autogenerated by pip-compile -# To update, run: +# Dependencies that are used in development only - and are *NOT* needed to be installed in staging/production. # -# make upgrade +# These are installed automatically in devstack, and can also be installed manually using: +# +# pip install -r requirements/edx/development.txt # --e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock --e common/lib/calc --e common/lib/capa --e common/lib/chem --e git+https://github.com/doctoryes/code_block_timer.git@f3d0629f086bcc649c3c77f4bc5b9c2c8172c3bf#egg=code_block_timer --e git+https://github.com/edx/codejail.git@a320d43ce6b9c93b17636b2491f724d9e433be47#egg=codejail -git+https://github.com/solashirai/crowdsourcehinter.git@518605f0a95190949fe77bd39158450639e2e1dc#egg=crowdsourcehinter-xblock==0.1 -git+https://github.com/mitodl/django-cas.git@afac57bc523f145ae826f4ed3d4fa8b2c86c5364#egg=django-cas==2.1.1 -git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2 -git+https://github.com/hmarr/django-debug-toolbar-mongo.git@b0686a76f1ce3532088c4aee6e76b9abe61cc808#egg=django-debug-toolbar-mongo==0.1.10 -git+https://github.com/edx/django-oauth-plus.git@01ec2a161dfc3465f9d35b9211ae790177418316#egg=django-oauth-plus==2.2.9.edx-1 -git+https://github.com/edx/django-openid-auth.git@0.15.1#egg=django-openid-auth==0.15.1 -git+https://github.com/jazzband/django-pipeline.git@d068a019169c9de5ee20ece041a6dea236422852#egg=django-pipeline==1.5.3 --e git+https://github.com/edx/django-wiki.git@v0.0.17#egg=django-wiki -git+https://github.com/edx/django-rest-framework-oauth.git@0a43e8525f1e3048efe4bc70c03de308a277197c#egg=djangorestframework-oauth==1.1.1 -git+https://github.com/edx/django-rest-framework.git@1ceda7c086fddffd1c440cc86856441bbf0bd9cb#egg=djangorestframework==3.6.3 --e common/lib/dogstats --e git+https://github.com/edx/DoneXBlock.git@01a14f3bd80ae47dd08cdbbe2f88f3eb88d00fba#egg=done-xblock --e git+https://github.com/jazkarta/edx-jsme.git@690dbf75441fa91c7c4899df0b83d77f7deb5458#egg=edx-jsme -git+https://github.com/mitodl/edx-sga.git@6b2f7aa2a18206023c8407e2c46f86d4b4c3ac96#egg=edx-sga==0.8.0 -git+https://github.com/edx/lettuce.git@31b0dfd865766243e9b563ec65fae9122edf7975#egg=lettuce==0.2.23+edx.1 -git+https://github.com/edx/xblock-lti-consumer.git@v1.1.7#egg=lti_consumer-xblock==1.1.7 -git+https://github.com/edx/MongoDBProxy.git@25b99097615bda06bd7cdfe5669ed80dc2a7fed0#egg=MongoDBProxy==0.1.0 --e . -git+https://github.com/edx/edx-ora2.git@2.1.14#egg=ora2==2.1.14 --e git+https://github.com/dgrtwo/ParsePy.git@7949b9f754d1445eff8e8f20d0e967b9a6420639#egg=parse_rest --e git+https://github.com/appliedsec/pygeoip.git@95e69341cebf5a6a9fbf7c4f5439d458898bdc3b#egg=pygeoip --e git+https://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev --e git+https://github.com/edx/RateXBlock.git@367e19c0f6eac8a5f002fd0f1559555f8e74bfff#egg=rate-xblock -git+https://github.com/edx/RecommenderXBlock.git@1.3#egg=recommender-xblock==1.3 -git+https://github.com/edx/rfc6266.git@v0.0.5-edx#egg=rfc6266==0.0.5-edx --e common/lib/safe_lxml --e common/lib/sandbox-packages --e common/lib/symmath --e openedx/core/lib/xblock_builtin/xblock_discussion -git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@2.1.5#egg=xblock-drag-and-drop-v2==2.1.5 --e git+https://github.com/edx-solutions/xblock-google-drive.git@138e6fa0bf3a2013e904a085b9fed77dab7f3f21#egg=xblock-google-drive -git+https://github.com/open-craft/xblock-poll@7ba819b968fe8faddb78bb22e1fe7637005eb414#egg=xblock-poll==1.2.7 -git+https://github.com/edx/xblock-utils.git@v1.0.5#egg=xblock-utils==1.0.5 --e common/lib/xmodule -amqp==1.4.9 -analytics-python==1.1.0 -anyjson==0.3.3 -apipkg==1.4 -appdirs==1.4.3 -argh==0.26.2 -argparse==1.4.0 -asn1crypto==0.24.0 -astroid==1.5.2 -attrs==17.2.0 -babel==1.3 -backports.functools-lru-cache==1.5 -beautifulsoup4==4.1.3 -beautifulsoup==3.2.1 -before_after==0.1.3 -billiard==3.3.0.23 -bleach==1.4 -bok-choy==0.7.2 -boto3==1.4.8 -boto==2.39.0 -botocore==1.8.17 -celery==3.1.25 -cffi==1.11.5 -charade==1.0.3 -chrono==1.0.2 -click-log==0.1.8 -click==6.7 -colorama==0.3.9 -configparser==3.5.0 -constantly==15.1.0 -coverage==4.2 -cryptography==2.1.4 -cssselect==0.9.1 -cssutils==1.0.2 -ddt==0.8.0 -decorator==4.2.1 -defusedxml==0.4.1 -dicttoxml==1.7.4 -diff-cover==0.9.8 -django-appconf==1.0.2 -django-babel-underscore==0.5.2 -django-babel==0.6.2 -django-birdcage==1.0.0 -django-braces==1.12.0 -django-classy-tags==0.8.0 -django-config-models==0.1.8 -django-cors-headers==2.1.0 -django-countries==4.6.1 -django-crum==0.7.2 -django-debug-toolbar==1.8 -django-fernet-fields==0.5 -django-filter==1.0.4 -django-ipware==1.1.0 -django-memcached-hashring==0.1.2 -django-method-override==0.1.0 -django-model-utils==3.0.0 -django-mptt==0.8.7 -django-multi-email-field==0.5.1 -django-oauth-toolkit==0.12.0 -django-object-actions==0.10.0 -django-pyfs==2.0 -django-ratelimit-backend==1.1.1 -django-ratelimit==1.1.0 -django-require==1.0.11 -django-sekizai==0.10.0 -django-ses==0.8.4 -django-simple-history==2.0 -django-splash==0.2.2 -django-statici18n==1.4.0 -django-storages==1.4.1 -django-user-tasks==0.1.5 -django-waffle==0.12.0 -django-webpack-loader==0.4.1 -django==1.11.12 -django_nose==1.4.1 -djangorestframework-jwt==1.11.0 -djangorestframework-xml==1.3.0 -dm.xmlsec.binding==1.3.3 -docopt==0.6.2 -docutils==0.14 -dogapi==1.2.1 -edx-ace==0.1.6 -edx-analytics-data-api-client==0.14.4 -edx-ccx-keys==0.2.1 -edx-celeryutils==0.2.7 -edx-completion==0.1.5 -edx-django-oauth2-provider==1.2.5 -edx-django-release-util==0.3.1 -edx-django-sites-extensions==2.3.1 -edx-drf-extensions==1.2.5 -edx-enterprise==0.67.3 -edx-i18n-tools==0.4.2 -edx-lint==0.5.4 -edx-milestones==0.1.13 -edx-oauth2-provider==1.2.2 -edx-opaque-keys[django]==0.4.4 -edx-organizations==0.4.10 -edx-proctoring==1.3.9 -edx-rest-api-client==1.7.1 -edx-search==1.1.0 -edx-submissions==2.0.12 -edx-user-state-client==1.0.3 -edxval==0.1.12 -elasticsearch==1.9.0 -enum34==1.1.6 -event-tracking==0.2.4 -execnet==1.5.0 -extras==1.0.0 -factory_boy==2.8.1 -faker==0.8.12 -faulthandler==3.0 -feedparser==5.1.3 -firebase-token-generator==1.3.2 -first==2.0.1 -flaky==3.4.0 -flask==0.12.2 -freezegun==0.3.8 -fs-s3fs==0.1.8 -fs==2.0.18 -future==0.16.0 -futures==3.2.0 ; python_version == "2.7" -fuzzywuzzy==0.16.0 -gitdb==0.6.4 -gitpython==0.3.2.rc1 -glob2==0.3 -gunicorn==0.17.4 -hash-ring==1.3.1 -help-tokens==1.0.3 -html5lib==0.999 -httplib2==0.11.3 -httpretty==0.8.14 -idna==2.6 -incremental==17.5.0 -inflect==0.2.5 -ipaddr==2.1.11 -ipaddress==1.0.19 -isodate==0.6.0 +# Python libraries to install directly from github / PyPi + +click==3.3 isort==4.2.5 -itsdangerous==0.24 -jinja2-pluralize==0.3.0 -jinja2==2.10 -jmespath==0.9.3 -jsondiff==1.1.1 -jsonfield==2.0.2 -kombu==3.0.37 -lazy-object-proxy==1.3.1 -lazy==1.1 -lepl==5.1.3 -libsass==0.10.0 -loremipsum==1.0.5 -lxml==3.8.0 -mailsnake==1.6.2 -mako==1.0.2 -mando==0.3.3 -markdown==2.6.11 -markey==0.8 -markupsafe==1.0 -mccabe==0.6.1 -mock==1.0.1 -mongoengine==0.10.0 -moto==0.3.1 -mysql-python==1.2.5 -needle==0.5.0 -networkx==1.7 -newrelic==2.106.1.88 -nltk==3.2.5 -nodeenv==1.1.1 -nose-exclude==0.5.0 -nose-faulthandler==0.1 -nose-ignore-docstring==0.2 -nose-randomly==1.2.0 -nose-xunitmp==0.3.2 -nose==1.3.7 -numpy==1.6.2 -oauth2==1.9.0.post1 -oauthlib==2.0.1 -pa11ycrawler==1.6.2 -parsel==1.4.0 -path.py==8.2.1 -pathtools==0.1.2 -paver==1.3.4 -pbr==4.0.1 -pdfminer==20140328 -pep8==1.5.7 -piexif==1.0.2 -pillow==3.4.0 -pip-tools==1.11.0 -pluggy==0.6.0 -polib==1.0.3 -psutil==1.2.1 -py2neo==3.1.2 -py==1.5.3 -pyasn1-modules==0.2.1 -pyasn1==0.4.2 -pycontracts==1.7.1 -pycountry==1.20 -pycparser==2.18 -pycryptodomex==3.4.7 -pydispatcher==2.0.5 -pygments==2.2.0 -pygraphviz==1.1 pyinotify==0.9.6 -pyjwkest==1.3.2 -pyjwt==1.5.2 -pylint-celery==0.3 -pylint-django==0.7.2 -pylint-plugin-utils==0.2.6 -pylint==1.7.1 -pymongo==2.9.1 -pynliner==0.5.2 -pyopenssl==17.5.0 -pyparsing==2.0.7 -pyquery==1.2.9 -pysqlite==2.8.3 -pysrt==0.4.7 -pytest-attrib==0.1.3 -pytest-catchlog==1.2.2 -pytest-cov==2.5.1 -pytest-django==3.1.2 -pytest-forked==0.2 -pytest-randomly==1.2.1 -pytest-xdist==1.20.0 -pytest==3.1.3 -python-dateutil==2.4.0 -python-levenshtein==0.12.0 -python-memcached==1.48 -python-mimeparse==1.6.0 -python-openid==2.2.5 -python-saml==2.4.0 -python-subunit==0.0.16 -python-swiftclient==3.5.0 -pytz==2016.10 -pyuca==1.1 -pyyaml==3.12 -queuelib==1.5.0 -radon==1.3.2 -redis==2.10.6 -reportlab==3.1.44 -requests-oauthlib==0.6.1 -requests==2.9.1 -rules==1.3 -s3transfer==0.1.12 -sailthru-client==2.2.3 -scipy==0.14.0 -scrapy==1.1.2 -selenium==3.11.0 -service-identity==17.0.0 -shapely==1.2.16 -shortuuid==0.5.0 -simplejson==3.13.2 -singledispatch==3.4.0.2 -six==1.11.0 -slumber==0.7.1 -smmap==0.9.0 -social-auth-app-django==1.2.0 -social-auth-core==1.4.0 -sorl-thumbnail==12.3 -sortedcontainers==0.9.2 -sphinx==1.1.3 -sphinx_rtd_theme==0.1.5 -splinter==0.5.4 -sqlparse==0.2.4 -stevedore==1.10.0 -sure==1.2.3 -sympy==0.7.1 -testfixtures==4.5.0 -testtools==0.9.34 -text-unidecode==1.2 -tox-battery==0.5 -tox==2.8.2 -transifex-client==0.12.1 -twisted==16.6.0 -unicodecsv==0.14.1 -urllib3==1.22 -urlobject==2.4.3 -user-util==0.1.2 -virtualenv==15.2.0 -voluptuous==0.11.1 -w3lib==1.19.0 -watchdog==0.8.3 -web-fragments==0.2.2 -webob==1.8.0 -werkzeug==0.14.1 -wrapt==1.10.5 -xblock-review==1.1.5 -xblock==1.1.1 -xmltodict==0.4.1 -zendesk==1.1.1 -zope.interface==4.4.3 + +# Third-party: +-e git+https://github.com/doctoryes/code_block_timer.git@f3d0629f086bcc649c3c77f4bc5b9c2c8172c3bf#egg=code_block_timer diff --git a/requirements/edx/django.txt b/requirements/edx/django.txt index 41e9fd2c2e..b092a3d935 100644 --- a/requirements/edx/django.txt +++ b/requirements/edx/django.txt @@ -1 +1 @@ -django==1.11.12 +Django==1.11.12 diff --git a/requirements/edx/github.in b/requirements/edx/github.in deleted file mode 100644 index de309e1e6d..0000000000 --- a/requirements/edx/github.in +++ /dev/null @@ -1,114 +0,0 @@ -# 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 -# -# Do *NOT* install Python packages from GitHub unless it's absolutely necessary! -# "I don't have time to add automatic Travis upload to PyPI." is *not* an -# acceptable excuse. Non-wheel module installations slow down the dev/building process. -# Travis/PyPI instructions are here: -# https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/41911049/Publishing+a+Package+to+PyPI+using+Travis -# -# A correct GitHub reference looks like this: -# -# -e git+https://github.com/OWNER/REPO-NAME.git@TAG-OR-SHA#egg=DIST-NAME==VERSION -# -# For example: -# -# -e git+https://github.com/edx/edx-lint.git@v0.3.2#egg=edx_lint==0.3.2 -# -# where: -# -# OWNER = edx -# REPO-NAME = edx-lint -# TAG-OR-SHA = v0.3.2 -# DIST-NAME = edx_lint -# VERSION = 0.3.2 -# -# -# Rules to follow (even though many URLs here don't follow them!): -# -# * Don't leave out any of these pieces. -# -# * The "-e" prefix is primarily for the benefit of pip-compile, which does -# not yet support non-editable GitHub URLs. If a VERSION is correctly -# specified as shown above, the "-e" prefix will be stripped from the -# output file by the post-pip-compile.sh script. (Note that we previously -# recommended omitting this prefix, and will again if the relevant -# pip-tools issue is fixed.) -# -# * TAG-OR-SHA is the specific commit to install. It must be a git tag, -# or a git SHA commit hash. Don't use branch names here. If OWNER is -# not an edX organization, then it must be a SHA. If you use a SHA, -# please make sure there is a tag associated with it, so the commit can't -# be lost during rebase. -# -# * DIST-NAME is the distribution name, the same name you'd use in a -# "pip install" command. It might be different than REPO-NAME. It must -# be the same as the `name="DIST-NAME"` value in the repo's setup.py. -# -# * VERSION might not be the same as TAG-OR-SHA, but if the tag names the -# version, please make it match the VERSION, but with a "v" prefix. -# VERSION must be the same as the `version="VERSION"` value in the repo's -# setup.py. An alternative is to use 0.0 as VERSION: this forces pip to -# re-install the package each time, and can be useful when working with two -# repos before picking a version number. Don't use 0.0 on master, only for -# tight-loop work in progress. - - -# Python libraries to install directly from github - -# Third-party: --e git+https://github.com/jazzband/django-pipeline.git@d068a019169c9de5ee20ece041a6dea236422852#egg=django-pipeline==1.5.3 --e git+https://github.com/edx/django-wiki.git@v0.0.17#egg=django-wiki --e git+https://github.com/edx/django-openid-auth.git@0.15.1#egg=django-openid-auth==0.15.1 --e git+https://github.com/edx/MongoDBProxy.git@25b99097615bda06bd7cdfe5669ed80dc2a7fed0#egg=MongoDBProxy==0.1.0 --e git+https://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev --e git+https://github.com/appliedsec/pygeoip.git@95e69341cebf5a6a9fbf7c4f5439d458898bdc3b#egg=pygeoip --e git+https://github.com/jazkarta/edx-jsme.git@690dbf75441fa91c7c4899df0b83d77f7deb5458#egg=edx-jsme --e git+https://github.com/mitodl/django-cas.git@afac57bc523f145ae826f4ed3d4fa8b2c86c5364#egg=django-cas==2.1.1 --e git+https://github.com/dgrtwo/ParsePy.git@7949b9f754d1445eff8e8f20d0e967b9a6420639#egg=parse_rest - -# The officially released version of django-debug-toolbar-mongo doesn't support DJDT 1.x. This commit does. --e git+https://github.com/hmarr/django-debug-toolbar-mongo.git@b0686a76f1ce3532088c4aee6e76b9abe61cc808#egg=django-debug-toolbar-mongo==0.1.10 - -# Forked to get Django 1.10+ compat that is in origin BitBucket repo, without an official build. -# This can go away when we update auth to not use django-rest-framework-oauth --e git+https://github.com/edx/django-oauth-plus.git@01ec2a161dfc3465f9d35b9211ae790177418316#egg=django-oauth-plus==2.2.9.edx-1 - -# NOTE (CCB): This must remain. There is one commit on the upstream repo that has not been released to PyPI. --e git+https://github.com/edx/rfc6266.git@v0.0.5-edx#egg=rfc6266==0.0.5-edx - -# Used for testing --e git+https://github.com/edx/lettuce.git@31b0dfd865766243e9b563ec65fae9122edf7975#egg=lettuce==0.2.23+edx.1 - -# Why a DRF fork? See: https://openedx.atlassian.net/browse/PLAT-1581 --e git+https://github.com/edx/django-rest-framework.git@1ceda7c086fddffd1c440cc86856441bbf0bd9cb#egg=djangorestframework==3.6.3 - -# Why a drf-oauth fork? To add Django 1.11 compatibility to the abandoned repo. -# This dependency will be removed by this work: https://openedx.atlassian.net/browse/PLAT-1660 --e git+https://github.com/edx/django-rest-framework-oauth.git@0a43e8525f1e3048efe4bc70c03de308a277197c#egg=djangorestframework-oauth==1.1.1 - -# Why a django-celery fork? To add Django 1.11 compatibility to the abandoned repo. -# This dependency will be removed by the Celery 4 upgrade: https://openedx.atlassian.net/browse/PLAT-1684 --e git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2 - -# Our libraries: --e git+https://github.com/edx/codejail.git@a320d43ce6b9c93b17636b2491f724d9e433be47#egg=codejail --e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock --e git+https://github.com/edx/edx-ora2.git@2.1.14#egg=ora2==2.1.14 --e git+https://github.com/edx/RecommenderXBlock.git@1.3#egg=recommender-xblock==1.3 --e git+https://github.com/solashirai/crowdsourcehinter.git@518605f0a95190949fe77bd39158450639e2e1dc#egg=crowdsourcehinter-xblock==0.1 --e git+https://github.com/edx/RateXBlock.git@367e19c0f6eac8a5f002fd0f1559555f8e74bfff#egg=rate-xblock --e git+https://github.com/edx/DoneXBlock.git@01a14f3bd80ae47dd08cdbbe2f88f3eb88d00fba#egg=done-xblock --e git+https://github.com/edx/xblock-utils.git@v1.0.5#egg=xblock-utils==1.0.5 --e git+https://github.com/edx-solutions/xblock-google-drive.git@138e6fa0bf3a2013e904a085b9fed77dab7f3f21#egg=xblock-google-drive --e git+https://github.com/edx/xblock-lti-consumer.git@v1.1.7#egg=lti_consumer-xblock==1.1.7 - -# Third Party XBlocks - --e git+https://github.com/mitodl/edx-sga.git@6b2f7aa2a18206023c8407e2c46f86d4b4c3ac96#egg=edx-sga==0.8.0 --e git+https://github.com/open-craft/xblock-poll@7ba819b968fe8faddb78bb22e1fe7637005eb414#egg=xblock-poll==1.2.7 --e git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@2.1.5#egg=xblock-drag-and-drop-v2==2.1.5 diff --git a/requirements/edx/github.txt b/requirements/edx/github.txt index 902fbbf82b..66b8561a8f 100644 --- a/requirements/edx/github.txt +++ b/requirements/edx/github.txt @@ -1,4 +1,108 @@ -# Placeholder for code which hasn't yet been updated to no longer use this file. -# The requirements which were here have been moved to github.in, and are now -# incorporated into the appropriate full requirements files (base.txt, -# testing.txt, etc.) +# DON'T JUST ADD NEW DEPENDENCIES!!! +# +# If you open a pull request that adds a new dependency, you should notify: +# * @edx/ospr - to check licensing +# * @edx/devops - to check system requirements +# +# Do *NOT* install Python packages from GitHub unless it's absolutely necessary! +# "I don't have time to add automatic Travis upload to PyPI." is *not* an +# acceptable excuse. Non-wheel module installations slow down the dev/building process. +# Travis/PyPI instructions are here: +# https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/41911049/Publishing+a+Package+to+PyPI+using+Travis +# +# A correct GitHub reference looks like this: +# +# git+https://github.com/OWNER/REPO-NAME.git@TAG-OR-SHA#egg=DIST-NAME==VERSION +# +# For example: +# +# git+https://github.com/edx/edx-lint.git@v0.3.2#egg=edx_lint==0.3.2 +# +# where: +# +# OWNER = edx +# REPO-NAME = edx-lint +# TAG-OR-SHA = v0.3.2 +# DIST-NAME = edx_lint +# VERSION = 0.3.2 +# +# +# Rules to follow (even though many URLs here don't follow them!): +# +# * Don't leave out any of these pieces. +# +# * Don't use -e +# +# * TAG-OR-SHA is the specific commit to install. It must be a git tag, +# or a git SHA commit hash. Don't use branch names here. If OWNER is +# not an edX organization, then it must be a SHA. If you use a SHA, +# please make sure there is a tag associated with it, so the commit can't +# be lost during rebase. +# +# * DIST-NAME is the distribution name, the same name you'd use in a +# "pip install" command. It might be different than REPO-NAME. It must +# be the same as the `name="DIST-NAME"` value in the repo's setup.py. +# +# * VERSION might not be the same as TAG-OR-SHA, but if the tag names the +# version, please make it match the VERSION, but with a "v" prefix. +# VERSION must be the same as the `version="VERSION"` value in the repo's +# setup.py. An alternative is to use 0.0 as VERSION: this forces pip to +# re-install the package each time, and can be useful when working with two +# repos before picking a version number. Don't use 0.0 on master, only for +# tight-loop work in progress. + + +# Python libraries to install directly from github + +# Third-party: +git+https://github.com/jazzband/django-pipeline.git@d068a019169c9de5ee20ece041a6dea236422852#egg=django-pipeline==1.5.3 +-e git+https://github.com/edx/django-wiki.git@v0.0.17#egg=django-wiki +git+https://github.com/edx/django-openid-auth.git@0.15.1#egg=django-openid-auth==0.15.1 +git+https://github.com/edx/MongoDBProxy.git@25b99097615bda06bd7cdfe5669ed80dc2a7fed0#egg=MongoDBProxy==0.1.0 +-e git+https://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev +-e git+https://github.com/appliedsec/pygeoip.git@95e69341cebf5a6a9fbf7c4f5439d458898bdc3b#egg=pygeoip +-e git+https://github.com/jazkarta/edx-jsme.git@690dbf75441fa91c7c4899df0b83d77f7deb5458#egg=edx-jsme +git+https://github.com/mitodl/django-cas.git@afac57bc523f145ae826f4ed3d4fa8b2c86c5364#egg=django-cas==2.1.1 +-e git+https://github.com/dgrtwo/ParsePy.git@7949b9f754d1445eff8e8f20d0e967b9a6420639#egg=parse_rest + +# The officially released version of django-debug-toolbar-mongo doesn't support DJDT 1.x. This commit does. +git+https://github.com/hmarr/django-debug-toolbar-mongo.git@b0686a76f1ce3532088c4aee6e76b9abe61cc808#egg=django-debug-toolbar-mongo==0.1.10 + +# Forked to get Django 1.10+ compat that is in origin BitBucket repo, without an official build. +# This can go away when we update auth to not use django-rest-framework-oauth +git+https://github.com/edx/django-oauth-plus.git@01ec2a161dfc3465f9d35b9211ae790177418316#egg=django-oauth-plus==2.2.9.edx-1 + +# NOTE (CCB): This must remain. There is one commit on the upstream repo that has not been released to PyPI. +git+https://github.com/edx/rfc6266.git@v0.0.5-edx#egg=rfc6266==0.0.5-edx + +# Used for testing +git+https://github.com/edx/lettuce.git@31b0dfd865766243e9b563ec65fae9122edf7975#egg=lettuce==0.2.23+edx.1 + +# Why a DRF fork? See: https://openedx.atlassian.net/browse/PLAT-1581 +git+https://github.com/edx/django-rest-framework.git@1ceda7c086fddffd1c440cc86856441bbf0bd9cb#egg=djangorestframework==3.6.3 + +# Why a drf-oauth fork? To add Django 1.11 compatibility to the abandoned repo. +# This dependency will be removed by this work: https://openedx.atlassian.net/browse/PLAT-1660 +git+https://github.com/edx/django-rest-framework-oauth.git@0a43e8525f1e3048efe4bc70c03de308a277197c#egg=djangorestframework-oauth==1.1.1 + +# Why a django-celery fork? To add Django 1.11 compatibility to the abandoned repo. +# This dependency will be removed by the Celery 4 upgrade: https://openedx.atlassian.net/browse/PLAT-1684 +git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2 + +# Our libraries: +-e git+https://github.com/edx/codejail.git@a320d43ce6b9c93b17636b2491f724d9e433be47#egg=codejail==0.0 +-e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock +git+https://github.com/edx/edx-ora2.git@2.1.14#egg=ora2==2.1.14 +git+https://github.com/edx/RecommenderXBlock.git@1.3#egg=recommender-xblock==1.3 +git+https://github.com/solashirai/crowdsourcehinter.git@518605f0a95190949fe77bd39158450639e2e1dc#egg=crowdsourcehinter-xblock==0.1 +-e git+https://github.com/edx/RateXBlock.git@367e19c0f6eac8a5f002fd0f1559555f8e74bfff#egg=rate-xblock +-e git+https://github.com/edx/DoneXBlock.git@01a14f3bd80ae47dd08cdbbe2f88f3eb88d00fba#egg=done-xblock +git+https://github.com/edx/xblock-utils.git@v1.0.5#egg=xblock-utils==1.0.5 +-e git+https://github.com/edx-solutions/xblock-google-drive.git@138e6fa0bf3a2013e904a085b9fed77dab7f3f21#egg=xblock-google-drive +git+https://github.com/edx/xblock-lti-consumer.git@v1.1.7#egg=lti_consumer-xblock==1.1.7 + +# Third Party XBlocks + +git+https://github.com/mitodl/edx-sga.git@6b2f7aa2a18206023c8407e2c46f86d4b4c3ac96#egg=edx-sga==0.8.0 +git+https://github.com/open-craft/xblock-poll@7ba819b968fe8faddb78bb22e1fe7637005eb414#egg=xblock-poll==1.2.7 +git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@2.1.5#egg=xblock-drag-and-drop-v2==2.1.5 diff --git a/requirements/edx/local.in b/requirements/edx/local.in deleted file mode 100644 index 4bd03e4049..0000000000 --- a/requirements/edx/local.in +++ /dev/null @@ -1,12 +0,0 @@ -# Python libraries to install that are local to the edx-platform repo --e . --e common/lib/calc --e common/lib/capa --e common/lib/chem --e common/lib/dogstats --e common/lib/safe_lxml --e common/lib/sandbox-packages --e common/lib/symmath --e common/lib/xmodule - --e openedx/core/lib/xblock_builtin/xblock_discussion diff --git a/requirements/edx/local.txt b/requirements/edx/local.txt index 668857770b..4bd03e4049 100644 --- a/requirements/edx/local.txt +++ b/requirements/edx/local.txt @@ -1,4 +1,12 @@ -# Placeholder for code which hasn't yet been updated to no longer use this file. -# The requirements which were here have been moved to local.in, and are now -# incorporated into the appropriate full requirements files (base.txt, -# testing.txt, etc.) +# Python libraries to install that are local to the edx-platform repo +-e . +-e common/lib/calc +-e common/lib/capa +-e common/lib/chem +-e common/lib/dogstats +-e common/lib/safe_lxml +-e common/lib/sandbox-packages +-e common/lib/symmath +-e common/lib/xmodule + +-e openedx/core/lib/xblock_builtin/xblock_discussion diff --git a/requirements/edx/paver.in b/requirements/edx/paver.in deleted file mode 100644 index e51f84e944..0000000000 --- a/requirements/edx/paver.in +++ /dev/null @@ -1,23 +0,0 @@ -# Requirements to run and test Paver -# -# 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 -# -edx-opaque-keys # Create and introspect course and xblock identities -lazy==1.1 # Lazily-evaluated attributes for Python objects -libsass==0.10.0 # Python bindings for the LibSass CSS compiler -markupsafe # XML/HTML/XHTML Markup safe strings -mock==1.0.1 # Stub out code with mock objects and make assertions about how they have been used -path.py==8.2.1 # Easier manipulation of filesystem paths -paver # Build, distribution and deployment scripting tool -psutil==1.2.1 # Library for retrieving information on running processes and system utilization -pymongo==2.9.1 # via edx-opaque-keys -python-memcached==1.48 # Python interface to the memcached memory cache daemon -requests==2.9.1 # Simple interface for making HTTP requests -stevedore==1.10.0 # via edx-opaque-keys -watchdog # Used in paver watch_assets -wrapt==1.10.5 # Decorator utilities used in the @timed paver task decorator diff --git a/requirements/edx/paver.txt b/requirements/edx/paver.txt index d277889162..a6ada445af 100644 --- a/requirements/edx/paver.txt +++ b/requirements/edx/paver.txt @@ -1,27 +1,5 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# make upgrade -# - -argh==0.26.2 # via watchdog -argparse==1.4.0 # via stevedore -edx-opaque-keys==0.4.4 -lazy==1.1 -libsass==0.10.0 -markupsafe==1.0 -mock==1.0.1 -path.py==8.2.1 -pathtools==0.1.2 # via watchdog +# Requirements to run and test Paver paver==1.3.4 -pbr==4.0.1 # via stevedore -psutil==1.2.1 -pymongo==2.9.1 -python-memcached==1.48 -pyyaml==3.12 # via watchdog -requests==2.9.1 -six==1.11.0 # via edx-opaque-keys, libsass, paver, stevedore -stevedore==1.10.0 -watchdog==0.8.3 -wrapt==1.10.5 +libsass==0.10.0 +markupsafe +-r base_common.txt diff --git a/requirements/edx/pip-tools.in b/requirements/edx/pip-tools.in deleted file mode 100644 index 06c8949d5d..0000000000 --- a/requirements/edx/pip-tools.in +++ /dev/null @@ -1,10 +0,0 @@ -# Just the dependencies to run pip-tools, mainly for the "upgrade" make target -# -# 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 - -pip-tools # Contains pip-compile, used to generate pip requirements files diff --git a/requirements/edx/pip-tools.txt b/requirements/edx/pip-tools.txt deleted file mode 100644 index 3890dd9c17..0000000000 --- a/requirements/edx/pip-tools.txt +++ /dev/null @@ -1,11 +0,0 @@ -# -# This file is autogenerated by pip-compile -# To update, run: -# -# make upgrade -# - -click==6.7 # via pip-tools -first==2.0.1 # via pip-tools -pip-tools==1.11.0 -six==1.11.0 # via pip-tools diff --git a/requirements/edx/post.txt b/requirements/edx/post.txt index 2a93e2b6ad..3731c81a7e 100644 --- a/requirements/edx/post.txt +++ b/requirements/edx/post.txt @@ -1,4 +1,12 @@ -# Placeholder for code which hasn't yet been updated to no longer use this file. -# The requirements which were here have been moved to base.in, and are now -# incorporated into the appropriate full requirements files (base.txt, -# testing.txt, etc.) +# DON'T JUST ADD NEW DEPENDENCIES!!! +# +# If you open a pull request that adds a new dependency, you should notify: +# * @edx/ospr - to check licensing +# * @edx/devops - to check system requirements + +# python-saml depends on lxml, which is referenced in base.txt. A bug exists +# in setuptools 18.0.1 which results in an infinite loop during +# resolution of this dependency during compilation. So we need to install +# python-saml only after lxml has been successfully installed. + +python-saml==2.4.0 diff --git a/requirements/edx/private.readme b/requirements/edx/private.readme deleted file mode 100644 index 5600a1075b..0000000000 --- a/requirements/edx/private.readme +++ /dev/null @@ -1,15 +0,0 @@ -# If there are any Python packages you want to keep in your virtualenv beyond -# those listed in the official requirements files, create a "private.in" file -# and list them there. Generate the corresponding "private.txt" file pinning -# all of their indirect dependencies to specific versions as follows: - -# pip-compile private.in - -# This allows you to use "pip-sync" without removing these packages: - -# pip-sync requirements/*.txt - -# "private.in" and "private.txt" aren't checked into git to avoid merge -# conflicts, and the presence of this file allows "private.*" to be -# included in scripted pip-sync usage without requiring that those files be -# created first. diff --git a/requirements/edx/testing.in b/requirements/edx/testing.in deleted file mode 100644 index b60cbd4215..0000000000 --- a/requirements/edx/testing.in +++ /dev/null @@ -1,30 +0,0 @@ -# This requirements file is only for python packages that need to be installed -# for the edx-platform in testing environments. This includes: -# * Jenkins -# * devstack -# Please do not use this file for packages that are needed in production -# -# 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 base.txt # Core edx-platform production dependencies --r coverage.txt # Utilities for calculating test coverage - -edx-lint==0.5.4 # pylint extensions for Open edX repositories -isort==4.2.5 # For checking and fixing the order of imports -pa11ycrawler # Python crawler (using Scrapy) that uses Pa11y to check accessibility of pages as it crawls -pylint-django==0.7.2 # via edx-lint -pysqlite # DB-API 2.0 interface for SQLite 3.x (used as the relational database for most tests) -pytest==3.1.3 # Testing framework -pytest-attrib # Select tests based on attributes -pytest-catchlog # pytest plugin to catch log messages; merged into pytest 3.3.0 -pytest-cov # pytest plugin for measuring code coverage -pytest-django # Django support for pytest -pytest-randomly==1.2.1 # pytest plugin to randomly order tests -pytest-xdist==1.20.0 # Parallel execution of tests on multiple CPU cores or hosts -tox==2.8.2 # virtualenv management for tests -tox-battery # Makes tox aware of requirements file changes diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt index b3c76a0083..8ee74c701f 100644 --- a/requirements/edx/testing.txt +++ b/requirements/edx/testing.txt @@ -1,331 +1,24 @@ +# This requirements file is only for python packages that need to be installed +# for the edx-platform in testing environments. This includes: +# * Jenkins +# * devstack +# Please do not use this file for packages that are needed in production # -# This file is autogenerated by pip-compile -# To update, run: -# -# make upgrade -# +# DON'T JUST ADD NEW DEPENDENCIES!!! +# If you have changes you would like to make, please consult with: +# * @edx/testeng - to discuss it's impact on test infrastructure +# * @edx/devops - to check system requirements --e git+https://github.com/edx/acid-block.git@e46f9cda8a03e121a00c7e347084d142d22ebfb7#egg=acid-xblock --e common/lib/calc --e common/lib/capa --e common/lib/chem --e git+https://github.com/edx/codejail.git@a320d43ce6b9c93b17636b2491f724d9e433be47#egg=codejail -git+https://github.com/solashirai/crowdsourcehinter.git@518605f0a95190949fe77bd39158450639e2e1dc#egg=crowdsourcehinter-xblock==0.1 -git+https://github.com/mitodl/django-cas.git@afac57bc523f145ae826f4ed3d4fa8b2c86c5364#egg=django-cas==2.1.1 -git+https://github.com/edx/django-celery.git@756cb57aad765cb2b0d37372c1855b8f5f37e6b0#egg=django-celery==3.2.1+edx.2 -git+https://github.com/hmarr/django-debug-toolbar-mongo.git@b0686a76f1ce3532088c4aee6e76b9abe61cc808#egg=django-debug-toolbar-mongo==0.1.10 -git+https://github.com/edx/django-oauth-plus.git@01ec2a161dfc3465f9d35b9211ae790177418316#egg=django-oauth-plus==2.2.9.edx-1 -git+https://github.com/edx/django-openid-auth.git@0.15.1#egg=django-openid-auth==0.15.1 -git+https://github.com/jazzband/django-pipeline.git@d068a019169c9de5ee20ece041a6dea236422852#egg=django-pipeline==1.5.3 --e git+https://github.com/edx/django-wiki.git@v0.0.17#egg=django-wiki -git+https://github.com/edx/django-rest-framework-oauth.git@0a43e8525f1e3048efe4bc70c03de308a277197c#egg=djangorestframework-oauth==1.1.1 -git+https://github.com/edx/django-rest-framework.git@1ceda7c086fddffd1c440cc86856441bbf0bd9cb#egg=djangorestframework==3.6.3 --e common/lib/dogstats --e git+https://github.com/edx/DoneXBlock.git@01a14f3bd80ae47dd08cdbbe2f88f3eb88d00fba#egg=done-xblock --e git+https://github.com/jazkarta/edx-jsme.git@690dbf75441fa91c7c4899df0b83d77f7deb5458#egg=edx-jsme -git+https://github.com/mitodl/edx-sga.git@6b2f7aa2a18206023c8407e2c46f86d4b4c3ac96#egg=edx-sga==0.8.0 -git+https://github.com/edx/lettuce.git@31b0dfd865766243e9b563ec65fae9122edf7975#egg=lettuce==0.2.23+edx.1 -git+https://github.com/edx/xblock-lti-consumer.git@v1.1.7#egg=lti_consumer-xblock==1.1.7 -git+https://github.com/edx/MongoDBProxy.git@25b99097615bda06bd7cdfe5669ed80dc2a7fed0#egg=MongoDBProxy==0.1.0 --e . -git+https://github.com/edx/edx-ora2.git@2.1.14#egg=ora2==2.1.14 --e git+https://github.com/dgrtwo/ParsePy.git@7949b9f754d1445eff8e8f20d0e967b9a6420639#egg=parse_rest --e git+https://github.com/appliedsec/pygeoip.git@95e69341cebf5a6a9fbf7c4f5439d458898bdc3b#egg=pygeoip --e git+https://github.com/dementrock/pystache_custom.git@776973740bdaad83a3b029f96e415a7d1e8bec2f#egg=pystache_custom-dev --e git+https://github.com/edx/RateXBlock.git@367e19c0f6eac8a5f002fd0f1559555f8e74bfff#egg=rate-xblock -git+https://github.com/edx/RecommenderXBlock.git@1.3#egg=recommender-xblock==1.3 -git+https://github.com/edx/rfc6266.git@v0.0.5-edx#egg=rfc6266==0.0.5-edx --e common/lib/safe_lxml --e common/lib/sandbox-packages --e common/lib/symmath --e openedx/core/lib/xblock_builtin/xblock_discussion -git+https://github.com/edx-solutions/xblock-drag-and-drop-v2@2.1.5#egg=xblock-drag-and-drop-v2==2.1.5 --e git+https://github.com/edx-solutions/xblock-google-drive.git@138e6fa0bf3a2013e904a085b9fed77dab7f3f21#egg=xblock-google-drive -git+https://github.com/open-craft/xblock-poll@7ba819b968fe8faddb78bb22e1fe7637005eb414#egg=xblock-poll==1.2.7 -git+https://github.com/edx/xblock-utils.git@v1.0.5#egg=xblock-utils==1.0.5 --e common/lib/xmodule -amqp==1.4.9 -analytics-python==1.1.0 -anyjson==0.3.3 -apipkg==1.4 # via execnet -appdirs==1.4.3 -argh==0.26.2 -argparse==1.4.0 -asn1crypto==0.24.0 -astroid==1.5.2 # via edx-lint, pylint, pylint-celery, pylint-plugin-utils -attrs==17.2.0 -babel==1.3 -backports.functools-lru-cache==1.5 # via astroid, pylint -beautifulsoup4==4.1.3 -beautifulsoup==3.2.1 -before_after==0.1.3 -billiard==3.3.0.23 -bleach==1.4 -bok-choy==0.7.2 -boto3==1.4.8 -boto==2.39.0 -botocore==1.8.17 -celery==3.1.25 -cffi==1.11.5 -charade==1.0.3 -chrono==1.0.2 -click-log==0.1.8 # via edx-lint -click==6.7 -colorama==0.3.9 -configparser==3.5.0 # via pylint -constantly==15.1.0 # via twisted -coverage==4.2 -cryptography==2.1.4 -cssselect==0.9.1 -cssutils==1.0.2 -ddt==0.8.0 -decorator==4.2.1 -defusedxml==0.4.1 -dicttoxml==1.7.4 -diff-cover==0.9.8 -django-appconf==1.0.2 -django-babel-underscore==0.5.2 -django-babel==0.6.2 -django-birdcage==1.0.0 -django-braces==1.12.0 -django-classy-tags==0.8.0 -django-config-models==0.1.8 -django-cors-headers==2.1.0 -django-countries==4.6.1 -django-crum==0.7.2 -django-debug-toolbar==1.8 -django-fernet-fields==0.5 -django-filter==1.0.4 -django-ipware==1.1.0 -django-memcached-hashring==0.1.2 -django-method-override==0.1.0 -django-model-utils==3.0.0 -django-mptt==0.8.7 -django-multi-email-field==0.5.1 -django-oauth-toolkit==0.12.0 -django-object-actions==0.10.0 -django-pyfs==2.0 -django-ratelimit-backend==1.1.1 -django-ratelimit==1.1.0 -django-require==1.0.11 -django-sekizai==0.10.0 -django-ses==0.8.4 -django-simple-history==2.0 -django-splash==0.2.2 -django-statici18n==1.4.0 -django-storages==1.4.1 -django-user-tasks==0.1.5 -django-waffle==0.12.0 -django-webpack-loader==0.4.1 -django_nose==1.4.1 -djangorestframework-jwt==1.11.0 -djangorestframework-xml==1.3.0 -dm.xmlsec.binding==1.3.3 -docopt==0.6.2 -docutils==0.14 -dogapi==1.2.1 -edx-ace==0.1.6 -edx-analytics-data-api-client==0.14.4 -edx-ccx-keys==0.2.1 -edx-celeryutils==0.2.7 -edx-completion==0.1.5 -edx-django-oauth2-provider==1.2.5 -edx-django-release-util==0.3.1 -edx-django-sites-extensions==2.3.1 -edx-drf-extensions==1.2.5 -edx-enterprise==0.67.3 -edx-i18n-tools==0.4.2 -edx-lint==0.5.4 -edx-milestones==0.1.13 -edx-oauth2-provider==1.2.2 -edx-opaque-keys[django]==0.4.4 -edx-organizations==0.4.10 -edx-proctoring==1.3.9 -edx-rest-api-client==1.7.1 -edx-search==1.1.0 -edx-submissions==2.0.12 -edx-user-state-client==1.0.3 -edxval==0.1.12 -elasticsearch==1.9.0 -enum34==1.1.6 -event-tracking==0.2.4 -execnet==1.5.0 # via pytest-xdist -extras==1.0.0 -factory_boy==2.8.1 -faker==0.8.12 -faulthandler==3.0 -feedparser==5.1.3 -firebase-token-generator==1.3.2 -flaky==3.4.0 -flask==0.12.2 -freezegun==0.3.8 -fs-s3fs==0.1.8 -fs==2.0.18 -future==0.16.0 -futures==3.2.0 ; python_version == "2.7" -fuzzywuzzy==0.16.0 -gitdb==0.6.4 -gitpython==0.3.2.rc1 -glob2==0.3 -gunicorn==0.17.4 -hash-ring==1.3.1 -help-tokens==1.0.3 -html5lib==0.999 -httplib2==0.11.3 -httpretty==0.8.14 -idna==2.6 -incremental==17.5.0 # via twisted -inflect==0.2.5 -ipaddr==2.1.11 -ipaddress==1.0.19 -isodate==0.6.0 -isort==4.2.5 -itsdangerous==0.24 -jinja2-pluralize==0.3.0 -jinja2==2.10 -jmespath==0.9.3 -jsondiff==1.1.1 -jsonfield==2.0.2 -kombu==3.0.37 -lazy-object-proxy==1.3.1 # via astroid -lazy==1.1 -lepl==5.1.3 -libsass==0.10.0 -loremipsum==1.0.5 -lxml==3.8.0 -mailsnake==1.6.2 -mako==1.0.2 -mando==0.3.3 -markdown==2.6.11 -markey==0.8 -markupsafe==1.0 -mccabe==0.6.1 # via pylint -mock==1.0.1 -mongoengine==0.10.0 -moto==0.3.1 -mysql-python==1.2.5 -needle==0.5.0 -networkx==1.7 -newrelic==2.106.1.88 -nltk==3.2.5 -nodeenv==1.1.1 -nose-exclude==0.5.0 -nose-faulthandler==0.1 -nose-ignore-docstring==0.2 -nose-randomly==1.2.0 -nose-xunitmp==0.3.2 -nose==1.3.7 -numpy==1.6.2 -oauth2==1.9.0.post1 -oauthlib==2.0.1 -pa11ycrawler==1.6.2 -parsel==1.4.0 # via scrapy -path.py==8.2.1 -pathtools==0.1.2 -paver==1.3.4 -pbr==4.0.1 -pdfminer==20140328 -pep8==1.5.7 -piexif==1.0.2 -pillow==3.4.0 -pluggy==0.6.0 # via tox -polib==1.0.3 -psutil==1.2.1 -py2neo==3.1.2 -py==1.5.3 # via pytest, pytest-catchlog, tox -pyasn1-modules==0.2.1 # via service-identity -pyasn1==0.4.2 # via pyasn1-modules, service-identity -pycontracts==1.7.1 -pycountry==1.20 -pycparser==2.18 -pycryptodomex==3.4.7 -pydispatcher==2.0.5 # via scrapy -pygments==2.2.0 -pygraphviz==1.1 -pyjwkest==1.3.2 -pyjwt==1.5.2 -pylint-celery==0.3 # via edx-lint -pylint-django==0.7.2 -pylint-plugin-utils==0.2.6 # via pylint-celery, pylint-django -pylint==1.7.1 # via edx-lint, pylint-celery, pylint-django, pylint-plugin-utils -pymongo==2.9.1 -pynliner==0.5.2 -pyopenssl==17.5.0 # via scrapy, service-identity -pyparsing==2.0.7 -pyquery==1.2.9 +execnet==1.4.1 +py==1.4.34 pysqlite==2.8.3 -pysrt==0.4.7 +pytest==3.1.3 pytest-attrib==0.1.3 pytest-catchlog==1.2.2 pytest-cov==2.5.1 pytest-django==3.1.2 -pytest-forked==0.2 # via pytest-xdist +pytest-forked==0.2 pytest-randomly==1.2.1 pytest-xdist==1.20.0 -pytest==3.1.3 -python-dateutil==2.4.0 -python-levenshtein==0.12.0 -python-memcached==1.48 -python-mimeparse==1.6.0 -python-openid==2.2.5 -python-saml==2.4.0 -python-subunit==0.0.16 -python-swiftclient==3.5.0 -pytz==2016.10 -pyuca==1.1 -pyyaml==3.12 -queuelib==1.5.0 # via scrapy -radon==1.3.2 -redis==2.10.6 -reportlab==3.1.44 -requests-oauthlib==0.6.1 -requests==2.9.1 -rules==1.3 -s3transfer==0.1.12 -sailthru-client==2.2.3 -scipy==0.14.0 -scrapy==1.1.2 # via pa11ycrawler -selenium==3.11.0 -service-identity==17.0.0 # via scrapy -shapely==1.2.16 -shortuuid==0.5.0 -simplejson==3.13.2 -singledispatch==3.4.0.2 -six==1.11.0 -slumber==0.7.1 -smmap==0.9.0 -social-auth-app-django==1.2.0 -social-auth-core==1.4.0 -sorl-thumbnail==12.3 -sortedcontainers==0.9.2 -sphinx==1.1.3 -sphinx_rtd_theme==0.1.5 -splinter==0.5.4 -sqlparse==0.2.4 -stevedore==1.10.0 -sure==1.2.3 -sympy==0.7.1 -testfixtures==4.5.0 -testtools==0.9.34 -text-unidecode==1.2 -tox-battery==0.5 tox==2.8.2 -transifex-client==0.12.1 -twisted==16.6.0 # via pa11ycrawler, scrapy -unicodecsv==0.14.1 -urllib3==1.22 -urlobject==2.4.3 # via pa11ycrawler -user-util==0.1.2 -virtualenv==15.2.0 # via tox -voluptuous==0.11.1 -w3lib==1.19.0 # via parsel, scrapy -watchdog==0.8.3 -web-fragments==0.2.2 -webob==1.8.0 -werkzeug==0.14.1 -wrapt==1.10.5 -xblock-review==1.1.5 -xblock==1.1.1 -xmltodict==0.4.1 -zendesk==1.1.1 -zope.interface==4.4.3 # via twisted +tox-battery==0.5 diff --git a/requirements/monitoring/requirements.txt b/requirements/monitoring/requirements.txt index 918dd79bb1..28cbb66860 100644 --- a/requirements/monitoring/requirements.txt +++ b/requirements/monitoring/requirements.txt @@ -1,9 +1,18 @@ # This requirements.txt file is meant to pull in other requirements.txt files so that # dependency monitoring tools like gemnasium.com can easily process them. -# These tools should be updated to use requirements/edx/development.txt -# instead, as that is now a comprehensive collection of all dependencies -# used to run, test, or develop LMS and Studio. Then this file can be -# safely deleted. +# It can not be used to do the full installation because it is not in the correct +# order, and because we pin setuptools which needs to be installed in a different +# process than the rest of the requirements. -r ../edx/development.txt + +# Requirements for the web application +-r ../edx/pre.txt +-r ../edx/django.txt +-r ../edx/base.txt +-r ../edx/local.txt +-r ../edx/github.txt +-r ../edx/edx-private.txt +-r ../edx/paver.txt +-r ../edx/post.txt diff --git a/requirements/monitoring/sandbox-requirements.txt b/requirements/monitoring/sandbox-requirements.txt index d3cacb6ccd..8b1b66623f 100644 --- a/requirements/monitoring/sandbox-requirements.txt +++ b/requirements/monitoring/sandbox-requirements.txt @@ -1,8 +1,8 @@ # This requirements.txt file is meant to pull in other requirements.txt files so that # dependency monitoring tools like gemnasium.com can easily process them. -# These tools should be updated to use requirements/edx-sandbox/base.txt -# instead, as that is now a comprehensive collection of all dependencies -# installed in code sandboxes. Then this file can be safely deleted. - +# Requirements for code sandboxes -r ../edx-sandbox/base.txt +-r ../edx-sandbox/local.txt +-r ../edx-sandbox/post.txt + diff --git a/scripts/post-pip-compile.sh b/scripts/post-pip-compile.sh deleted file mode 100755 index 688064cc05..0000000000 --- a/scripts/post-pip-compile.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Remove any cruft from a requirements file generated by pip-tools which we don't want to keep - -function show_help { - echo "Usage: post-pip-compile.sh file ..." - echo "Remove any cruft left behind by pip-compile in the given requirements file(s)." - echo "" - echo "Removes devstack-specific pip options and \"-e\" prefixes which were" - echo "added to GitHub URLs only so that pip-compile could process them" - echo "correctly." -} - -function clean_file { - FILE_PATH=$1 - TEMP_FILE=${FILE_PATH}.tmp - # pip-compile captures the devpi-related settings from devstack's pip.conf, remove them - sed '/^--index-url/d' ${FILE_PATH} > ${TEMP_FILE} - mv ${TEMP_FILE} ${FILE_PATH} - sed '/^--trusted-host/d' ${FILE_PATH} > ${TEMP_FILE} - mv ${TEMP_FILE} ${FILE_PATH} - # If an editable VCS URL has a version number suffix, it was only editable for pip-compile's benefit; - # this is a workaround for https://github.com/jazzband/pip-tools/issues/355 - sed 's/-e \(.*==.*\)/\1/' ${FILE_PATH} > ${TEMP_FILE} - mv ${TEMP_FILE} ${FILE_PATH} - # Workaround for https://github.com/jazzband/pip-tools/issues/204 - - # change absolute paths for local editable packages back to relative ones - FILE_CONTENT=$(<${FILE_PATH}) - FILE_URL_REGEX="-e (file:///[^'$'\n'']*)/common/lib/symmath" - if [[ "${FILE_CONTENT}" =~ ${FILE_URL_REGEX} ]]; then - BASE_FILE_URL=${BASH_REMATCH[1]} - sed "s|$BASE_FILE_URL/||" ${FILE_PATH} > ${TEMP_FILE} - mv ${TEMP_FILE} ${FILE_PATH} - sed "s|$BASE_FILE_URL|.|" ${FILE_PATH} > ${TEMP_FILE} - mv ${TEMP_FILE} ${FILE_PATH} - fi - # Replace the instructions for regenerating the output file. - INPUT_FILE=${FILE_PATH/\.txt/\.in} - sed "s/pip-compile --output-file.*/make upgrade/" ${FILE_PATH} > ${TEMP_FILE} - mv ${TEMP_FILE} ${FILE_PATH} -} - -for i in "$@"; do - case ${i} in - -h|--help) - # help or unknown option - show_help - exit 0 - ;; - *) - clean_file ${i} - ;; - esac -done diff --git a/tox.ini b/tox.ini index 9e05e21bdd..65d58999db 100644 --- a/tox.ini +++ b/tox.ini @@ -48,12 +48,23 @@ deps = django19: Django>=1.9,<1.10 django110: Django>=1.10,<1.11 django111: Django>=1.11,<2 + -rrequirements/edx/pre.txt + -rrequirements/edx/github.txt + -rrequirements/edx/local.txt + -rrequirements/edx/base.txt + -rrequirements/edx/development.txt -rrequirements/edx/testing.txt + -rrequirements/edx/post.txt + -rrequirements/edx-sandbox/base.txt + -rrequirements/edx-sandbox/local.txt + -rrequirements/edx-sandbox/post.txt whitelist_externals = /bin/bash /usr/bin/curl /bin/tar commands = + # There's 1-2 tests which call a paver command... + pip install -rrequirements/edx/paver.txt # Upgrade sqlite to fix crashes during testing. bash scripts/upgrade_pysqlite.sh # Now perform testing.