[build-system] requires = ["poetry>=0.12"] build-backend = "poetry.masonry.api" [tool.poetry] name = "relate-courseware" version = "2016.1" description = "RELATE courseware" readme = "README.rst" repository = "https://github.com/inducer/relate" documentation = "https://documen.tician.de/relate/" authors = ["Andreas Kloeckner "] 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.7" # 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 # 4.6.1 suffers from https://github.com/IdentityPython/pysaml2/pull/543 # 4.6.5 causes a 403 on /saml2/acs upon sign in with djangosaml2 # upper bounds just out of caution pysaml2 = ">=5.0.0,<6" djangosaml2 = {git = "https://github.com/knaperek/djangosaml2.git", rev = "v0.19.1"} # Explicit dependency decls to work around broken dep declaration in pysaml2 4.6.0 pyOpenSSL = "^19.1.0" 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 = "4.2.1" kombu = "4.2.2-post1" django-celery-results = "1.0.1" # For searchable select widgets django_select2 = ">=7.4.2,<8" # To sanitize HTML generated by user code for https://github.com/mozilla/bleach/pull/346 bleach = {git = "https://github.com/inducer/bleach", rev = "prevent-attribute-value-filtering"} # For query lexing pytools = "^2020.2" # For mypy (static type checking) support typing = ">=3.6.1" # For rendering ipython notebook nbconvert = ">=5.2.1" IPython = "^7.15.0" # For relate script colorama = "*" [tool.poetry.dev-dependencies] codecov = "^2.1.4" factory_boy = "^2.12.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"