diff --git a/Pipfile b/Pipfile index 84a410f51..e4f037b19 100644 --- a/Pipfile +++ b/Pipfile @@ -4,38 +4,76 @@ verify_ssl = true name = "pypi" [packages] -django = "<2.1,>=2.0" -pillow = "*" -coveralls = "*" -dateparser = "*" -django-cors-headers = "*" -django-crispy-forms = "*" -django-extensions = "*" -django-filter = "*" -djangorestframework = "*" -factory-boy = "*" -filemagic = "*" -fuzzywuzzy = {extras = ["speedup"], version = "==0.15.0"} -gunicorn = "*" -inotify-simple = "*" -langdetect = "*" -pdftotext = "*" -pyocr = "*" -python-dateutil = "*" -python-dotenv = "*" -python-gnupg = "*" -pytz = "*" -sphinx = "*" -tox = "*" -pycodestyle = "*" -pytest = "*" -pytest-cov = "*" -pytest-django = "*" -pytest-sugar = "*" -pytest-env = "*" -pytest-xdist = "*" -psycopg2 = "*" -djangoql = "*" +coveralls = "==1.5.1" +dateparser = "==0.7.0" +django-cors-headers = "==2.4.0" +django-crispy-forms = "==1.7.2" +django-extensions = "==2.1.4" +django-filter = "==2.1.0" +djangorestframework = "==3.9.1" +factory-boy = "==2.11.1" +filemagic = "==1.6" +fuzzywuzzy = {extras = ["speedup"],version = "==0.15.0"} +gunicorn = "==19.9.0" +langdetect = "==1.0.7" +pdftotext = "==2.1.1" +pyocr = "==0.5.3" +python-dateutil = "==2.7.5" +python-dotenv = "==0.10.1" +python-gnupg = "==0.4.4" +pytz = "==2018.9" +tox = "==3.7.0" +pycodestyle = "==2.4.0" +pytest = "==4.1.1" +pytest-cov = "==2.6.1" +pytest-django = "==3.4.5" +pytest-sugar = "==0.9.2" +pytest-env = "==0.6.2" +pytest-xdist = "==1.26.0" +psycopg2 = "==2.7.7" +djangoql = "==0.12.3" +whitenoise = "==4.1.3" +alabaster = "==0.7.12" +apipkg = "==1.5" +atomicwrites = "==1.2.1" +attrs = "==18.2.0" +certifi = "==2018.11.29" +chardet = "==3.0.4" +coverage = "==4.5.2" +docopt = "==0.6.2" +docutils = "==0.14" +execnet = "==1.5.0" +filelock = "==3.0.10" +idna = "==2.8" +imagesize = "==1.1.0" +more-itertools = "==5.0.0" +pluggy = "==0.8.1" +ply = "==3.11" +py = "==1.7.0" +pyparsing = "==2.3.1" +pytest-forked = "==1.0.1" +regex = "==2019.1.24" +requests = "==2.21.0" +six = "==1.12.0" +snowballstemmer = "==1.2.1" +sphinxcontrib-websupport = "==1.1.0" +termcolor = "==1.1.0" +text-unidecode = "==1.2" +toml = "==0.10.0" +tzlocal = "==1.5.1" +urllib3 = "==1.24.1" +virtualenv = "==16.3.0" +Django = "==2.0.10" +Pillow = "==5.4.1" +inotify_simple = "==1.1.8" +Sphinx = "==1.8.3" +Brotli = "==1.0.7" +Babel = "==2.6.0" +Faker = "==1.0.2" +Jinja2 = "==2.10" +MarkupSafe = "==1.1.0" +Pygments = "==2.3.1" +python-Levenshtein = "==0.12.0" [dev-packages] ipython = "*" diff --git a/Pipfile.lock b/Pipfile.lock index 29032f6bb..9bc0f51f8 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "971e0c975821925652865e34eed1c668bc6f52bb8217b776f35e87a66c936e1b" + "sha256": "a87b309c10b65c7767094c13538e3233250022a2a93a6b0deea2ec779bc3161e" }, "pipfile-spec": 6, "requires": {}, @@ -19,6 +19,7 @@ "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359", "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" ], + "index": "pypi", "version": "==0.7.12" }, "apipkg": { @@ -26,6 +27,7 @@ "sha256:37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6", "sha256:58587dd4dc3daefad0487f6d9ae32b4542b185e1c36db6993290e7c41ca2b47c" ], + "index": "pypi", "version": "==1.5" }, "atomicwrites": { @@ -33,6 +35,7 @@ "sha256:0312ad34fcad8fac3704d441f7b317e50af620823353ec657a53e981f92920c0", "sha256:ec9ae8adaae229e4f8446952d204a3e4b5fdd2d099f9be3aaf556120135fb3ee" ], + "index": "pypi", "version": "==1.2.1" }, "attrs": { @@ -40,6 +43,7 @@ "sha256:10cbf6e27dbce8c30807caf056c8eb50917e0eaafe86347671b57254006c3e69", "sha256:ca4be454458f9dec299268d472aaa5a11f67a4ff70093396e1ceae9c76cf4bbb" ], + "index": "pypi", "version": "==18.2.0" }, "babel": { @@ -47,13 +51,49 @@ "sha256:6778d85147d5d85345c14a26aada5e478ab04e39b078b0745ee6870c2b5cf669", "sha256:8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23" ], + "index": "pypi", "version": "==2.6.0" }, + "brotli": { + "hashes": [ + "sha256:0538dc1744fd17c314d2adc409ea7d1b779783b89fd95bcfb0c2acc93a6ea5a7", + "sha256:0970a47f471782912d7705160b2b0a9306e68e6fadf9cffcaeb42d8f0951e26c", + "sha256:113f51658e6fe548dce4b3749f6ef6c24de4184ba9c10a909cbee4261c2a5da0", + "sha256:1e1aa9c4d1558889f42749c8baf846007953bfd32c8209230cf1cd1f5ef33495", + "sha256:2f2f4f78f29ac4a45d15b3d9fc3fd9705e0ad313a44b129f6e1d0c6916bad0e2", + "sha256:3269f6de1dd150fd0cce1c158b61ff5ac06d627fd3ae9c6ea03aed26fbbff7ea", + "sha256:50dd9ad2a2bb12da4e9002a438672d182f98e546e99952de80280a1e1729664f", + "sha256:5519a4b01b1a4f965083cbfa2ef2b9774c5a5f352341c47b50776ad109423d72", + "sha256:5eb27722d320370315971c427eb8aa7cc0791f2a458840d357ac653bd0ad3a14", + "sha256:5f06b4d5b6f58e5b5c220c2f23cad034dc5efa51b01fde2351ced1605bd980e2", + "sha256:72848d25a5f9e736db4af4512e0c3feecc094d57d241f8f1ae959115a2c39756", + "sha256:743001bca75f4a6b4454be3510feca46f9d61a0c782a9bc2bc684bdb245e279e", + "sha256:9d1c2dd27a1083fefd05b1b2f8df4a6bc2aaa6c21dd82cd41c8ae5e7c23a87f8", + "sha256:a13ce9b419fe9f277c63f700efb0e444331509d1881b5610d2ba7e9080606967", + "sha256:a19ef0952b9d2803df88dff07f45a6c92d5676afb9b8d69cf32232d684036d11", + "sha256:ad766ca8b8c1419b71a22756b45264f45725c86133dc80a7cbe30b6b78c75620", + "sha256:ad7963f261988ee0883816b6b9f206f11461c9b3cb5cfbca0c9ab5adc406d395", + "sha256:c16201060c5a3f8742e3deae759014251ac92f382f82bc2a41dc079ff18c3f24", + "sha256:c43b202f65891861a9a336984a103de25de235f756de69e32db893156f767013", + "sha256:c675c6cce4295cb1a692f3de7416aacace7314e064b94bc86e93aceefce7fd3e", + "sha256:d17cec0b992b1434f5f9df9986563605a4d1b1acd5574c87fc2ac014bcbd3316", + "sha256:dc91f6129953861a73d9a65c52a8dd682b561a9ebaf65283541645cab6489917", + "sha256:e2f4cbd1760d2bf2f30e396c2301999aab0191aec031a6a8a04950b2f575a536", + "sha256:f192e6d3556714105c10486bbd6d045e38a0c04d9da3cef21e0a8dfd8e162df4", + "sha256:f775b07026af2b1b0b5a8b05e41571cdcf3a315a67df265d60af301656a5425b", + "sha256:f969ec7f56ba9636679e69ca07fba548312ccaca37412ee823c7f413541ad7e0", + "sha256:f9dc52cd70907aafb99a773b66b156f2f995c7a0d284397c487c8b71ddbef2f9", + "sha256:fc7212e36ebeb81aebf7949c92897b622490d7c0e333a479c0395591e7994600" + ], + "index": "pypi", + "version": "==1.0.7" + }, "certifi": { "hashes": [ "sha256:47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7", "sha256:993f830721089fef441cdfeb4b2c8c9df86f0c63239f06bd025a76a7daddb033" ], + "index": "pypi", "version": "==2018.11.29" }, "chardet": { @@ -61,6 +101,7 @@ "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae", "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691" ], + "index": "pypi", "version": "==3.0.4" }, "coverage": { @@ -97,6 +138,7 @@ "sha256:ed02c7539705696ecb7dc9d476d861f3904a8d2b7e894bd418994920935d36bb", "sha256:ee5b8abc35b549012e03a7b1e86c09491457dba6c94112a2482b18589cc2bdb9" ], + "index": "pypi", "version": "==4.5.2" }, "coveralls": { @@ -174,6 +216,7 @@ "hashes": [ "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491" ], + "index": "pypi", "version": "==0.6.2" }, "docutils": { @@ -182,6 +225,7 @@ "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274", "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6" ], + "index": "pypi", "version": "==0.14" }, "execnet": { @@ -189,6 +233,7 @@ "sha256:a7a84d5fa07a089186a329528f127c9d73b9de57f1a1131b82bb5320ee651f6a", "sha256:fc155a6b553c66c838d1a22dba1dc9f5f505c43285a878c6f74a79c024750b83" ], + "index": "pypi", "version": "==1.5.0" }, "factory-boy": { @@ -204,6 +249,7 @@ "sha256:16342dca4d92bfc83bab6a7daf6650e0ab087605a66bc38f17523fdb01757910", "sha256:d871ea315b2dcba9138b8344f2c131a76ac62d6227ca39f69b0c889fec97376c" ], + "index": "pypi", "version": "==1.0.2" }, "filelock": { @@ -211,6 +257,7 @@ "sha256:b8d5ca5ca1c815e1574aee746650ea7301de63d87935b3463d26368b76e31633", "sha256:d610c1bb404daf85976d7a82eb2ada120f04671007266b708606565dd03b5be6" ], + "index": "pypi", "version": "==3.0.10" }, "filemagic": { @@ -244,6 +291,7 @@ "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407", "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c" ], + "index": "pypi", "version": "==2.8" }, "imagesize": { @@ -251,6 +299,7 @@ "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8", "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5" ], + "index": "pypi", "version": "==1.1.0" }, "inotify-simple": { @@ -265,6 +314,7 @@ "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd", "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4" ], + "index": "pypi", "version": "==2.10" }, "langdetect": { @@ -305,6 +355,7 @@ "sha256:f82e347a72f955b7017a39708a3667f106e6ad4d10b25f237396a7115d8ed5fd", "sha256:fb7c206e01ad85ce57feeaaa0bf784b97fa3cad0d4a5737bc5295785f5c613a1" ], + "index": "pypi", "version": "==1.1.0" }, "more-itertools": { @@ -313,6 +364,7 @@ "sha256:c0a5785b1109a6bd7fac76d6837fd1feca158e54e521ccd2ae8bfe393cc9d4fc", "sha256:fe7a7cae1ccb57d33952113ff4fa1bc5f879963600ed74918f1236e212ee50b9" ], + "index": "pypi", "version": "==5.0.0" }, "packaging": { @@ -370,6 +422,7 @@ "sha256:8ddc32f03971bfdf900a81961a48ccf2fb677cf7715108f85295c67405798616", "sha256:980710797ff6a041e9a73a5787804f848996ecaa6f8a1b1e08224a5894f2074a" ], + "index": "pypi", "version": "==0.8.1" }, "ply": { @@ -377,6 +430,7 @@ "sha256:00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3", "sha256:096f9b8350b65ebd2fd1346b12452efe5b9607f7482813ffca50c22722a807ce" ], + "index": "pypi", "version": "==3.11" }, "psycopg2": { @@ -420,6 +474,7 @@ "sha256:bf92637198836372b520efcba9e020c330123be8ce527e535d185ed4b6f45694", "sha256:e76826342cefe3c3d5f7e8ee4316b80d1dd8a300781612ddbc765c17ba25a6c6" ], + "index": "pypi", "version": "==1.7.0" }, "pycodestyle": { @@ -435,6 +490,7 @@ "sha256:5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a", "sha256:e8218dd399a61674745138520d0d4cf2621d7e032439341bc3f647bff125818d" ], + "index": "pypi", "version": "==2.3.1" }, "pyocr": { @@ -449,6 +505,7 @@ "sha256:66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a", "sha256:f6c5ef0d7480ad048c054c37632c67fca55299990fff127850181659eea33fc3" ], + "index": "pypi", "version": "==2.3.1" }, "pytest": { @@ -487,6 +544,7 @@ "sha256:260d03fbd38d5ce41a657759e8d19bc7c8cfa6d0dcfa36c0bc9742d33bc30742", "sha256:8d05c2e6f33cd4422571b2b1bb309720c398b0549cff499e3e4cde661875ab54" ], + "index": "pypi", "version": "==1.0.1" }, "pytest-sugar": { @@ -533,6 +591,7 @@ "hashes": [ "sha256:033a11de5e3d19ea25c9302d11224e1a1898fe5abd23c61c7c360c25195e3eb1" ], + "index": "pypi", "version": "==0.12.0" }, "pytz": { @@ -555,6 +614,7 @@ "sha256:e06eac198d9c76bcbe52b987b74ead0d353cfaa9f3d8cd907ec984f4bb20ea1e", "sha256:eee007ee39a02cb631b74f89f992766b9d7e952a750166f3e5a5baf8c328c070" ], + "index": "pypi", "version": "==2019.1.24" }, "requests": { @@ -562,6 +622,7 @@ "sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e", "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b" ], + "index": "pypi", "version": "==2.21.0" }, "six": { @@ -569,6 +630,7 @@ "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" ], + "index": "pypi", "version": "==1.12.0" }, "snowballstemmer": { @@ -576,6 +638,7 @@ "sha256:919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128", "sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89" ], + "index": "pypi", "version": "==1.2.1" }, "sphinx": { @@ -591,12 +654,14 @@ "sha256:68ca7ff70785cbe1e7bccc71a48b5b6d965d79ca50629606c7861a21b206d9dd", "sha256:9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9" ], + "index": "pypi", "version": "==1.1.0" }, "termcolor": { "hashes": [ "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b" ], + "index": "pypi", "version": "==1.1.0" }, "text-unidecode": { @@ -604,6 +669,7 @@ "sha256:5a1375bb2ba7968740508ae38d92e1f889a0832913cb1c447d5e2046061a396d", "sha256:801e38bd550b943563660a91de8d4b6fa5df60a542be9093f7abf819f86050cc" ], + "index": "pypi", "version": "==1.2" }, "toml": { @@ -611,6 +677,7 @@ "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c", "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e" ], + "index": "pypi", "version": "==0.10.0" }, "tox": { @@ -625,6 +692,7 @@ "hashes": [ "sha256:4ebeb848845ac898da6519b9b31879cf13b6626f7184c496037b818e238f2c4e" ], + "index": "pypi", "version": "==1.5.1" }, "urllib3": { @@ -632,6 +700,7 @@ "sha256:61bf29cada3fc2fbefad4fdf059ea4bd1b4a86d2b6d15e1c7c0b582b9752fe39", "sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22" ], + "index": "pypi", "version": "==1.24.1" }, "virtualenv": { @@ -639,7 +708,16 @@ "sha256:58c359370401e0af817fb0070911e599c5fdc836166306b04fd0f278151ed125", "sha256:729f0bcab430e4ef137646805b5b1d8efbb43fe53d4a0f33328624a84a5121f7" ], + "index": "pypi", "version": "==16.3.0" + }, + "whitenoise": { + "hashes": [ + "sha256:59d880d25d0e90bcc6554fe0504a11195bd2e59b3d690b6fb42a8040d4e67ef5", + "sha256:c9b7c47fdc1dba4d37bf2787a01a844dc7a521e174fcd22a2d429e0be65e1782" + ], + "index": "pypi", + "version": "==4.1.3" } }, "develop": { @@ -652,18 +730,18 @@ }, "decorator": { "hashes": [ - "sha256:33cd704aea07b4c28b3eb2c97d288a06918275dac0ecebdaf1bc8a48d98adb9e", - "sha256:cabb249f4710888a2fc0e13e9a16c343d932033718ff62e1e9bc93a9d3a9122b" + "sha256:86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de", + "sha256:f069f3a01830ca754ba5258fde2278454a0b5b79e0d7f5c13b3b97e57d4acff6" ], - "version": "==4.3.2" + "version": "==4.4.0" }, "ipython": { "hashes": [ - "sha256:6a9496209b76463f1dec126ab928919aaf1f55b38beb9219af3fe202f6bbdd12", - "sha256:f69932b1e806b38a7818d9a1e918e5821b685715040b48e59c657b3c7961b742" + "sha256:11067ab11d98b1e6c7f0993506f7a5f8a91af420f7e82be6575fcb7a6ca372a0", + "sha256:60bc55c2c1d287161191cc2469e73c116d9b634cff25fe214a43cba7cec94c79" ], "index": "pypi", - "version": "==7.2.0" + "version": "==7.6.1" }, "ipython-genutils": { "hashes": [ @@ -674,25 +752,25 @@ }, "jedi": { "hashes": [ - "sha256:571702b5bd167911fe9036e5039ba67f820d6502832285cde8c881ab2b2149fd", - "sha256:c8481b5e59d34a5c7c42e98f6625e633f6ef59353abea6437472c7ec2093f191" + "sha256:53c850f1a7d3cfcd306cc513e2450a54bdf5cacd7604b74e42dd1f0758eaaf36", + "sha256:e07457174ef7cb2342ff94fa56484fe41cec7ef69b0059f01d3f812379cb6f7c" ], - "version": "==0.13.2" + "version": "==0.14.1" }, "parso": { "hashes": [ - "sha256:4b8f9ed80c3a4a3191aa3261505d868aa552dd25649cb13a7d73b6b7315edf2d", - "sha256:5a120be2e8863993b597f1c0437efca799e90e0793c98ae5d4e34ebd00140e31" + "sha256:63854233e1fadb5da97f2744b6b24346d2750b85965e7e399bec1620232797dc", + "sha256:666b0ee4a7a1220f65d367617f2cd3ffddff3e205f3f16a0284df30e774c2a9c" ], - "version": "==0.3.2" + "version": "==0.5.1" }, "pexpect": { "hashes": [ - "sha256:2a8e88259839571d1251d278476f3eec5db26deb73a70be5ed5dc5435e418aba", - "sha256:3fbd41d4caf27fa4a377bfd16fef87271099463e6fa73e92a52f92dfee5d425b" + "sha256:2094eefdfcf37a1fdbfb9aa090862c1a4878e5c7e0e7e7088bdb511c558e5cd1", + "sha256:9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb" ], "markers": "sys_platform != 'win32'", - "version": "==4.6.0" + "version": "==4.7.0" }, "pickleshare": { "hashes": [ @@ -703,11 +781,11 @@ }, "prompt-toolkit": { "hashes": [ - "sha256:c1d6aff5252ab2ef391c2fe498ed8c088066f66bc64a8d5c095bbf795d9fec34", - "sha256:d4c47f79b635a0e70b84fdb97ebd9a274203706b1ee5ed44c10da62755cf3ec9", - "sha256:fd17048d8335c1e6d5ee403c3569953ba3eb8555d710bfc548faf0712666ea39" + "sha256:11adf3389a996a6d45cc277580d0d53e8a5afd281d0c9ec71b28e6f121463780", + "sha256:2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1", + "sha256:977c6583ae813a37dc1c2e1b715892461fcbdaa57f6fc62f33a528c4886c8f55" ], - "version": "==2.0.7" + "version": "==2.0.9" }, "ptyprocess": { "hashes": [ @@ -721,6 +799,7 @@ "sha256:5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a", "sha256:e8218dd399a61674745138520d0d4cf2621d7e032439341bc3f647bff125818d" ], + "index": "pypi", "version": "==2.3.1" }, "six": { @@ -728,6 +807,7 @@ "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73" ], + "index": "pypi", "version": "==1.12.0" }, "traitlets": { diff --git a/requirements.txt b/requirements.txt index 0885215c4..a643a88cf 100755 --- a/requirements.txt +++ b/requirements.txt @@ -4,6 +4,7 @@ apipkg==1.5 atomicwrites==1.2.1 attrs==18.2.0 babel==2.6.0 +brotli==1.0.7 certifi==2018.11.29 chardet==3.0.4 coverage==4.5.2 @@ -68,3 +69,4 @@ tox==3.7.0 tzlocal==1.5.1 urllib3==1.24.1 virtualenv==16.3.0 +whitenoise==4.1.3