forked from inducer/relate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
pyproject.toml
129 lines (115 loc) · 3.48 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
[build-system]
# Works around a setuptools 50 issue
# AK, 2020-12-11
# taken from https://github.com/AnalogJ/lexicon/pull/629/files
requires = [
"setuptools!=50",
"poetry>=0.12",
]
build-backend = "poetry.masonry.api"
[tool.poetry]
name = "relate-courseware"
version = "2020.1"
description = "RELATE courseware"
readme = "README.rst"
repository = "https://github.com/inducer/relate"
documentation = "https://documen.tician.de/relate/"
authors = ["Andreas Kloeckner <[email protected]>"]
license = "MIT"
packages = [
{ include = "course" },
{ include = "accounts" },
{ include = "relate" },
# { include = "bin" },
]
[tool.poetry.scripts]
relate = "relate.bin.relate:main"
[tool.poetry.dependencies]
python = "^3.6"
django = "^3.0.13,<3.1"
# Automatically renders Django forms in a pretty, Bootstrap-compatible way.
django-crispy-forms = ">=1.5.1"
# Page data, answer data, ... all represented in JSON. This makes that editable in the Django admin.
jsonfield = ">=1.4.0"
# /!\ Upstream is dead, using branch for Django 3.0 support
django-yamlfield = {git = "https://github.com/bakatrouble/django-yamlfield.git", rev = "c92d0373d12a02d1e52fb09b44010f156111d7ea"}
# For easy content formatting:
markdown = "^2.6.3"
# For rendering macros in content:
jinja2 = "^2.11.2"
# For math/symbolic questions
pymbolic = "*"
sympy = "*"
# Django timezone support
pytz = "^2020.1"
# Course content is stored in YAML.
pyyaml = "*"
# Dulwich git integration
dulwich = "^0.20.3"
ecdsa = "^0.15"
# FIXME: 2.7.1 gives bogus 'incorrect padding' error on PEM parsing
paramiko = "<2.7"
# A date picker widget - https://github.com/tutorcruncher/django-bootstrap3-datetimepicker
django-bootstrap3-datetimepicker-2 = "^2.8.2"
# For in-class instant messaging
dnspython = "^1.16.0"
SleekXMPP = "^1.3.3"
# To manage web dependencies
django-npm = "^1.0.0"
# For comfortable code entry
django-codemirror-widget = ">=0.5"
# For code isolation in code questions
docker-py = "^1.10.6"
# For code highlighting, required via the CodeHilite extension to Python-Markdown
pygments = "^2.6.1"
# For grade export
unicodecsv = "^0.14.1"
# To support network matching for facility recognition
ipaddress = "^1.0.23"
# {{{ For interoperation with SAML2/Shibboleth
pysaml2 = "^6.5.1"
djangosaml2 = "^v1.0.4"
# }}}
future = "^0.18.2"
# Try to avoid https://github.com/Julian/jsonschema/issues/449
attrs = ">=19"
python-memcached = "^1.59"
# A task queue, used to execute long-running tasks
celery = "^5.0.5"
kombu = "*"
django-celery-results = "^2.0.1"
# For searchable select widgets
django_select2 = "^7.4.2"
# To sanitize HTML generated by user code for https://github.com/mozilla/bleach/pull/346
bleach = "^3.1.5"
# bleach is based on html5lib, but they vendor it. I don't think we should fish the
# vendored bits out of bleach, so we'll introduce our own dependency for data-URI
# sanitization.
html5lib = "^1.1"
# For query lexing
pytools = "^2020.2"
# For rendering ipython notebook
nbconvert = "^5.2.1"
IPython = "^7.15.0"
# For relate script
colorama = "*"
# not a direct dependency
# version constraint is here because of CVE-2020-25659
cryptography = "^3.2.1"
social-auth-app-django = "^4.0.0"
[tool.poetry.dev-dependencies]
codecov = "^2.1.4"
factory_boy = "^2.12.0"
flake8-quotes = "^3.2.0"
flake8 = "^3.8.3"
pep8-naming = "^0.10.0"
mypy = "^0.780"
pytest = "^5.4.3"
pytest-django = "^3.9.0"
pytest-factoryboy = "^2.0.3"
pytest-cov = "^2.10.0"
safety = "^1.9.0"
sphinx = "^3.2.1"
furo = "^2020.11.27b19"
sphinx-copybutton = "^0.3.1"
# vim: foldmethod=marker