Skip to content
This repository was archived by the owner on Sep 5, 2023. It is now read-only.

Commit

Permalink
feat: Deprecate sending grades with LTI 1.1 (#536)
Browse files Browse the repository at this point in the history
BREAKING CHANGE: removes send grades feature from LTI 1.1.
  • Loading branch information
jgwerner authored Apr 14, 2021
1 parent f564eee commit 88e905f
Show file tree
Hide file tree
Showing 68 changed files with 3,629 additions and 3,324 deletions.
10 changes: 5 additions & 5 deletions .flake8
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@

[flake8]
# Explicitly ignore rules to maintain better compatibility with black.
#
Expand All @@ -15,12 +14,13 @@
# E503: there is no need for backslashes between brackets.
# W293: line break before binary operator
# W293: blank line contains whitespace
select = E,F,W,C
ignore = F403, F811, F841, E402, I100, I101, D400, E501, E501, E503, W293, W503
max-line-length = 119
select = B,C,E,F,W,T4,B9
ignore = F403, F811, F841, E402, I100, I101, D400, E501, E503, W293, W503
extend-ignore = E203
max-complexity = 15
max-complexity = 18
# https://docs.djangoproject.com/en/dev/internals/contributing/writing-code/coding-style/
max-line-length = 119

builtins = c, get_config
exclude =
.cache,
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ hosts
htmlcov
jupyterhub_cookie_secret
jupyterhub.sqlite
*.sqlite3
MANIFEST
pip-wheel-metadata
*pycache*
Expand Down
2 changes: 1 addition & 1 deletion .isort.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ profile=black
src_paths=src,test
known_illumidesk=illumidesk
sections=FUTURE,STDLIB,FIRSTPARTY,THIRDPARTY,ILLUMIDESK,LOCALFOLDER
known_third_party = Crypto,filelock,flask,flask_sqlalchemy,josepy,jupyterhub,jwcrypto,jwt,kubernetes,kubespawner,lti,ltiauthenticator,nbgrader,oauthenticator,oauthlib,pem,pytest,setuptools,sqlalchemy,sqlalchemy_utils,tornado,traitlets
known_third_party = Crypto,dotenv,flask,flask_sqlalchemy,graderservice,josepy,jupyterhub,jwcrypto,jwt,kubernetes,kubespawner,ltiauthenticator,nbgrader,oauthenticator,oauthlib,pem,pytest,setuptools,sqlalchemy,sqlalchemy_utils,tornado,traitlets
multi_line_output=7
force_single_line=True
8 changes: 7 additions & 1 deletion .travis/install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,18 @@ install_python_requirements () {

install_illumidesk_package () {
echo "Install illumidesk package ..."
python3 -m pip install -r src/illumidesk/requirements.txt
python3 -m pip install src/illumidesk/.
}

install_graderservice_package () {
echo "Install graderservice package ..."
python3 -m pip install src/graderservice/.
}

main() {
install_python_requirements
install_illumidesk_package
install_graderservice_package
}

main
4 changes: 4 additions & 0 deletions .travis/script.sh
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,17 @@ set -e

run_linters () {
echo "Running linters ..."
isort .
flake8 src/
black --check src/
}

run_unit_tests () {
echo "Running unit tests ..."
python3 -m pytest
cd src/graderservice
python3 -m pytest
cd ../../
}

run_coverage_report () {
Expand Down
9 changes: 9 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,20 @@ $ git checkout -b branch-name-here
```

7. Make the appropriate changes for the issue you are trying to address or the feature that you want to add. Validate your changes by following the steps in the "How do I validate my changes" segment below.

8. Confirm that unit tests still pass successfully with:

```
$ cd src/illumidesk
$ python3 -m pytest
```
or

```
$ cd src/graderservice
$ python3 -m pytest
```

If tests fail, don't hesitate to ask for help.

9. Add and commit the changed files using `git add` and `git commit -m "my commit message here"`. You may notice that some commands run right after running `git commit ...`. These commands are run with the `pre-commit` hooks defined in the `.pre-commit-config.yaml` configuration file.
Expand Down
4 changes: 1 addition & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,14 +33,12 @@ venv:

dev: venv
${PYTHON} -m pip install -e src/illumidesk/.
${PYTHON} -m pip install -e src/graderservice/.

lint: venv
${VENV_BIN}/flake8 src
${VENV_BIN}/black .

test: dev
${PYTHON} -m pytest -vv src/illumidesk/tests

clean:
find . -name '*.pyc' -exec rm -f {} +
rm -rf $(VENV_NAME) *.eggs *.egg-info dist build docs/_build .cache
1 change: 1 addition & 0 deletions dev-requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ pytest==6.2.2
pre-commit==2.10.0
pytest-asyncio==0.14.0
pytest-cov==2.10.1
pytest-flask==1.2.0
pytest-html==3.0.0
pytest-metadata==1.10.0
pytest-mock==3.3.1
Expand Down
230 changes: 63 additions & 167 deletions dev-requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,171 +4,67 @@
#
# pip-compile dev-requirements.in
#
appdirs==1.4.4
# via
# black
# virtualenv
attrs==20.3.0
# via pytest
black==20.8b1
# via -r dev-requirements.in
cachetools==4.2.0
# via google-auth
certifi==2020.11.8
# via
# kubernetes
# requests
cfgv==3.2.0
# via pre-commit
chardet==3.0.4
# via requests
click==7.1.2
# via
# black
# flask
# pip-tools
codecov==2.1.9
# via -r dev-requirements.in
coverage==5.5
# via
# -r dev-requirements.in
# codecov
# pytest-cov
distlib==0.3.1
# via virtualenv
filelock==3.0.12
# via virtualenv
flake8==3.9.0
# via -r dev-requirements.in
flask-sqlalchemy==2.5.1
# via -r dev-requirements.in
flask==1.1.2
# via
# -r dev-requirements.in
# flask-sqlalchemy
google-auth==1.24.0
# via kubernetes
gunicorn==20.1.0
# via -r dev-requirements.in
identify==1.5.5
# via pre-commit
idna==2.10
# via requests
iniconfig==1.0.1
# via pytest
isort==5.7.0
# via -r dev-requirements.in
itsdangerous==1.1.0
# via flask
jinja2==2.11.2
# via flask
kubernetes==12.0.1
# via -r dev-requirements.in
markupsafe==1.1.1
# via jinja2
mccabe==0.6.1
# via flake8
mock==4.0.2
# via -r dev-requirements.in
mypy-extensions==0.4.3
# via black
nodeenv==1.5.0
# via pre-commit
oauthlib==3.1.0
# via requests-oauthlib
packaging==20.4
# via pytest
pathspec==0.8.0
# via black
pip-tools==5.4.0
# via -r dev-requirements.in
pluggy==0.13.1
# via pytest
pre-commit==2.10.0
# via -r dev-requirements.in
py==1.9.0
# via pytest
pyasn1-modules==0.2.8
# via google-auth
pyasn1==0.4.8
# via
# pyasn1-modules
# rsa
pycodestyle==2.7.0
# via flake8
pyflakes==2.3.0
# via flake8
pyparsing==2.4.7
# via packaging
pytest-asyncio==0.14.0
# via -r dev-requirements.in
pytest-cov==2.10.1
# via -r dev-requirements.in
pytest-html==3.0.0
# via -r dev-requirements.in
pytest-metadata==1.10.0
# via
# -r dev-requirements.in
# pytest-html
pytest-mock==3.3.1
# via -r dev-requirements.in
pytest==6.2.2
# via
# -r dev-requirements.in
# pytest-asyncio
# pytest-cov
# pytest-html
# pytest-metadata
# pytest-mock
python-dateutil==2.8.1
# via kubernetes
pyyaml==5.3.1
# via
# kubernetes
# pre-commit
regex==2020.9.27
# via black
requests-oauthlib==1.3.0
# via kubernetes
requests==2.25.1
# via
# -r dev-requirements.in
# codecov
# kubernetes
# requests-oauthlib
rsa==4.6
# via google-auth
six==1.15.0
# via
# google-auth
# kubernetes
# packaging
# pip-tools
# python-dateutil
# virtualenv
# websocket-client
sqlalchemy==1.3.20
# via flask-sqlalchemy
toml==0.10.1
# via
# black
# pre-commit
# pytest
typed-ast==1.4.1
# via black
typing-extensions==3.7.4.3
# via black
urllib3==1.25.11
# via
# kubernetes
# requests
virtualenv==20.0.33
# via pre-commit
websocket-client==0.57.0
# via kubernetes
werkzeug==1.0.1
# via flask

# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools
appdirs==1.4.4 # via black, virtualenv
attrs==20.3.0 # via pytest
black==20.8b1 # via -r dev-requirements.in
cachetools==4.2.0 # via google-auth
certifi==2020.11.8 # via kubernetes, requests
cfgv==3.2.0 # via pre-commit
chardet==3.0.4 # via requests
click==7.1.2 # via black, flask, pip-tools
codecov==2.1.9 # via -r dev-requirements.in
coverage==5.5 # via -r dev-requirements.in, codecov, pytest-cov
distlib==0.3.1 # via virtualenv
filelock==3.0.12 # via virtualenv
flake8==3.8.4 # via -r dev-requirements.in
flask-sqlalchemy==2.5.1 # via -r dev-requirements.in
flask==1.1.2 # via -r dev-requirements.in, flask-sqlalchemy, pytest-flask
google-auth==1.24.0 # via kubernetes
gunicorn==20.0.4 # via -r dev-requirements.in
identify==1.5.5 # via pre-commit
idna==2.10 # via requests
iniconfig==1.0.1 # via pytest
isort==5.7.0 # via -r dev-requirements.in
itsdangerous==1.1.0 # via flask
jinja2==2.11.2 # via flask
kubernetes==12.0.1 # via -r dev-requirements.in
markupsafe==1.1.1 # via jinja2
mccabe==0.6.1 # via flake8
mock==4.0.2 # via -r dev-requirements.in
mypy-extensions==0.4.3 # via black
nodeenv==1.5.0 # via pre-commit
oauthlib==3.1.0 # via requests-oauthlib
packaging==20.4 # via pytest
pathspec==0.8.0 # via black
pip-tools==5.4.0 # via -r dev-requirements.in
pluggy==0.13.1 # via pytest
pre-commit==2.10.0 # via -r dev-requirements.in
py==1.9.0 # via pytest
pyasn1-modules==0.2.8 # via google-auth
pyasn1==0.4.8 # via pyasn1-modules, rsa
pycodestyle==2.6.0 # via flake8
pyflakes==2.2.0 # via flake8
pyparsing==2.4.7 # via packaging
pytest-asyncio==0.14.0 # via -r dev-requirements.in
pytest-cov==2.10.1 # via -r dev-requirements.in
pytest-flask==1.2.0 # via -r dev-requirements.in
pytest-html==3.0.0 # via -r dev-requirements.in
pytest-metadata==1.10.0 # via -r dev-requirements.in, pytest-html
pytest-mock==3.3.1 # via -r dev-requirements.in
pytest==6.2.2 # via -r dev-requirements.in, pytest-asyncio, pytest-cov, pytest-flask, pytest-html, pytest-metadata, pytest-mock
python-dateutil==2.8.1 # via kubernetes
pyyaml==5.3.1 # via kubernetes, pre-commit
regex==2020.9.27 # via black
requests-oauthlib==1.3.0 # via kubernetes
requests==2.25.1 # via -r dev-requirements.in, codecov, kubernetes, requests-oauthlib
rsa==4.6 # via google-auth
six==1.15.0 # via google-auth, kubernetes, packaging, pip-tools, python-dateutil, virtualenv, websocket-client
sqlalchemy==1.3.20 # via flask-sqlalchemy
toml==0.10.1 # via black, pre-commit, pytest
typed-ast==1.4.1 # via black
typing-extensions==3.7.4.3 # via black
urllib3==1.25.11 # via kubernetes, requests
virtualenv==20.0.33 # via pre-commit
websocket-client==0.57.0 # via kubernetes
werkzeug==1.0.1 # via flask, pytest-flask
11 changes: 4 additions & 7 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
[tool.black]
skip-string-normalization = true
line-length = 119
line-length = 88
target-version = ['py38']
include = '\.pyi?$'
exclude = '''
(
/(
\.eggs
| \.git
| \.ipynb_checkpoints
| \.hg
| \.mypy_cache
| \.pytest_cache
| \.travis
| \.vscode
| \.tox
| \.venv
| _build
| build
| dist
)/
| pyproject.toml
)
'''
'''
Loading

0 comments on commit 88e905f

Please sign in to comment.