Requirements

Before adding a new requirement to a project:

  1. Our core technologies are Django and Ember.
  2. Ask… is it really required? We want to re-use good code, but keep requirements to a minimum.
  3. Check the project is active i.e. has recent commits and is keeping up with recent releases e.g. Django 2
  4. Discuss with the team before adding.

Requirements:

anytree==2.4.3
attrs==18.2.0
beautifulsoup4==4.6.3
# bleach needs 'html5lib' (I think)
bleach==3.0.2
boto==2.36.0
celery==3.1.26.post2
coreapi==2.3.3
cssselect==1.0.3
d2to1==0.2.12
django-axes==4.4.0
django-bootstrap3==10.0.1
django-braces==1.13.0
# remove this ref. https://www.kbsoftware.co.uk/crm/ticket/1689/
# django-celery-transactions==0.3.6
django-colorful==1.2
# remove this ref. https://www.kbsoftware.co.uk/crm/ticket/1009/
# django-compressor==2.1
django-cors-headers==2.2.0
django-countries==5.3.1
django-crispy-forms==1.7.2
django-extensions==2.1.3
django-formtools==2.1
django-mptt==0.9.1
django-nvd3==0.9.7
django-recaptcha==1.4.0
# django-redis==4.10.0 causes issues with Celery worker
django-redis==4.9.1
django-reversion==3.0.2
django-sendfile==0.3.11
django-statsd-mozilla==0.3.14
django-storages-redux
django-taggit==0.23.0
django-waffle==0.11.1
Django==2.1.3
djangoajax==2.4
djangorestframework==3.9.0
djrill==2.1.0
dnspython==1.15.0
docutils==0.14
easy-thumbnails==2.5
elastic-apm==4.0.1
elasticsearch==6.3.1
Flask-Cors==3.0.6
Flask==1.0.2
git+https://github.com/pyinstaller/pyinstaller.git@c7a24e5a023bdd7d2d6c571f6bab0513d8e809a1#egg=PyInstaller
google-api-python-client==1.7.4
google-auth-httplib2==0.0.3
google-auth==1.5.1
hg+https://bitbucket.org/schinckel/django-jsonfield#egg=jsonfield
html5lib==1.0.1
humanize==0.5.1
iso8601==0.1.10
lxml==3.4.4
mailchimp3==3.0.6
mysqlclient==1.3.12
Pillow==5.3.0
psd-tools==1.4
# see 'psycopg2' note below...
psycopg2==2.7.6.1 --no-binary=psycopg2
# for windows
psycopg2-binary==2.7.5
PyInstaller==3.4
pypiwin32==223
pypyodbc==1.3.5
python-dateutil==2.7.5
python-slugify==1.2.6
python-whois==0.7.0
pytz==2018.7
PyYAML==3.13
# redis==3.0.1 causes issues with Celery worker
redis==2.10.6
reportlab==3.5.10
requests==2.19.1
social-auth-app-django==1.1.0
sparkpost==1.3.6
spyne==2.11.0
statsd==3.0.1
stripe==1.84.2
tasklib==1.1.0
transitions==0.6.9
workalendar==2.5.0
xmltodict==0.11.0
Yapsy==1.10.423

To update the version of a dependency in base.txt:

find . -name "base.txt" | xargs sed -i 's/Django==1.6.1/Django==1.6.2/g'

psycopg2

Psycopg 2.7.4 released, What’s the problem with Wheels?

email from Malcolm, 04/07/2018… it seems that until v2.8 is released the wheel is still included in the psycopg2 package and is installed by default so to install from source we need to specify the --no-binary option in the requirements file as follows:

psycopg2==2.7.5 --no-binary=psycopg2

Recreating the virtual environment or running pip uninstall psycopg2 and then pip install -r requirements/local.txt will install from source and remove the message.