django>=1.8.4,<2.0

# 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 (git for Py3 support)
dulwich>=0.14
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

# 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

# django-celery (release) is broken: https://github.com/celery/django-celery/issues/411
# but fixed in Debian.
git+https://anonscm.debian.org/git/python-modules/packages/django-celery.git

# }}}

# For searchable select widgets
django_select2>=5.5.0

# 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

# vim: foldmethod=marker
