django>=1.10,<1.11

# 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.0.3,<1.1

# django-yamlfield
# but for
# https://github.com/datadesk/django-yamlfield/pull/12
# use
git+https://github.com/piotrpawlaczek/django-yamlfield.git@feature/dj-1.9.x

# For easy content formatting:
markdown>=2.6.3

# For rendering macros in content:
jinja2

six

# For math/symbolic questions
pymbolic
sympy

# Django timezone support
pytz

# Course content is stored in YAML.
pyyaml

# dulwich
dulwich>=0.17.3
ecdsa
paramiko

# A date picker widget
git+https://github.com/inducer/django-bootstrap3-datetimepicker.git

# For in-class instant messaging
# dnspython  # Py2
dnspython3  # Py3
# Py2 broken was broken in 1.3.1
git+https://github.com/fritzy/SleekXMPP.git@6e27f28c854ce4ae1d9f0cc8ee407bda8de97d3b

# To manage web dependencies
#django-bower
# pending release with https://github.com/nvbn/django-bower/issues/68
git+https://github.com/nvbn/django-bower.git


# For comfortable code entry (git for py3 fix in git rev 8979538)
git+https://github.com/lambdalisue/django-codemirror-widget.git
#django-codemirror-widget

# Optional, used for caching, requires 'libmemcached-dev' (Debian package name)
# pylibmc

# For code isolation in code questions
docker-py

# For code highlighting, required via the CodeHilite extension to
# Python-Markdown
pygments

# For grade export
unicodecsv

# To support network matching for facility recognition
ipaddress

# {{{ For interoperation with SAML2/Shibboleth

pysaml2
git+https://github.com/knaperek/djangosaml2.git
# Note: djangosaml2 uses a non-Py3 version of python-memcached directly.  #
# Override that. Also: Don't be tempted to use this for Django caching--it's
# broken.
python-memcached==1.58

# }}}

# {{{ A task queue, used to execute long-running tasks
celery<4
# kombu 4 removes the Django ORM transport
kombu<4

# Package index release 3.1.17 (current as of Nov 6, 2015)
# still affected by https://github.com/celery/django-celery/issues/411
git+https://github.com/celery/django-celery.git@6232c79557517afa74967fcb980c0db2fb1174d8

# }}}

# For searchable select widgets
django_select2>=5.5.0

# To sanitize HTML generated by user code
bleach>=2.0,<3

# Custom user migration created using
# https://bitbucket.org/spookylukey/django_custom_user_migration
# (but this package no longer needs to be installed)

# For query lexing
pytools

# For mypy (static type checking) support
typing

# vim: foldmethod=marker
