Skip to content
Snippets Groups Projects
Commit cc4e462a authored by Eric Herrera's avatar Eric Herrera
Browse files

Bump version.

Remove constraints.
Add classifiers.
Update setup.py install_requirements definition.
Update travis file using new requirements.
Create requirements folder.
create pip_tools, base, test and travis requirements files.
Remove old requirement files.
Create Makefile and add upgrade command.
Include requirements files generated using upgrade command.
Update openedx.yml OEPs list.
parent ac6fd8fa
No related branches found
No related tags found
No related merge requests found
language: python language: python
python: python:
- "2.7" - 3.5
- "3.5" - 3.8
sudo: false sudo: false
install: install:
- "pip install six" - pip install -r requirements/travis.txt
- "make install"
script: script:
- make quality - make quality
......
...@@ -13,3 +13,16 @@ quality: ...@@ -13,3 +13,16 @@ quality:
test: test:
./scripts/test.sh ./scripts/test.sh
upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
pip install -q -r requirements/pip_tools.txt
pip-compile --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in
pip-compile --upgrade -o requirements/base.txt requirements/base.in
pip-compile --upgrade -o requirements/test.txt requirements/test.in
pip-compile --upgrade -o requirements/tox.txt requirements/tox.in
pip-compile --upgrade -o requirements/travis.txt requirements/travis.in
# Let tox control the Django version version for tests
grep -e "^django==" requirements/test.txt > requirements/django.txt
sed '/^[dD]jango==/d' requirements/test.txt > requirements/test.tmp
mv requirements/test.tmp requirements/test.txt
\ No newline at end of file
...@@ -5,7 +5,7 @@ nick: lti ...@@ -5,7 +5,7 @@ nick: lti
oeps: oeps:
oep-2: true oep-2: true
oep-7: true oep-7: true
oep-18: false oep-18: true
owner: scottrish owner: scottrish
track-pulls: true track-pulls: true
tags: tags:
......
lxml
bleach
django==1.11.25
oauthlib
mako
lazy
-e git+https://github.com/edx/XBlock.git#egg=XBlock
-e git+https://github.com/edx/xblock-utils.git#egg=xblock-utils
-e .
# Core requirements for using this package
-c constraints.txt
lxml
bleach
django
oauthlib
mako
lazy
XBlock
xblock-utils
#
# This file is autogenerated by pip-compile
# To update, run:
#
# make upgrade
#
appdirs==1.4.3 # via fs
bleach==3.1.5 # via -r requirements/base.in
django==2.2.12 # via -c requirements/constraints.txt, -r requirements/base.in
fs==2.4.11 # via xblock
lazy==1.4 # via -r requirements/base.in
lxml==4.5.0 # via -r requirements/base.in, xblock
mako==1.1.2 # via -r requirements/base.in, xblock-utils
markupsafe==1.1.1 # via mako, xblock
oauthlib==3.1.0 # via -r requirements/base.in
packaging==20.3 # via bleach
pyparsing==2.4.7 # via packaging
python-dateutil==2.8.1 # via xblock
pytz==2020.1 # via django, fs, xblock
pyyaml==5.3.1 # via xblock
simplejson==3.17.0 # via xblock-utils
six==1.14.0 # via bleach, fs, packaging, python-dateutil, xblock
sqlparse==0.3.1 # via django
typing==3.7.4.1 # via fs
web-fragments==0.3.1 # via xblock, xblock-utils
webencodings==0.5.1 # via bleach
webob==1.8.6 # via xblock
xblock-utils==2.0.0 # via -r requirements/base.in
xblock==1.3.1 # via -r requirements/base.in, xblock-utils
# The following packages are considered to be unsafe in a requirements file:
# setuptools
# Version constraints for pip-installation.
#
# This file doesn't install any packages. It specifies version constraints
# that will be applied if a package is needed.
#
# When pinning something here, please provide an explanation of why. Ideally,
# link to other information that will help people in the future to remove the
# pin when possible. Writing an issue against the offending project and
# linking to it here is good.
# TODO: Many pinned dependencies should be unpinned and/or moved to this constraints file.
# Use latest Django LTS version
Django<2.3.0
# mock version 4.0.0 drops support for python 3.5
mock<4.0.0
django==2.2.12 # via -c requirements/constraints.txt, -r requirements/base.txt, django-pyfs, xblock-sdk
# Dependencies to run compile tools
-c constraints.txt
pip-tools # Contains pip-compile, used to generate pip requirements files
#
# This file is autogenerated by pip-compile
# To update, run:
#
# make upgrade
#
click==7.1.2 # via pip-tools
pip-tools==5.1.2 # via -r requirements/pip_tools.in
six==1.14.0 # via pip-tools
# The following packages are considered to be unsafe in a requirements file:
# pip
-r requirements.txt # Requirements for test runs
-c constraints.txt
django-nose==1.4.6 -r base.txt # Core dependencies for the cookiecutter
django-nose
ddt ddt
coveralls coveralls
mock mock
pep8 pep8
git+https://github.com/edx/django-pyfs.git@2.0#egg=django-pyfs==2.0 django-pyfs
git+https://github.com/edx/edx-lint.git@1.4.0#egg=edx_lint==1.4.0 edx_lint
-e git+https://github.com/edx/xblock-sdk.git#egg=xblock-sdk -e git+https://github.com/edx/xblock-sdk.git#egg=xblock-sdk
#
# This file is autogenerated by pip-compile
# To update, run:
#
# make upgrade
#
-e git+https://github.com/edx/xblock-sdk.git#egg=xblock-sdk # via -r requirements/test.in
appdirs==1.4.3 # via -r requirements/base.txt, fs
astroid==2.3.3 # via pylint, pylint-celery
bleach==3.1.5 # via -r requirements/base.txt
boto3==1.13.4 # via fs-s3fs
botocore==1.16.4 # via boto3, s3transfer
certifi==2020.4.5.1 # via requests
chardet==3.0.4 # via requests
click-log==0.3.2 # via edx-lint
click==7.1.2 # via click-log, edx-lint
coverage==5.1 # via coveralls
coveralls==2.0.0 # via -r requirements/test.in
ddt==1.3.1 # via -r requirements/test.in
django-nose==1.4.6 # via -r requirements/test.in
django-pyfs==2.1 # via -r requirements/test.in
docopt==0.6.2 # via coveralls
docutils==0.15.2 # via botocore
edx-lint==1.4.1 # via -r requirements/test.in
fs-s3fs==1.1.1 # via django-pyfs
fs==2.4.11 # via -r requirements/base.txt, django-pyfs, fs-s3fs, xblock
idna==2.9 # via requests
isort==4.3.21 # via pylint
jmespath==0.9.5 # via boto3, botocore
lazy-object-proxy==1.4.3 # via astroid
lazy==1.4 # via -r requirements/base.txt
lxml==4.5.0 # via -r requirements/base.txt, xblock
mako==1.1.2 # via -r requirements/base.txt, xblock-utils
markupsafe==1.1.1 # via -r requirements/base.txt, mako, xblock
mccabe==0.6.1 # via pylint
mock==3.0.5 # via -c requirements/constraints.txt, -r requirements/test.in
nose==1.3.7 # via django-nose
oauthlib==3.1.0 # via -r requirements/base.txt
packaging==20.3 # via -r requirements/base.txt, bleach
pep8==1.7.1 # via -r requirements/test.in
pylint-celery==0.3 # via edx-lint
pylint-django==2.0.11 # via edx-lint
pylint-plugin-utils==0.6 # via pylint-celery, pylint-django
pylint==2.4.2 # via edx-lint, pylint-celery, pylint-django, pylint-plugin-utils
pyparsing==2.4.7 # via -r requirements/base.txt, packaging
python-dateutil==2.8.1 # via -r requirements/base.txt, botocore, xblock
pytz==2020.1 # via -r requirements/base.txt, django, fs, xblock
pyyaml==5.3.1 # via -r requirements/base.txt, xblock
requests==2.23.0 # via coveralls
s3transfer==0.3.3 # via boto3
simplejson==3.17.0 # via -r requirements/base.txt, xblock-utils
six==1.14.0 # via -r requirements/base.txt, astroid, bleach, django-pyfs, edx-lint, fs, fs-s3fs, mock, packaging, python-dateutil, xblock
sqlparse==0.3.1 # via -r requirements/base.txt, django
typed-ast==1.4.1 # via astroid
typing==3.7.4.1 # via -r requirements/base.txt, fs
urllib3==1.25.9 # via botocore, requests
web-fragments==0.3.1 # via -r requirements/base.txt, xblock, xblock-utils
webencodings==0.5.1 # via -r requirements/base.txt, bleach
webob==1.8.6 # via -r requirements/base.txt, xblock
wrapt==1.11.2 # via astroid
xblock-utils==2.0.0 # via -r requirements/base.txt
xblock==1.3.1 # via -r requirements/base.txt, xblock-utils
# The following packages are considered to be unsafe in a requirements file:
# setuptools
# Used for tests
-c constraints.txt
tox
#
# This file is autogenerated by pip-compile
# To update, run:
#
# make upgrade
#
appdirs==1.4.3 # via virtualenv
distlib==0.3.0 # via virtualenv
filelock==3.0.12 # via tox, virtualenv
importlib-metadata==1.6.0 # via importlib-resources, pluggy, tox, virtualenv
importlib-resources==1.5.0 # via virtualenv
packaging==20.3 # via tox
pluggy==0.13.1 # via tox
py==1.8.1 # via tox
pyparsing==2.4.7 # via packaging
six==1.14.0 # via packaging, tox, virtualenv
toml==0.10.0 # via tox
tox==3.15.0 # via -r requirements/tox.in
virtualenv==20.0.20 # via tox
zipp==1.2.0 # via importlib-metadata, importlib-resources
# Requirements for running tests in Travis
-c constraints.txt
-r test.txt
-r tox.txt
six
#
# This file is autogenerated by pip-compile
# To update, run:
#
# make upgrade
#
-e git+https://github.com/edx/xblock-sdk.git#egg=xblock-sdk # via -r requirements/test.txt
appdirs==1.4.3 # via -r requirements/test.txt, -r requirements/tox.txt, fs, virtualenv
astroid==2.3.3 # via -r requirements/test.txt, pylint, pylint-celery
bleach==3.1.5 # via -r requirements/test.txt
boto3==1.13.4 # via -r requirements/test.txt, fs-s3fs
botocore==1.16.4 # via -r requirements/test.txt, boto3, s3transfer
certifi==2020.4.5.1 # via -r requirements/test.txt, requests
chardet==3.0.4 # via -r requirements/test.txt, requests
click-log==0.3.2 # via -r requirements/test.txt, edx-lint
click==7.1.2 # via -r requirements/test.txt, click-log, edx-lint
coverage==5.1 # via -r requirements/test.txt, coveralls
coveralls==2.0.0 # via -r requirements/test.txt
ddt==1.3.1 # via -r requirements/test.txt
distlib==0.3.0 # via -r requirements/tox.txt, virtualenv
django-nose==1.4.6 # via -r requirements/test.txt
django-pyfs==2.1 # via -r requirements/test.txt
django==2.2.12 # via -c requirements/constraints.txt, -r requirements/test.txt, django-pyfs, xblock-sdk
docopt==0.6.2 # via -r requirements/test.txt, coveralls
docutils==0.15.2 # via -r requirements/test.txt, botocore
edx-lint==1.4.1 # via -r requirements/test.txt
filelock==3.0.12 # via -r requirements/tox.txt, tox, virtualenv
fs-s3fs==1.1.1 # via -r requirements/test.txt, django-pyfs
fs==2.4.11 # via -r requirements/test.txt, django-pyfs, fs-s3fs, xblock
idna==2.9 # via -r requirements/test.txt, requests
importlib-metadata==1.6.0 # via -r requirements/tox.txt, importlib-resources, pluggy, tox, virtualenv
importlib-resources==1.5.0 # via -r requirements/tox.txt, virtualenv
isort==4.3.21 # via -r requirements/test.txt, pylint
jmespath==0.9.5 # via -r requirements/test.txt, boto3, botocore
lazy-object-proxy==1.4.3 # via -r requirements/test.txt, astroid
lazy==1.4 # via -r requirements/test.txt
lxml==4.5.0 # via -r requirements/test.txt, xblock
mako==1.1.2 # via -r requirements/test.txt, xblock-utils
markupsafe==1.1.1 # via -r requirements/test.txt, mako, xblock
mccabe==0.6.1 # via -r requirements/test.txt, pylint
mock==3.0.5 # via -c requirements/constraints.txt, -r requirements/test.txt
nose==1.3.7 # via -r requirements/test.txt, django-nose
oauthlib==3.1.0 # via -r requirements/test.txt
packaging==20.3 # via -r requirements/test.txt, -r requirements/tox.txt, bleach, tox
pep8==1.7.1 # via -r requirements/test.txt
pluggy==0.13.1 # via -r requirements/tox.txt, tox
py==1.8.1 # via -r requirements/tox.txt, tox
pylint-celery==0.3 # via -r requirements/test.txt, edx-lint
pylint-django==2.0.11 # via -r requirements/test.txt, edx-lint
pylint-plugin-utils==0.6 # via -r requirements/test.txt, pylint-celery, pylint-django
pylint==2.4.2 # via -r requirements/test.txt, edx-lint, pylint-celery, pylint-django, pylint-plugin-utils
pyparsing==2.4.7 # via -r requirements/test.txt, -r requirements/tox.txt, packaging
python-dateutil==2.8.1 # via -r requirements/test.txt, botocore, xblock
pytz==2020.1 # via -r requirements/test.txt, django, fs, xblock
pyyaml==5.3.1 # via -r requirements/test.txt, xblock
requests==2.23.0 # via -r requirements/test.txt, coveralls
s3transfer==0.3.3 # via -r requirements/test.txt, boto3
simplejson==3.17.0 # via -r requirements/test.txt, xblock-utils
six==1.14.0 # via -r requirements/test.txt, -r requirements/tox.txt, -r requirements/travis.in, astroid, bleach, django-pyfs, edx-lint, fs, fs-s3fs, mock, packaging, python-dateutil, tox, virtualenv, xblock
sqlparse==0.3.1 # via -r requirements/test.txt, django
toml==0.10.0 # via -r requirements/tox.txt, tox
tox==3.15.0 # via -r requirements/tox.txt
typed-ast==1.4.1 # via -r requirements/test.txt, astroid
typing==3.7.4.1 # via -r requirements/test.txt, fs
urllib3==1.25.9 # via -r requirements/test.txt, botocore, requests
virtualenv==20.0.20 # via -r requirements/tox.txt, tox
web-fragments==0.3.1 # via -r requirements/test.txt, xblock, xblock-utils
webencodings==0.5.1 # via -r requirements/test.txt, bleach
webob==1.8.6 # via -r requirements/test.txt, xblock
wrapt==1.11.2 # via -r requirements/test.txt, astroid
xblock-utils==2.0.0 # via -r requirements/test.txt
xblock==1.3.1 # via -r requirements/test.txt, xblock-utils
zipp==1.2.0 # via -r requirements/tox.txt, importlib-metadata, importlib-resources
# The following packages are considered to be unsafe in a requirements file:
# setuptools
...@@ -22,22 +22,36 @@ def package_data(pkg, roots): ...@@ -22,22 +22,36 @@ def package_data(pkg, roots):
return {pkg: data} return {pkg: data}
def load_requirements(*requirements_paths):
"""
Load all requirements from the specified requirements files.
Returns a list of requirement strings.
"""
requirements = set()
for path in requirements_paths:
with open(path) as reqs:
requirements.update(
line.split('#')[0].strip() for line in reqs
if is_requirement(line.strip())
)
return list(requirements)
def is_requirement(line):
"""
Return True if the requirement line is a package requirement;
that is, it is not blank, a comment, a URL, or an included file.
"""
return line and not line.startswith(('-r', '#', '-e', 'git+', '-c'))
setup( setup(
name='lti_consumer-xblock', name='lti_consumer-xblock',
version='1.2.6', version='1.3.0',
description='This XBlock implements the consumer side of the LTI specification.', description='This XBlock implements the consumer side of the LTI specification.',
packages=[ packages=[
'lti_consumer', 'lti_consumer',
], ],
install_requires=[ install_requires=load_requirements('requirements/base.in'),
'lxml',
'bleach',
'oauthlib',
'mako',
'XBlock',
'xblock-utils>=v1.0.0',
],
dependency_links=[ dependency_links=[
'https://github.com/edx/xblock-utils/tarball/c39bf653e4f27fb3798662ef64cde99f57603f79#egg=xblock-utils', 'https://github.com/edx/xblock-utils/tarball/c39bf653e4f27fb3798662ef64cde99f57603f79#egg=xblock-utils',
], ],
...@@ -47,4 +61,15 @@ setup( ...@@ -47,4 +61,15 @@ setup(
] ]
}, },
package_data=package_data("lti_consumer", ["static", "templates", "public", "translations"]), package_data=package_data("lti_consumer", ["static", "templates", "public", "translations"]),
classifiers=[
'Development Status :: 5 - Production/Stable',
'Framework :: Django',
'Framework :: Django :: 2.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache Software License',
'Natural Language :: English',
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.8",
]
) )
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment