#256 Migrate all project dependencies to Pipfile
Merged 4 years ago by jflory7. Opened 4 years ago by jflory7.
fedora-commops/ jflory7/fedora-happiness-packets change/pipenv  into  master

file modified
+18 -16
@@ -1,31 +1,33 @@ 

- #Issue with celery=4.2.1 with Py3.7 hence Py3.6.8 used

+ # Issue with celery=4.2.1 with Py3.7 hence Py3.6.8 used

  FROM python:3.6.8-alpine

  

+ ENV DJANGO_SETTINGS_MODULE=happinesspackets.settings.dev

+ ENV FEDORA_MESSAGING_CONF=/app/config.toml

+ 

  # Set current working directory

  WORKDIR /app

  

- #Install required system packages

- RUN apk add --update --no-cache build-base bash readline libffi-dev ncurses-dev python2-dev postgresql-dev

- 

- # Install required Python packages

- COPY ./requirements /app/requirements

- RUN pip install -r requirements/dev.txt

- 

- # Set correct DJANGO_SETTINGS_MODULE

- ENV DJANGO_SETTINGS_MODULE=happinesspackets.settings.dev

- 

- # Set the path for fedora-messaging configuration file

- ENV FEDORA_MESSAGING_CONF=/app/config.toml

+ # Install required system packages

+ RUN apk add --update --no-cache \

+         build-base \

+         bash \

+         curl \

+         readline \

+         libffi-dev \

+         ncurses-dev \

+         python3-dev \

+         postgresql-dev

  

  # Copy project files into container

  COPY . /app

  

  # Check if client_secrets.json is present, and generate if not

- RUN apk add --update --no-cache curl

- RUN chmod +x generate_client_secrets.sh

  RUN ./generate_client_secrets.sh

  

- RUN ./manage.py collectstatic --noinput

+ # Install required Python packages

+ RUN pip install pipenv \

+         && pipenv install --system --deploy --dev

  

  # Expose Django port

  EXPOSE 8000

+ CMD [ "./manage.py", "collectstatic", "--noinput" ]

file modified
+65
@@ -4,9 +4,74 @@ 

  verify_ssl = true

  

  [dev-packages]

+ coverage = "*"

+ django-coverage = "*"

+ django-debug-toolbar = "*"

+ mock = "*"

  pytest = "*"

+ pytest-cov = "*"

+ pytest-django = "*"

+ pytest-mock = "*"

+ pytest-sugar = "*"

+ selenium = "*"

+ sphinx = "*"

+ sphinx-rtd-theme = "*"

  

  [packages]

+ # django-haystack doesn't have support for Django 2.1 yet

+ Django = "==2.0.13"

+ 

+ # Basic Django extensions

+ django-extensions = "==1.6.1"

+ django-braces = "==1.8.1"

+ django-crispy-forms = "==1.7.2"

+ django-model-utils = "==2.4"

+ dogslow = "==1.2"          # For logging details about very slow requests

+ six = ">=1.11.0"          # Dependency of django-extensions

+ 

+ # Basic Python libraries

+ Unipath = "==1.1"          # Better path handling

+ pytz = "==2015.7"          # Timezone data

+ ipython = "==7.3.0"        # Prettier python prompt

+ 

+ # PEP8 validation with dependencies

+ flake8 = "==2.5.4"

+ mccabe = "==0.4.0"

+ pyflakes = "==1.0.0"

+ pep8 = "==1.7.0"

+ 

+ # Misc

+ urllib3 = "==1.24.2"       # Dependency for requests

+ python-dateutil = "==2.5.0"

+ factory-boy = "==2.9.2"

+ mozilla-django-oidc = "==1.2.2"

+ fedora-messaging = ">=1.4.0"

+ happinesspacket-schema = ">=1.0.0"

+ celery = { version = "==4.2.1", extras = ['redis'] }

+ django-celery-email = "==2.0.1"

+ psycopg2 = "==2.7.5" # PostgreSQL driver

+ bleach = ">=3.1.0"

+ 

+ # Search engine

+ Whoosh = "==2.7.4"

+ django-haystack = "==2.8.1"

+ 

+ # python-fedora for interacting with FAS API

+ python-fedora = "==0.10.0"

+ 

+ #Dependency for normalizing emails

+ email-normalize = "==0.2.1"

+ 

+ # Dependency for YAML file

+ pyyaml = "==5.1"

+ 

+ # WYSIWYG addition

+ django-ckeditor = "==5.7.0"

+ 

+ # Production packages

+ gunicorn = "==19.4.1"

+ python-memcached = "==1.57"

+ 

  

  [requires]

  python_version = "3.6"

file modified
+1071 -15
@@ -1,7 +1,7 @@ 

  {

      "_meta": {

          "hash": {

-             "sha256": "fe5873b873c525eda6223e20fd22f4c9ec625addba1f0a5f9eb3c9b94c1d8b2d"

+             "sha256": "f3b5c5f04eed5952e686fba990a964aacaec22dd51ba4da09e82bc759111a5f8"

          },

          "pipfile-spec": 6,

          "requires": {
@@ -15,8 +15,765 @@ 

              }

          ]

      },

-     "default": {},

+     "default": {

+         "amqp": {

+             "hashes": [

+                 "sha256:aa4409446139676943a2eaa27d5f58caf750f4ca5a89f888c452afd86be6a67d",

+                 "sha256:cbb6f87d53cac612a594f982b717cc1c54c6a1e17943a0a0d32dc6cc9e2120c8"

+             ],

+             "version": "==2.5.0"

+         },

+         "asn1crypto": {

+             "hashes": [

+                 "sha256:2f1adbb7546ed199e3c90ef23ec95c5cf3585bac7d11fb7eb562a3fe89c64e87",

+                 "sha256:9d5c20441baf0cb60a4ac34cc447c6c189024b6b4c6cd7877034f4965c464e49"

+             ],

+             "version": "==0.24.0"

+         },

+         "attrs": {

+             "hashes": [

+                 "sha256:69c0dbf2ed392de1cb5ec704444b08a5ef81680a61cb899dc08127123af36a79",

+                 "sha256:f0b870f674851ecbfbbbd364d6b5cbdff9dcedbc7f3f5e18a6891057f21fe399"

+             ],

+             "version": "==19.1.0"

+         },

+         "automat": {

+             "hashes": [

+                 "sha256:cbd78b83fa2d81fe2a4d23d258e1661dd7493c9a50ee2f1a5b2cac61c1793b0e",

+                 "sha256:fdccab66b68498af9ecfa1fa43693abe546014dd25cf28543cbe9d1334916a58"

+             ],

+             "version": "==0.7.0"

+         },

+         "backcall": {

+             "hashes": [

+                 "sha256:38ecd85be2c1e78f77fd91700c76e14667dc21e2713b63876c0eb901196e01e4",

+                 "sha256:bbbf4b1e5cd2bdb08f915895b51081c041bac22394fdfcfdfbe9f14b77c08bf2"

+             ],

+             "version": "==0.1.0"

+         },

+         "beautifulsoup4": {

+             "hashes": [

+                 "sha256:05668158c7b85b791c5abde53e50265e16f98ad601c402ba44d70f96c4159612",

+                 "sha256:25288c9e176f354bf277c0a10aa96c782a6a18a17122dba2e8cec4a97e03343b",

+                 "sha256:f040590be10520f2ea4c2ae8c3dae441c7cfff5308ec9d58a0ec0c1b8f81d469"

+             ],

+             "version": "==4.8.0"

+         },

+         "billiard": {

+             "hashes": [

+                 "sha256:42d9a227401ac4fba892918bba0a0c409def5435c4b483267ebfe821afaaba0e"

+             ],

+             "version": "==3.5.0.5"

+         },

+         "bleach": {

+             "hashes": [

+                 "sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16",

+                 "sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa"

+             ],

+             "index": "pypi",

+             "version": "==3.1.0"

+         },

+         "blinker": {

+             "hashes": [

+                 "sha256:471aee25f3992bd325afa3772f1063dbdbbca947a041b8b89466dc00d606f8b6"

+             ],

+             "version": "==1.4"

+         },

+         "celery": {

+             "extras": [

+                 "redis"

+             ],

+             "hashes": [

+                 "sha256:77dab4677e24dc654d42dfbdfed65fa760455b6bb563a0877ecc35f4cfcfc678",

+                 "sha256:ad7a7411772b80a4d6c64f2f7f723200e39fb66cf614a7fdfab76d345acc7b13"

+             ],

+             "index": "pypi",

+             "version": "==4.2.1"

+         },

+         "certifi": {

+             "hashes": [

+                 "sha256:046832c04d4e752f37383b628bc601a7ea7211496b4638f6514d0e5b9acc4939",

+                 "sha256:945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695"

+             ],

+             "version": "==2019.6.16"

+         },

+         "cffi": {

+             "hashes": [

+                 "sha256:041c81822e9f84b1d9c401182e174996f0bae9991f33725d059b771744290774",

+                 "sha256:046ef9a22f5d3eed06334d01b1e836977eeef500d9b78e9ef693f9380ad0b83d",

+                 "sha256:066bc4c7895c91812eff46f4b1c285220947d4aa46fa0a2651ff85f2afae9c90",

+                 "sha256:066c7ff148ae33040c01058662d6752fd73fbc8e64787229ea8498c7d7f4041b",

+                 "sha256:2444d0c61f03dcd26dbf7600cf64354376ee579acad77aef459e34efcb438c63",

+                 "sha256:300832850b8f7967e278870c5d51e3819b9aad8f0a2c8dbe39ab11f119237f45",

+                 "sha256:34c77afe85b6b9e967bd8154e3855e847b70ca42043db6ad17f26899a3df1b25",

+                 "sha256:46de5fa00f7ac09f020729148ff632819649b3e05a007d286242c4882f7b1dc3",

+                 "sha256:4aa8ee7ba27c472d429b980c51e714a24f47ca296d53f4d7868075b175866f4b",

+                 "sha256:4d0004eb4351e35ed950c14c11e734182591465a33e960a4ab5e8d4f04d72647",

+                 "sha256:4e3d3f31a1e202b0f5a35ba3bc4eb41e2fc2b11c1eff38b362de710bcffb5016",

+                 "sha256:50bec6d35e6b1aaeb17f7c4e2b9374ebf95a8975d57863546fa83e8d31bdb8c4",

+                 "sha256:55cad9a6df1e2a1d62063f79d0881a414a906a6962bc160ac968cc03ed3efcfb",

+                 "sha256:5662ad4e4e84f1eaa8efce5da695c5d2e229c563f9d5ce5b0113f71321bcf753",

+                 "sha256:59b4dc008f98fc6ee2bb4fd7fc786a8d70000d058c2bbe2698275bc53a8d3fa7",

+                 "sha256:73e1ffefe05e4ccd7bcea61af76f36077b914f92b76f95ccf00b0c1b9186f3f9",

+                 "sha256:a1f0fd46eba2d71ce1589f7e50a9e2ffaeb739fb2c11e8192aa2b45d5f6cc41f",

+                 "sha256:a2e85dc204556657661051ff4bab75a84e968669765c8a2cd425918699c3d0e8",

+                 "sha256:a5457d47dfff24882a21492e5815f891c0ca35fefae8aa742c6c263dac16ef1f",

+                 "sha256:a8dccd61d52a8dae4a825cdbb7735da530179fea472903eb871a5513b5abbfdc",

+                 "sha256:ae61af521ed676cf16ae94f30fe202781a38d7178b6b4ab622e4eec8cefaff42",

+                 "sha256:b012a5edb48288f77a63dba0840c92d0504aa215612da4541b7b42d849bc83a3",

+                 "sha256:d2c5cfa536227f57f97c92ac30c8109688ace8fa4ac086d19d0af47d134e2909",

+                 "sha256:d42b5796e20aacc9d15e66befb7a345454eef794fdb0737d1af593447c6c8f45",

+                 "sha256:dee54f5d30d775f525894d67b1495625dd9322945e7fee00731952e0368ff42d",

+                 "sha256:e070535507bd6aa07124258171be2ee8dfc19119c28ca94c9dfb7efd23564512",

+                 "sha256:e1ff2748c84d97b065cc95429814cdba39bcbd77c9c85c89344b317dc0d9cbff",

+                 "sha256:ed851c75d1e0e043cbf5ca9a8e1b13c4c90f3fbd863dacb01c0808e2b5204201"

+             ],

+             "version": "==1.12.3"

+         },

+         "chardet": {

+             "hashes": [

+                 "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",

+                 "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"

+             ],

+             "version": "==3.0.4"

+         },

+         "click": {

+             "hashes": [

+                 "sha256:2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13",

+                 "sha256:5b94b49521f6456670fdb30cd82a4eca9412788a93fa6dd6df72c94d5a8ff2d7"

+             ],

+             "version": "==7.0"

+         },

+         "constantly": {

+             "hashes": [

+                 "sha256:586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35",

+                 "sha256:dd2fa9d6b1a51a83f0d7dd76293d734046aa176e384bf6e33b7e44880eb37c5d"

+             ],

+             "version": "==15.1.0"

+         },

+         "cryptography": {

+             "hashes": [

+                 "sha256:24b61e5fcb506424d3ec4e18bca995833839bf13c59fc43e530e488f28d46b8c",

+                 "sha256:25dd1581a183e9e7a806fe0543f485103232f940fcfc301db65e630512cce643",

+                 "sha256:3452bba7c21c69f2df772762be0066c7ed5dc65df494a1d53a58b683a83e1216",

+                 "sha256:41a0be220dd1ed9e998f5891948306eb8c812b512dc398e5a01846d855050799",

+                 "sha256:5751d8a11b956fbfa314f6553d186b94aa70fdb03d8a4d4f1c82dcacf0cbe28a",

+                 "sha256:5f61c7d749048fa6e3322258b4263463bfccefecb0dd731b6561cb617a1d9bb9",

+                 "sha256:72e24c521fa2106f19623a3851e9f89ddfdeb9ac63871c7643790f872a305dfc",

+                 "sha256:7b97ae6ef5cba2e3bb14256625423413d5ce8d1abb91d4f29b6d1a081da765f8",

+                 "sha256:961e886d8a3590fd2c723cf07be14e2a91cf53c25f02435c04d39e90780e3b53",

+                 "sha256:96d8473848e984184b6728e2c9d391482008646276c3ff084a1bd89e15ff53a1",

+                 "sha256:ae536da50c7ad1e002c3eee101871d93abdc90d9c5f651818450a0d3af718609",

+                 "sha256:b0db0cecf396033abb4a93c95d1602f268b3a68bb0a9cc06a7cff587bb9a7292",

+                 "sha256:cfee9164954c186b191b91d4193989ca994703b2fff406f71cf454a2d3c7327e",

+                 "sha256:e6347742ac8f35ded4a46ff835c60e68c22a536a8ae5c4422966d06946b6d4c6",

+                 "sha256:f27d93f0139a3c056172ebb5d4f9056e770fdf0206c2f422ff2ebbad142e09ed",

+                 "sha256:f57b76e46a58b63d1c6375017f4564a28f19a5ca912691fd2e4261b3414b618d"

+             ],

+             "version": "==2.7"

+         },

+         "decorator": {

+             "hashes": [

+                 "sha256:86156361c50488b84a3f148056ea716ca587df2f0de1d34750d35c21312725de",

+                 "sha256:f069f3a01830ca754ba5258fde2278454a0b5b79e0d7f5c13b3b97e57d4acff6"

+             ],

+             "version": "==4.4.0"

+         },

+         "django": {

+             "hashes": [

+                 "sha256:665457d4146bbd34ae9d2970fa3b37082d7b225b0671bfd24c337458f229db78",

+                 "sha256:bde46d4dbc410678e89bc95ea5d312dd6eb4c37d0fa0e19c9415cad94addf22f"

+             ],

+             "index": "pypi",

+             "version": "==2.0.13"

+         },

+         "django-appconf": {

+             "hashes": [

+                 "sha256:35f13ca4d567f132b960e2cd4c832c2d03cb6543452d34e29b7ba10371ba80e3",

+                 "sha256:c98a7af40062e996b921f5962a1c4f3f0c979fa7885f7be4710cceb90ebe13a6"

+             ],

+             "version": "==1.0.3"

+         },

+         "django-braces": {

+             "hashes": [

+                 "sha256:88aa2eac0377bde8540b15c77f410785ee8d4f6b4913bf53464678327cd43d48",

+                 "sha256:e7e878528b06441464fe0f27b4771cec66f9496e0297042540b2822330e46c1e"

+             ],

+             "index": "pypi",

+             "version": "==1.8.1"

+         },

+         "django-celery-email": {

+             "hashes": [

+                 "sha256:1b2e0e31c6266007463befdc23934696fc93dcf320dfc85b8bb6b063cfe9558a",

+                 "sha256:e5f9122c02ec58d3e49653475ad1b8612fd752681ce2f006d9c0792c57046283"

+             ],

+             "index": "pypi",

+             "version": "==2.0.1"

+         },

+         "django-ckeditor": {

+             "hashes": [

+                 "sha256:852ae92358a3209727d5fa4acc97088bfadf58b643b8aa967ca4feb7792427d4",

+                 "sha256:c9ac3bbd48e269f54c3eb718aaee5252d99a9bca08417e2c02e1e49d989f0881"

+             ],

+             "index": "pypi",

+             "version": "==5.7.0"

+         },

+         "django-crispy-forms": {

+             "hashes": [

+                 "sha256:5952bab971110d0b86c278132dae0aa095beee8f723e625c3d3fa28888f1675f",

+                 "sha256:705ededc554ad8736157c666681165fe22ead2dec0d5446d65fc9dd976a5a876"

+             ],

+             "index": "pypi",

+             "version": "==1.7.2"

+         },

+         "django-extensions": {

+             "hashes": [

+                 "sha256:4799534f35eba1c07cb6f9859aa5bb719886769f5d35d2a38e7490ce90c0ce69",

+                 "sha256:f98f991d2b039033ac5faa638c0d1afb2720abf4d9d781573c3592d6899480a1"

+             ],

+             "index": "pypi",

+             "version": "==1.6.1"

+         },

+         "django-haystack": {

+             "hashes": [

+                 "sha256:8b54bcc926596765d0a3383d693bcdd76109c7abb6b2323b3984a39e3576028c"

+             ],

+             "index": "pypi",

+             "version": "==2.8.1"

+         },

+         "django-js-asset": {

+             "hashes": [

+                 "sha256:8ec12017f26eec524cab436c64ae73033368a372970af4cf42d9354fcb166bdd",

+                 "sha256:c163ae80d2e0b22d8fb598047cd0dcef31f81830e127cfecae278ad574167260"

+             ],

+             "version": "==1.2.2"

+         },

+         "django-model-utils": {

+             "hashes": [

+                 "sha256:26795b12c85044073438d78d6efbb0071ebe1ebf7be2c185f2f0ba25ac446464"

+             ],

+             "index": "pypi",

+             "version": "==2.4"

+         },

+         "dnspython": {

+             "hashes": [

+                 "sha256:36c5e8e38d4369a08b6780b7f27d790a292b2b08eea01607865bf0936c558e01",

+                 "sha256:f69c21288a962f4da86e56c4905b49d11aba7938d3d740e80d9e366ee4f1632d"

+             ],

+             "version": "==1.16.0"

+         },

+         "dogslow": {

+             "hashes": [

+                 "sha256:ad02632828d500dfe00ac7f0b852b60fd6008b7c7213f6e3233e0b881513fb2b"

+             ],

+             "index": "pypi",

+             "version": "==1.2"

+         },

+         "email-normalize": {

+             "hashes": [

+                 "sha256:66dc6e78f8b18b93e8a85adbdc0f658ed5d273d77ebbe65f5ea660403387bf17"

+             ],

+             "index": "pypi",

+             "version": "==0.2.1"

+         },

+         "factory-boy": {

+             "hashes": [

+                 "sha256:340c602f6fed2d8dd160397f28f2c0219e937f0488460450e8e5bf2add020ed6",

+                 "sha256:b8334bcc3c5b10af9a83ab5b8786f98cb322638dc1e6d320cad01c7f2b420e87"

+             ],

+             "index": "pypi",

+             "version": "==2.9.2"

+         },

+         "faker": {

+             "hashes": [

+                 "sha256:96ad7902706f2409a2d0c3de5132f69b413555a419bacec99d3f16e657895b47",

+                 "sha256:b3bb64aff9571510de6812df45122b633dbc6227e870edae3ed9430f94698521"

+             ],

+             "version": "==2.0.0"

+         },

+         "fedora-messaging": {

+             "hashes": [

+                 "sha256:0de2a06ed01404b556e9b026a1287942e87032f4d6fb2ea96278581c73de2cae",

+                 "sha256:9463edda0ab88bf566e7acb3ebb1f739b24dfae724a1eac383bb7af06543d2be"

+             ],

+             "index": "pypi",

+             "version": "==1.7.1"

+         },

+         "flake8": {

+             "hashes": [

+                 "sha256:cc1e58179f6cf10524c7bfdd378f5536d0a61497688517791639a5ecc867492f",

+                 "sha256:fb5a67af4024622287a76abf6b7fe4fb3cfacf765a790976ce64f52c44c88e4a"

+             ],

+             "index": "pypi",

+             "version": "==2.5.4"

+         },

+         "gunicorn": {

+             "hashes": [

+                 "sha256:53b8ab4676446892354407507c3a936ba731077c0f79239dd6e530507669e931",

+                 "sha256:63f1a0ce2502c01800de1d4dc812c9eba082e99f44beaacae9496c4151b096f8"

+             ],

+             "index": "pypi",

+             "version": "==19.4.1"

+         },

+         "happinesspacket-schema": {

+             "hashes": [

+                 "sha256:2e39f0d39e257c5f156dbd127917122a7b496e927f08940ce6038178c48ebb2c",

+                 "sha256:434be5073d0223eb14e542e6c88d1a2c46850e8c1f099dba5e6444d75ccc221c"

+             ],

+             "index": "pypi",

+             "version": "==1.0.0"

+         },

+         "hyperlink": {

+             "hashes": [

+                 "sha256:4288e34705da077fada1111a24a0aa08bb1e76699c9ce49876af722441845654",

+                 "sha256:ab4a308feb039b04f855a020a6eda3b18ca5a68e6d8f8c899cbe9e653721d04f"

+             ],

+             "version": "==19.0.0"

+         },

+         "idna": {

+             "hashes": [

+                 "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",

+                 "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"

+             ],

+             "version": "==2.8"

+         },

+         "incremental": {

+             "hashes": [

+                 "sha256:717e12246dddf231a349175f48d74d93e2897244939173b01974ab6661406b9f",

+                 "sha256:7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3"

+             ],

+             "version": "==17.5.0"

+         },

+         "ipython": {

+             "hashes": [

+                 "sha256:06de667a9e406924f97781bda22d5d76bfb39762b678762d86a466e63f65dc39",

+                 "sha256:5d3e020a6b5f29df037555e5c45ab1088d6a7cf3bd84f47e0ba501eeb0c3ec82"

+             ],

+             "index": "pypi",

+             "version": "==7.3.0"

+         },

+         "ipython-genutils": {

+             "hashes": [

+                 "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8",

+                 "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"

+             ],

+             "version": "==0.2.0"

+         },

+         "jedi": {

+             "hashes": [

+                 "sha256:53c850f1a7d3cfcd306cc513e2450a54bdf5cacd7604b74e42dd1f0758eaaf36",

+                 "sha256:e07457174ef7cb2342ff94fa56484fe41cec7ef69b0059f01d3f812379cb6f7c"

+             ],

+             "version": "==0.14.1"

+         },

+         "josepy": {

+             "hashes": [

+                 "sha256:8ea15573203f28653c00f4ac0142520777b1c59d9eddd8da3f256c6ba3cac916",

+                 "sha256:9cec9a839fe9520f0420e4f38e7219525daccce4813296627436fe444cd002d3"

+             ],

+             "version": "==1.2.0"

+         },

+         "jsonschema": {

+             "hashes": [

+                 "sha256:0c0a81564f181de3212efa2d17de1910f8732fa1b71c42266d983cd74304e20d",

+                 "sha256:a5f6559964a3851f59040d3b961de5e68e70971afb88ba519d27e6a039efff1a"

+             ],

+             "version": "==3.0.1"

+         },

+         "kitchen": {

+             "hashes": [

+                 "sha256:b84cf582f1bd1556b60ebc7370b9d331eb9247b6b070ce89dfe959cba2c0b03c"

+             ],

+             "version": "==1.2.6"

+         },

+         "kombu": {

+             "hashes": [

+                 "sha256:55b71d3785def3470a16217fe0780f9e6f95e61bf9ad39ef8dce0177224eab77",

+                 "sha256:eb365ea795cd7e629ba2f1f398e0c3ba354b91ef4de225ffdf6ab45fdfc7d581"

+             ],

+             "version": "==4.6.3"

+         },

+         "lockfile": {

+             "hashes": [

+                 "sha256:6aed02de03cba24efabcd600b30540140634fc06cfa603822d508d5361e9f799",

+                 "sha256:6c3cb24f344923d30b2785d5ad75182c8ea7ac1b6171b08657258ec7429d50fa"

+             ],

+             "version": "==0.12.2"

+         },

+         "mccabe": {

+             "hashes": [

+                 "sha256:9a2b12ebd876e77c72e41ebf401cc2e7c5b566649d50105ca49822688642207b",

+                 "sha256:cbc2938f6c01061bc6d21d0c838c2489664755cb18676f0734d7617f4577d09e"

+             ],

+             "index": "pypi",

+             "version": "==0.4.0"

+         },

+         "mozilla-django-oidc": {

+             "hashes": [

+                 "sha256:2ab8b5ee3d46b50a818cbc009043be2d068f80dc093eb1fb3aa3a3af504d749b",

+                 "sha256:b916dc452408e23b7c4947f3721b46e4f20717298861a4deaa7d2f3f171e9ad1"

+             ],

+             "index": "pypi",

+             "version": "==1.2.2"

+         },

+         "munch": {

+             "hashes": [

+                 "sha256:6ae3d26b837feacf732fb8aa5b842130da1daf221f5af9f9d4b2a0a6414b0d51"

+             ],

+             "version": "==2.3.2"

+         },

+         "openidc-client": {

+             "hashes": [

+                 "sha256:680e969cae18c30adbddd6a087ed09f6a296b4937b4c8bc69be813bdbbfa9847"

+             ],

+             "version": "==0.6.0"

+         },

+         "parso": {

+             "hashes": [

+                 "sha256:63854233e1fadb5da97f2744b6b24346d2750b85965e7e399bec1620232797dc",

+                 "sha256:666b0ee4a7a1220f65d367617f2cd3ffddff3e205f3f16a0284df30e774c2a9c"

+             ],

+             "version": "==0.5.1"

+         },

+         "pep8": {

+             "hashes": [

+                 "sha256:4fc2e478addcf17016657dff30b2d8d611e8341fac19ccf2768802f6635d7b8a",

+                 "sha256:a113d5f5ad7a7abacef9df5ec3f2af23a20a28005921577b15dd584d099d5900"

+             ],

+             "index": "pypi",

+             "version": "==1.7.0"

+         },

+         "pexpect": {

+             "hashes": [

+                 "sha256:2094eefdfcf37a1fdbfb9aa090862c1a4878e5c7e0e7e7088bdb511c558e5cd1",

+                 "sha256:9e2c1fd0e6ee3a49b28f95d4b33bc389c89b20af6a1255906e90ff1262ce62eb"

+             ],

+             "markers": "sys_platform != 'win32'",

+             "version": "==4.7.0"

+         },

+         "pickleshare": {

+             "hashes": [

+                 "sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca",

+                 "sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56"

+             ],

+             "version": "==0.7.5"

+         },

+         "pika": {

+             "hashes": [

+                 "sha256:4e1a1a6585a41b2341992ec32aadb7a919d649eb82904fd8e4a4e0871c8cf3af",

+                 "sha256:9fa76ba4b65034b878b2b8de90ff8660a59d925b087c5bb88f8fdbb4b64a1dbf"

+             ],

+             "version": "==1.1.0"

+         },

+         "prompt-toolkit": {

+             "hashes": [

+                 "sha256:11adf3389a996a6d45cc277580d0d53e8a5afd281d0c9ec71b28e6f121463780",

+                 "sha256:2519ad1d8038fd5fc8e770362237ad0364d16a7650fb5724af6997ed5515e3c1",

+                 "sha256:977c6583ae813a37dc1c2e1b715892461fcbdaa57f6fc62f33a528c4886c8f55"

+             ],

+             "version": "==2.0.9"

+         },

+         "psycopg2": {

+             "hashes": [

+                 "sha256:0b9e48a1c1505699a64ac58815ca99104aacace8321e455072cee4f7fe7b2698",

+                 "sha256:0f4c784e1b5a320efb434c66a50b8dd7e30a7dc047e8f45c0a8d2694bfe72781",

+                 "sha256:0fdbaa32c9eb09ef09d425dc154628fca6fa69d2f7c1a33f889abb7e0efb3909",

+                 "sha256:11fbf688d5c953c0a5ba625cc42dea9aeb2321942c7c5ed9341a68f865dc8cb1",

+                 "sha256:19eaac4eb25ab078bd0f28304a0cb08702d120caadfe76bb1e6846ed1f68635e",

+                 "sha256:3232ec1a3bf4dba97fbf9b03ce12e4b6c1d01ea3c85773903a67ced725728232",

+                 "sha256:36f8f9c216fcca048006f6dd60e4d3e6f406afde26cfb99e063f137070139eaf",

+                 "sha256:59c1a0e4f9abe970062ed35d0720935197800a7ef7a62b3a9e3a70588d9ca40b",

+                 "sha256:6506c5ff88750948c28d41852c09c5d2a49f51f28c6d90cbf1b6808e18c64e88",

+                 "sha256:6bc3e68ee16f571681b8c0b6d5c0a77bef3c589012352b3f0cf5520e674e9d01",

+                 "sha256:6dbbd7aabbc861eec6b910522534894d9dbb507d5819bc982032c3ea2e974f51",

+                 "sha256:6e737915de826650d1a5f7ff4ac6cf888a26f021a647390ca7bafdba0e85462b",

+                 "sha256:6ed9b2cfe85abc720e8943c1808eeffd41daa73e18b7c1e1a228b0b91f768ccc",

+                 "sha256:711ec617ba453fdfc66616db2520db3a6d9a891e3bf62ef9aba4c95bb4e61230",

+                 "sha256:844dacdf7530c5c612718cf12bc001f59b2d9329d35b495f1ff25045161aa6af",

+                 "sha256:86b52e146da13c896e50c5a3341a9448151f1092b1a4153e425d1e8b62fec508",

+                 "sha256:985c06c2a0f227131733ae58d6a541a5bc8b665e7305494782bebdb74202b793",

+                 "sha256:a86dfe45f4f9c55b1a2312ff20a59b30da8d39c0e8821d00018372a2a177098f",

+                 "sha256:aa3cd07f7f7e3183b63d48300666f920828a9dbd7d7ec53d450df2c4953687a9",

+                 "sha256:b1964ed645ef8317806d615d9ff006c0dadc09dfc54b99ae67f9ba7a1ec9d5d2",

+                 "sha256:b2abbff9e4141484bb89b96eb8eae186d77bc6d5ffbec6b01783ee5c3c467351",

+                 "sha256:cc33c3a90492e21713260095f02b12bee02b8d1f2c03a221d763ce04fa90e2e9",

+                 "sha256:d7de3bf0986d777807611c36e809b77a13bf1888f5c8db0ebf24b47a52d10726",

+                 "sha256:db5e3c52576cc5b93a959a03ccc3b02cb8f0af1fbbdc80645f7a215f0b864f3a",

+                 "sha256:e168aa795ffbb11379c942cf95bf813c7db9aa55538eb61de8c6815e092416f5",

+                 "sha256:e9ca911f8e2d3117e5241d5fa9aaa991cb22fb0792627eeada47425d706b5ec8",

+                 "sha256:eccf962d41ca46e6326b97c8fe0a6687b58dfc1a5f6540ed071ff1474cea749e",

+                 "sha256:efa19deae6b9e504a74347fe5e25c2cb9343766c489c2ae921b05f37338b18d1",

+                 "sha256:f4b0460a21f784abe17b496f66e74157a6c36116fa86da8bf6aa028b9e8ad5fe",

+                 "sha256:f93d508ca64d924d478fb11e272e09524698f0c581d9032e68958cfbdd41faef"

+             ],

+             "index": "pypi",

+             "version": "==2.7.5"

+         },

+         "ptyprocess": {

+             "hashes": [

+                 "sha256:923f299cc5ad920c68f2bc0bc98b75b9f838b93b599941a6b63ddbc2476394c0",

+                 "sha256:d7cc528d76e76342423ca640335bd3633420dc1366f258cb31d05e865ef5ca1f"

+             ],

+             "version": "==0.6.0"

+         },

+         "pyasn1": {

+             "hashes": [

+                 "sha256:da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7",

+                 "sha256:da6b43a8c9ae93bc80e2739efb38cc776ba74a886e3e9318d65fe81a8b8a2c6e"

+             ],

+             "version": "==0.4.5"

+         },

+         "pyasn1-modules": {

+             "hashes": [

+                 "sha256:ef721f68f7951fab9b0404d42590f479e30d9005daccb1699b0a51bb4177db96",

+                 "sha256:f309b6c94724aeaf7ca583feb1cc70430e10d7551de5e36edfc1ae6909bcfb3c"

+             ],

+             "version": "==0.2.5"

+         },

+         "pycparser": {

+             "hashes": [

+                 "sha256:a988718abfad80b6b157acce7bf130a30876d27603738ac39f140993246b25b3"

+             ],

+             "version": "==2.19"

+         },

+         "pyflakes": {

+             "hashes": [

+                 "sha256:071d121e9e7b33058aa1ba5de7bce9b97bfa3149cfe1acbb6587c21fc1c8eda1",

+                 "sha256:f39e33a4c03beead8774f005bd3ecf0c3f2f264fa0201de965fce0aff1d34263"

+             ],

+             "index": "pypi",

+             "version": "==1.0.0"

+         },

+         "pygments": {

+             "hashes": [

+                 "sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127",

+                 "sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297"

+             ],

+             "version": "==2.4.2"

+         },

+         "pyhamcrest": {

+             "hashes": [

+                 "sha256:6b672c02fdf7470df9674ab82263841ce8333fb143f32f021f6cb26f0e512420",

+                 "sha256:8ffaa0a53da57e89de14ced7185ac746227a8894dbd5a3c718bf05ddbd1d56cd"

+             ],

+             "version": "==1.9.0"

+         },

+         "pyopenssl": {

+             "hashes": [

+                 "sha256:aeca66338f6de19d1aa46ed634c3b9ae519a64b458f8468aec688e7e3c20f200",

+                 "sha256:c727930ad54b10fc157015014b666f2d8b41f70c0d03e83ab67624fd3dd5d1e6"

+             ],

+             "version": "==19.0.0"

+         },

+         "pyrsistent": {

+             "hashes": [

+                 "sha256:50cffebc87ca91b9d4be2dcc2e479272bcb466b5a0487b6c271f7ddea6917e14"

+             ],

+             "version": "==0.15.3"

+         },

+         "python-dateutil": {

+             "hashes": [

+                 "sha256:03e9f05568c08a2f5e56bd5488c33c440a7e2c150a83a82e3c074475204a4a84",

+                 "sha256:3615baa560c215466332b78d1cfbc1214ff23dad8e0d8c0e473e03640007c167",

+                 "sha256:c1f7a66b0021bd7b206cc60dd47ecc91b931cdc5258972dc56b25186fa9a96a5"

+             ],

+             "index": "pypi",

+             "version": "==2.5.0"

+         },

+         "python-fedora": {

+             "hashes": [

+                 "sha256:5516b8c066bb2eb5d604ae8e84c3d31e27753795c5d84f6a792979363756405c"

+             ],

+             "index": "pypi",

+             "version": "==0.10.0"

+         },

+         "python-memcached": {

+             "hashes": [

+                 "sha256:3b689a135afb2fdb6da2298d5213780f43a3f210cf8c960d50b252acb3f62902",

+                 "sha256:544419fd5e33300835de3b2f8462a145dda451d5e3088a69e0cd0da2b5bc0f7a"

+             ],

+             "index": "pypi",

+             "version": "==1.57"

+         },

+         "pytz": {

+             "hashes": [

+                 "sha256:3ede470d3d17ba3c07638dfa0d10452bc1b6e5ad326127a65ba77e6aaeb11bec",

+                 "sha256:8b6ce1c993909783bc96e0b4f34ea223bff7a4df2c90bdb9c4e0f1ac928689e3",

+                 "sha256:99266ef30a37e43932deec2b7ca73e83c8dbc3b9ff703ec73eca6b1dae6befea",

+                 "sha256:fbd26746772c24cb93c8b97cbdad5cb9e46c86bbdb1b9d8a743ee00e2fb1fc5d"

+             ],

+             "index": "pypi",

+             "version": "==2015.7"

+         },

+         "pyyaml": {

+             "hashes": [

+                 "sha256:1adecc22f88d38052fb787d959f003811ca858b799590a5eaa70e63dca50308c",

+                 "sha256:436bc774ecf7c103814098159fbb84c2715d25980175292c648f2da143909f95",

+                 "sha256:460a5a4248763f6f37ea225d19d5c205677d8d525f6a83357ca622ed541830c2",

+                 "sha256:5a22a9c84653debfbf198d02fe592c176ea548cccce47553f35f466e15cf2fd4",

+                 "sha256:7a5d3f26b89d688db27822343dfa25c599627bc92093e788956372285c6298ad",

+                 "sha256:9372b04a02080752d9e6f990179a4ab840227c6e2ce15b95e1278456664cf2ba",

+                 "sha256:a5dcbebee834eaddf3fa7366316b880ff4062e4bcc9787b78c7fbb4a26ff2dd1",

+                 "sha256:aee5bab92a176e7cd034e57f46e9df9a9862a71f8f37cad167c6fc74c65f5b4e",

+                 "sha256:c51f642898c0bacd335fc119da60baae0824f2cde95b0330b56c0553439f0673",

+                 "sha256:c68ea4d3ba1705da1e0d85da6684ac657912679a649e8868bd850d2c299cce13",

+                 "sha256:e23d0cc5299223dcc37885dae624f382297717e459ea24053709675a976a3e19"

+             ],

+             "index": "pypi",

+             "version": "==5.1"

+         },

+         "redis": {

+             "hashes": [

+                 "sha256:6946b5dca72e86103edc8033019cc3814c031232d339d5f4533b02ea85685175",

+                 "sha256:8ca418d2ddca1b1a850afa1680a7d2fd1f3322739271de4b704e0d4668449273"

+             ],

+             "version": "==3.2.1"

+         },

+         "requests": {

+             "hashes": [

+                 "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4",

+                 "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"

+             ],

+             "version": "==2.22.0"

+         },

+         "service-identity": {

+             "hashes": [

+                 "sha256:001c0707759cb3de7e49c078a7c0c9cd12594161d3bf06b9c254fdcb1a60dc36",

+                 "sha256:0858a54aabc5b459d1aafa8a518ed2081a285087f349fe3e55197989232e2e2d"

+             ],

+             "version": "==18.1.0"

+         },

+         "six": {

+             "hashes": [

+                 "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",

+                 "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"

+             ],

+             "index": "pypi",

+             "version": "==1.12.0"

+         },

+         "soupsieve": {

+             "hashes": [

+                 "sha256:72b5f1aea9101cf720a36bb2327ede866fd6f1a07b1e87c92a1cc18113cbc946",

+                 "sha256:e4e9c053d59795e440163733a7fec6c5972210e1790c507e4c7b051d6c5259de"

+             ],

+             "version": "==1.9.2"

+         },

+         "text-unidecode": {

+             "hashes": [

+                 "sha256:5a1375bb2ba7968740508ae38d92e1f889a0832913cb1c447d5e2046061a396d",

+                 "sha256:801e38bd550b943563660a91de8d4b6fa5df60a542be9093f7abf819f86050cc"

+             ],

+             "version": "==1.2"

+         },

+         "toml": {

+             "hashes": [

+                 "sha256:229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c",

+                 "sha256:235682dd292d5899d361a811df37e04a8828a5b1da3115886b73cf81ebc9100e"

+             ],

+             "version": "==0.10.0"

+         },

+         "traitlets": {

+             "hashes": [

+                 "sha256:9c4bd2d267b7153df9152698efb1050a5d84982d3384a37b2c1f7723ba3e7835",

+                 "sha256:c6cb5e6f57c5a9bdaa40fa71ce7b4af30298fbab9ece9815b5d995ab6217c7d9"

+             ],

+             "version": "==4.3.2"

+         },

+         "twisted": {

+             "hashes": [

+                 "sha256:fa2c04c2d68a9be7fc3975ba4947f653a57a656776f24be58ff0fe4b9aaf3e52"

+             ],

+             "version": "==19.2.1"

+         },

+         "unipath": {

+             "hashes": [

+                 "sha256:09839adcc72e8a24d4f76d63656f30b5a1f721fc40c9bcd79d8c67bdd8b47dae",

+                 "sha256:e6257e508d8abbfb6ddd8ec357e33589f1f48b1599127f23b017124d90b0fff7"

+             ],

+             "index": "pypi",

+             "version": "==1.1"

+         },

+         "urllib3": {

+             "hashes": [

+                 "sha256:4c291ca23bbb55c76518905869ef34bdd5f0e46af7afe6861e8375643ffee1a0",

+                 "sha256:9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3"

+             ],

+             "index": "pypi",

+             "version": "==1.24.2"

+         },

+         "vine": {

+             "hashes": [

+                 "sha256:133ee6d7a9016f177ddeaf191c1f58421a1dcc6ee9a42c58b34bed40e1d2cd87",

+                 "sha256:ea4947cc56d1fd6f2095c8d543ee25dad966f78692528e68b4fada11ba3f98af"

+             ],

+             "version": "==1.3.0"

+         },

+         "wcwidth": {

+             "hashes": [

+                 "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e",

+                 "sha256:f4ebe71925af7b40a864553f761ed559b43544f8f71746c2d756c7fe788ade7c"

+             ],

+             "version": "==0.1.7"

+         },

+         "webencodings": {

+             "hashes": [

+                 "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78",

+                 "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923"

+             ],

+             "version": "==0.5.1"

+         },

+         "whoosh": {

+             "hashes": [

+                 "sha256:7ca5633dbfa9e0e0fa400d3151a8a0c4bec53bd2ecedc0a67705b17565c31a83",

+                 "sha256:aa39c3c3426e3fd107dcb4bde64ca1e276a65a889d9085a6e4b54ba82420a852",

+                 "sha256:e0857375f63e9041e03fedd5b7541f97cf78917ac1b6b06c1fcc9b45375dda69"

+             ],

+             "index": "pypi",

+             "version": "==2.7.4"

+         },

+         "zope.interface": {

+             "hashes": [

+                 "sha256:086707e0f413ff8800d9c4bc26e174f7ee4c9c8b0302fbad68d083071822316c",

+                 "sha256:1157b1ec2a1f5bf45668421e3955c60c610e31913cc695b407a574efdbae1f7b",

+                 "sha256:11ebddf765bff3bbe8dbce10c86884d87f90ed66ee410a7e6c392086e2c63d02",

+                 "sha256:14b242d53f6f35c2d07aa2c0e13ccb710392bcd203e1b82a1828d216f6f6b11f",

+                 "sha256:1b3d0dcabc7c90b470e59e38a9acaa361be43b3a6ea644c0063951964717f0e5",

+                 "sha256:20a12ab46a7e72b89ce0671e7d7a6c3c1ca2c2766ac98112f78c5bddaa6e4375",

+                 "sha256:298f82c0ab1b182bd1f34f347ea97dde0fffb9ecf850ecf7f8904b8442a07487",

+                 "sha256:2f6175722da6f23dbfc76c26c241b67b020e1e83ec7fe93c9e5d3dd18667ada2",

+                 "sha256:3b877de633a0f6d81b600624ff9137312d8b1d0f517064dfc39999352ab659f0",

+                 "sha256:4265681e77f5ac5bac0905812b828c9fe1ce80c6f3e3f8574acfb5643aeabc5b",

+                 "sha256:550695c4e7313555549aa1cdb978dc9413d61307531f123558e438871a883d63",

+                 "sha256:5f4d42baed3a14c290a078e2696c5f565501abde1b2f3f1a1c0a94fbf6fbcc39",

+                 "sha256:62dd71dbed8cc6a18379700701d959307823b3b2451bdc018594c48956ace745",

+                 "sha256:7040547e5b882349c0a2cc9b50674b1745db551f330746af434aad4f09fba2cc",

+                 "sha256:7e099fde2cce8b29434684f82977db4e24f0efa8b0508179fce1602d103296a2",

+                 "sha256:7e5c9a5012b2b33e87980cee7d1c82412b2ebabcb5862d53413ba1a2cfde23aa",

+                 "sha256:81295629128f929e73be4ccfdd943a0906e5fe3cdb0d43ff1e5144d16fbb52b1",

+                 "sha256:95cc574b0b83b85be9917d37cd2fad0ce5a0d21b024e1a5804d044aabea636fc",

+                 "sha256:968d5c5702da15c5bf8e4a6e4b67a4d92164e334e9c0b6acf080106678230b98",

+                 "sha256:9e998ba87df77a85c7bed53240a7257afe51a07ee6bc3445a0bf841886da0b97",

+                 "sha256:a0c39e2535a7e9c195af956610dba5a1073071d2d85e9d2e5d789463f63e52ab",

+                 "sha256:a15e75d284178afe529a536b0e8b28b7e107ef39626a7809b4ee64ff3abc9127",

+                 "sha256:a6a6ff82f5f9b9702478035d8f6fb6903885653bff7ec3a1e011edc9b1a7168d",

+                 "sha256:b639f72b95389620c1f881d94739c614d385406ab1d6926a9ffe1c8abbea23fe",

+                 "sha256:bad44274b151d46619a7567010f7cde23a908c6faa84b97598fd2f474a0c6891",

+                 "sha256:bbcef00d09a30948756c5968863316c949d9cedbc7aabac5e8f0ffbdb632e5f1",

+                 "sha256:d788a3999014ddf416f2dc454efa4a5dbeda657c6aba031cf363741273804c6b",

+                 "sha256:eed88ae03e1ef3a75a0e96a55a99d7937ed03e53d0cffc2451c208db445a2966",

+                 "sha256:f99451f3a579e73b5dd58b1b08d1179791d49084371d9a47baad3b22417f0317"

+             ],

+             "version": "==4.6.0"

+         }

+     },

      "develop": {

+         "alabaster": {

+             "hashes": [

+                 "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359",

+                 "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"

+             ],

+             "version": "==0.7.12"

+         },

          "atomicwrites": {

              "hashes": [

                  "sha256:03472c30eb2c5d1ba9227e4c2ca66ab8287fbfbbda3888aa93dc2e28fc6811b4",
@@ -31,20 +788,169 @@ 

              ],

              "version": "==19.1.0"

          },

+         "babel": {

+             "hashes": [

+                 "sha256:af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab",

+                 "sha256:e86135ae101e31e2c8ec20a4e0c5220f4eed12487d5cf3f78be7e98d3a57fc28"

+             ],

+             "version": "==2.7.0"

+         },

+         "certifi": {

+             "hashes": [

+                 "sha256:046832c04d4e752f37383b628bc601a7ea7211496b4638f6514d0e5b9acc4939",

+                 "sha256:945e3ba63a0b9f577b1395204e13c3a231f9bc0223888be653286534e5873695"

+             ],

+             "version": "==2019.6.16"

+         },

+         "chardet": {

+             "hashes": [

+                 "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",

+                 "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"

+             ],

+             "version": "==3.0.4"

+         },

+         "coverage": {

+             "hashes": [

+                 "sha256:3684fabf6b87a369017756b551cef29e505cb155ddb892a7a29277b978da88b9",

+                 "sha256:39e088da9b284f1bd17c750ac672103779f7954ce6125fd4382134ac8d152d74",

+                 "sha256:3c205bc11cc4fcc57b761c2da73b9b72a59f8d5ca89979afb0c1c6f9e53c7390",

+                 "sha256:465ce53a8c0f3a7950dfb836438442f833cf6663d407f37d8c52fe7b6e56d7e8",

+                 "sha256:48020e343fc40f72a442c8a1334284620f81295256a6b6ca6d8aa1350c763bbe",

+                 "sha256:5296fc86ab612ec12394565c500b412a43b328b3907c0d14358950d06fd83baf",

+                 "sha256:5f61bed2f7d9b6a9ab935150a6b23d7f84b8055524e7be7715b6513f3328138e",

+                 "sha256:68a43a9f9f83693ce0414d17e019daee7ab3f7113a70c79a3dd4c2f704e4d741",

+                 "sha256:6b8033d47fe22506856fe450470ccb1d8ba1ffb8463494a15cfc96392a288c09",

+                 "sha256:7ad7536066b28863e5835e8cfeaa794b7fe352d99a8cded9f43d1161be8e9fbd",

+                 "sha256:7bacb89ccf4bedb30b277e96e4cc68cd1369ca6841bde7b005191b54d3dd1034",

+                 "sha256:839dc7c36501254e14331bcb98b27002aa415e4af7ea039d9009409b9d2d5420",

+                 "sha256:8f9a95b66969cdea53ec992ecea5406c5bd99c9221f539bca1e8406b200ae98c",

+                 "sha256:932c03d2d565f75961ba1d3cec41ddde00e162c5b46d03f7423edcb807734eab",

+                 "sha256:988529edadc49039d205e0aa6ce049c5ccda4acb2d6c3c5c550c17e8c02c05ba",

+                 "sha256:998d7e73548fe395eeb294495a04d38942edb66d1fa61eb70418871bc621227e",

+                 "sha256:9de60893fb447d1e797f6bf08fdf0dbcda0c1e34c1b06c92bd3a363c0ea8c609",

+                 "sha256:9e80d45d0c7fcee54e22771db7f1b0b126fb4a6c0a2e5afa72f66827207ff2f2",

+                 "sha256:a545a3dfe5082dc8e8c3eb7f8a2cf4f2870902ff1860bd99b6198cfd1f9d1f49",

+                 "sha256:a5d8f29e5ec661143621a8f4de51adfb300d7a476224156a39a392254f70687b",

+                 "sha256:aca06bfba4759bbdb09bf52ebb15ae20268ee1f6747417837926fae990ebc41d",

+                 "sha256:bb23b7a6fd666e551a3094ab896a57809e010059540ad20acbeec03a154224ce",

+                 "sha256:bfd1d0ae7e292105f29d7deaa9d8f2916ed8553ab9d5f39ec65bcf5deadff3f9",

+                 "sha256:c62ca0a38958f541a73cf86acdab020c2091631c137bd359c4f5bddde7b75fd4",

+                 "sha256:c709d8bda72cf4cd348ccec2a4881f2c5848fd72903c185f363d361b2737f773",

+                 "sha256:c968a6aa7e0b56ecbd28531ddf439c2ec103610d3e2bf3b75b813304f8cb7723",

+                 "sha256:df785d8cb80539d0b55fd47183264b7002077859028dfe3070cf6359bf8b2d9c",

+                 "sha256:f406628ca51e0ae90ae76ea8398677a921b36f0bd71aab2099dfed08abd0322f",

+                 "sha256:f46087bbd95ebae244a0eda01a618aff11ec7a069b15a3ef8f6b520db523dcf1",

+                 "sha256:f8019c5279eb32360ca03e9fac40a12667715546eed5c5eb59eb381f2f501260",

+                 "sha256:fc5f4d209733750afd2714e9109816a29500718b32dd9a5db01c0cb3a019b96a"

+             ],

+             "index": "pypi",

+             "version": "==4.5.3"

+         },

+         "django": {

+             "hashes": [

+                 "sha256:665457d4146bbd34ae9d2970fa3b37082d7b225b0671bfd24c337458f229db78",

+                 "sha256:bde46d4dbc410678e89bc95ea5d312dd6eb4c37d0fa0e19c9415cad94addf22f"

+             ],

+             "index": "pypi",

+             "version": "==2.0.13"

+         },

+         "django-coverage": {

+             "hashes": [

+                 "sha256:eee56c1465b2ece0a066ea2514c50039462f8fe1ea58e59adc0dfda14b30628b"

+             ],

+             "index": "pypi",

+             "version": "==1.2.4"

+         },

+         "django-debug-toolbar": {

+             "hashes": [

+                 "sha256:17c53cd6bf4e7d69902aedf9a1d26c5d3b7369b54c5718744704f27b5a72f35d",

+                 "sha256:9a23ada2e43cd989195db3c18710b5d7451134a0d48127ab64c1d2ad81700342"

+             ],

+             "index": "pypi",

+             "version": "==2.0"

+         },

+         "docutils": {

+             "hashes": [

+                 "sha256:554158db07870b514e8df93800e95ee8fbf2a2388eb453c7f69206532a8a6fa5",

+                 "sha256:82725b1051b92aaa42e240a4e5d6fafa2f6f5a2b5023b23a51c941dd7d863369"

+             ],

+             "version": "==0.15.1"

+         },

+         "idna": {

+             "hashes": [

+                 "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",

+                 "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"

+             ],

+             "version": "==2.8"

+         },

+         "imagesize": {

+             "hashes": [

+                 "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8",

+                 "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"

+             ],

+             "version": "==1.1.0"

+         },

          "importlib-metadata": {

              "hashes": [

-                 "sha256:a9f185022cfa69e9ca5f7eabfd5a58b689894cb78a11e3c8c89398a8ccbb8e7f",

-                 "sha256:df1403cd3aebeb2b1dcd3515ca062eecb5bd3ea7611f18cba81130c68707e879"

+                 "sha256:6dfd58dfe281e8d240937776065dd3624ad5469c835248219bd16cf2e12dbeb7",

+                 "sha256:cb6ee23b46173539939964df59d3d72c3e0c1b5d54b84f1d8a7e912fe43612db"

+             ],

+             "version": "==0.18"

+         },

+         "jinja2": {

+             "hashes": [

+                 "sha256:065c4f02ebe7f7cf559e49ee5a95fb800a9e4528727aec6f24402a5374c65013",

+                 "sha256:14dd6caf1527abb21f08f86c784eac40853ba93edb79552aa1e4b8aef1b61c7b"

+             ],

+             "version": "==2.10.1"

+         },

+         "markupsafe": {

+             "hashes": [

+                 "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473",

+                 "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161",

+                 "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235",

+                 "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5",

+                 "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff",

+                 "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",

+                 "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1",

+                 "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e",

+                 "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183",

+                 "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66",

+                 "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1",

+                 "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1",

+                 "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e",

+                 "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b",

+                 "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905",

+                 "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735",

+                 "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d",

+                 "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e",

+                 "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d",

+                 "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c",

+                 "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21",

+                 "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2",

+                 "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5",

+                 "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b",

+                 "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6",

+                 "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f",

+                 "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f",

+                 "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"

+             ],

+             "version": "==1.1.1"

+         },

+         "mock": {

+             "hashes": [

+                 "sha256:83657d894c90d5681d62155c82bda9c1187827525880eda8ff5df4ec813437c3",

+                 "sha256:d157e52d4e5b938c550f39eb2fd15610db062441a9c2747d3dbfa9298211d0f8"

              ],

-             "version": "==0.17"

+             "index": "pypi",

+             "version": "==3.0.5"

          },

          "more-itertools": {

              "hashes": [

-                 "sha256:2112d2ca570bb7c3e53ea1a35cd5df42bb0fd10c45f0fb97178679c3c03d64c7",

-                 "sha256:c3e4748ba1aad8dba30a4886b0b1a2004f9a863837b8654e7059eebf727afa5a"

+                 "sha256:409cd48d4db7052af495b09dec721011634af3753ae1ef92d2b32f73a745f832",

+                 "sha256:92b8c4b06dac4f0611c0729b2f2ede52b2e1bac1ab48f089c7ddc12e26bb60c4"

              ],

-             "markers": "python_version > '2.7'",

-             "version": "==7.0.0"

+             "version": "==7.2.0"

          },

          "packaging": {

              "hashes": [
@@ -67,6 +973,13 @@ 

              ],

              "version": "==1.8.0"

          },

+         "pygments": {

+             "hashes": [

+                 "sha256:71e430bc85c88a430f000ac1d9b331d2407f681d6f6aec95e8bcfbc3df5b0127",

+                 "sha256:881c4c157e45f30af185c1ffe8d549d48ac9127433f2c380c24b84572ad66297"

+             ],

+             "version": "==2.4.2"

+         },

          "pyparsing": {

              "hashes": [

                  "sha256:1873c03321fc118f4e9746baf201ff990ceb915f433f23b395f5580d1840cb2a",
@@ -76,19 +989,162 @@ 

          },

          "pytest": {

              "hashes": [

-                 "sha256:6032845e68a17a96e8da3088037f899b56357769a724122056265ca2ea1890ee",

-                 "sha256:bea27a646a3d74cbbcf8d3d4a06b2dfc336baf3dc2cc85cf70ad0157e73e8322"

+                 "sha256:6ef6d06de77ce2961156013e9dff62f1b2688aa04d0dc244299fe7d67e09370d",

+                 "sha256:a736fed91c12681a7b34617c8fcefe39ea04599ca72c608751c31d89579a3f77"

              ],

              "index": "pypi",

-             "version": "==4.6.2"

+             "version": "==5.0.1"

+         },

+         "pytest-cov": {

+             "hashes": [

+                 "sha256:2b097cde81a302e1047331b48cadacf23577e431b61e9c6f49a1170bbe3d3da6",

+                 "sha256:e00ea4fdde970725482f1f35630d12f074e121a23801aabf2ae154ec6bdd343a"

+             ],

+             "index": "pypi",

+             "version": "==2.7.1"

+         },

+         "pytest-django": {

+             "hashes": [

+                 "sha256:264fb4c506db5d48a6364c311a0b00b7b48a52715bad8839b2d8bee9b99ed6bb",

+                 "sha256:4adfe5fb3ed47f0ba55506dd3daf688b1f74d5e69148c10ad2dd2f79f40c0d62"

+             ],

+             "index": "pypi",

+             "version": "==3.5.1"

+         },

+         "pytest-mock": {

+             "hashes": [

+                 "sha256:43ce4e9dd5074993e7c021bb1c22cbb5363e612a2b5a76bc6d956775b10758b7",

+                 "sha256:5bf5771b1db93beac965a7347dc81c675ec4090cb841e49d9d34637a25c30568"

+             ],

+             "index": "pypi",

+             "version": "==1.10.4"

+         },

+         "pytest-sugar": {

+             "hashes": [

+                 "sha256:26cf8289fe10880cbbc130bd77398c4e6a8b936d8393b116a5c16121d95ab283",

+                 "sha256:fcd87a74b2bce5386d244b49ad60549bfbc4602527797fac167da147983f58ab"

+             ],

+             "index": "pypi",

+             "version": "==0.9.2"

+         },

+         "pytz": {

+             "hashes": [

+                 "sha256:3ede470d3d17ba3c07638dfa0d10452bc1b6e5ad326127a65ba77e6aaeb11bec",

+                 "sha256:8b6ce1c993909783bc96e0b4f34ea223bff7a4df2c90bdb9c4e0f1ac928689e3",

+                 "sha256:99266ef30a37e43932deec2b7ca73e83c8dbc3b9ff703ec73eca6b1dae6befea",

+                 "sha256:fbd26746772c24cb93c8b97cbdad5cb9e46c86bbdb1b9d8a743ee00e2fb1fc5d"

+             ],

+             "index": "pypi",

+             "version": "==2015.7"

+         },

+         "requests": {

+             "hashes": [

+                 "sha256:11e007a8a2aa0323f5a921e9e6a2d7e4e67d9877e85773fba9ba6419025cbeb4",

+                 "sha256:9cf5292fcd0f598c671cfc1e0d7d1a7f13bb8085e9a590f48c010551dc6c4b31"

+             ],

+             "version": "==2.22.0"

+         },

+         "selenium": {

+             "hashes": [

+                 "sha256:2d7131d7bc5a5b99a2d9b04aaf2612c411b03b8ca1b1ee8d3de5845a9be2cb3c",

+                 "sha256:deaf32b60ad91a4611b98d8002757f29e6f2c2d5fcaf202e1c9ad06d6772300d"

+             ],

+             "index": "pypi",

+             "version": "==3.141.0"

          },

          "six": {

              "hashes": [

                  "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",

                  "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"

              ],

+             "index": "pypi",

              "version": "==1.12.0"

          },

+         "snowballstemmer": {

+             "hashes": [

+                 "sha256:9f3b9ffe0809d174f7047e121431acf99c89a7040f0ca84f94ba53a498e6d0c9"

+             ],

+             "version": "==1.9.0"

+         },

+         "sphinx": {

+             "hashes": [

+                 "sha256:22538e1bbe62b407cf5a8aabe1bb15848aa66bb79559f42f5202bbce6b757a69",

+                 "sha256:f9a79e746b87921cabc3baa375199c6076d1270cee53915dbd24fdbeaaacc427"

+             ],

+             "index": "pypi",

+             "version": "==2.1.2"

+         },

+         "sphinx-rtd-theme": {

+             "hashes": [

+                 "sha256:00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4",

+                 "sha256:728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a"

+             ],

+             "index": "pypi",

+             "version": "==0.4.3"

+         },

+         "sphinxcontrib-applehelp": {

+             "hashes": [

+                 "sha256:edaa0ab2b2bc74403149cb0209d6775c96de797dfd5b5e2a71981309efab3897",

+                 "sha256:fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d"

+             ],

+             "version": "==1.0.1"

+         },

+         "sphinxcontrib-devhelp": {

+             "hashes": [

+                 "sha256:6c64b077937330a9128a4da74586e8c2130262f014689b4b89e2d08ee7294a34",

+                 "sha256:9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981"

+             ],

+             "version": "==1.0.1"

+         },

+         "sphinxcontrib-htmlhelp": {

+             "hashes": [

+                 "sha256:4670f99f8951bd78cd4ad2ab962f798f5618b17675c35c5ac3b2132a14ea8422",

+                 "sha256:d4fd39a65a625c9df86d7fa8a2d9f3cd8299a3a4b15db63b50aac9e161d8eff7"

+             ],

+             "version": "==1.0.2"

+         },

+         "sphinxcontrib-jsmath": {

+             "hashes": [

+                 "sha256:2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178",

+                 "sha256:a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8"

+             ],

+             "version": "==1.0.1"

+         },

+         "sphinxcontrib-qthelp": {

+             "hashes": [

+                 "sha256:513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20",

+                 "sha256:79465ce11ae5694ff165becda529a600c754f4bc459778778c7017374d4d406f"

+             ],

+             "version": "==1.0.2"

+         },

+         "sphinxcontrib-serializinghtml": {

+             "hashes": [

+                 "sha256:c0efb33f8052c04fd7a26c0a07f1678e8512e0faec19f4aa8f2473a8b81d5227",

+                 "sha256:db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768"

+             ],

+             "version": "==1.1.3"

+         },

+         "sqlparse": {

+             "hashes": [

+                 "sha256:40afe6b8d4b1117e7dff5504d7a8ce07d9a1b15aeeade8a2d10f130a834f8177",

+                 "sha256:7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873"

+             ],

+             "version": "==0.3.0"

+         },

+         "termcolor": {

+             "hashes": [

+                 "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b"

+             ],

+             "version": "==1.1.0"

+         },

+         "urllib3": {

+             "hashes": [

+                 "sha256:4c291ca23bbb55c76518905869ef34bdd5f0e46af7afe6861e8375643ffee1a0",

+                 "sha256:9a247273df709c4fedb38c711e44292304f73f39ab01beda9f6b9fc375669ac3"

+             ],

+             "index": "pypi",

+             "version": "==1.24.2"

+         },

          "wcwidth": {

              "hashes": [

                  "sha256:3df37372226d6e63e1b1e1eda15c594bca98a22d33a23832a90998faa96bc65e",
@@ -98,10 +1154,10 @@ 

          },

          "zipp": {

              "hashes": [

-                 "sha256:8c1019c6aad13642199fbe458275ad6a84907634cc9f0989877ccc4a2840139d",

-                 "sha256:ca943a7e809cc12257001ccfb99e3563da9af99d52f261725e96dfe0f9275bc3"

+                 "sha256:4970c3758f4e89a7857a973b1e2a5d75bcdc47794442f2e2dd4fe8e0466e809a",

+                 "sha256:8a5712cfd3bb4248015eb3b0b3c54a5f6ee3f2425963ef2a0125b8bc40aafaec"

              ],

-             "version": "==0.5.1"

+             "version": "==0.5.2"

          }

      }

  }

file removed
-13
@@ -1,13 +0,0 @@ 

- [[source]]

- url = "https://pypi.org/simple"

- verify_ssl = true

- name = "pypi"

- 

- [packages]

- sphinx = "*"

- sphinx-rtd-theme = "*"

- 

- [dev-packages]

- 

- [requires]

- python_version = "3.6"

file removed
-190
@@ -1,190 +0,0 @@ 

- {

-     "_meta": {

-         "hash": {

-             "sha256": "8d59878e7d0792d17848275d0435ca3b44f2238e1110f8303ccc01122e400995"

-         },

-         "pipfile-spec": 6,

-         "requires": {

-             "python_version": "3.6"

-         },

-         "sources": [

-             {

-                 "name": "pypi",

-                 "url": "https://pypi.org/simple",

-                 "verify_ssl": true

-             }

-         ]

-     },

-     "default": {

-         "alabaster": {

-             "hashes": [

-                 "sha256:446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359",

-                 "sha256:a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02"

-             ],

-             "version": "==0.7.12"

-         },

-         "babel": {

-             "hashes": [

-                 "sha256:6778d85147d5d85345c14a26aada5e478ab04e39b078b0745ee6870c2b5cf669",

-                 "sha256:8cba50f48c529ca3fa18cf81fa9403be176d374ac4d60738b839122dfaaa3d23"

-             ],

-             "version": "==2.6.0"

-         },

-         "certifi": {

-             "hashes": [

-                 "sha256:47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7",

-                 "sha256:993f830721089fef441cdfeb4b2c8c9df86f0c63239f06bd025a76a7daddb033"

-             ],

-             "version": "==2018.11.29"

-         },

-         "chardet": {

-             "hashes": [

-                 "sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",

-                 "sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"

-             ],

-             "version": "==3.0.4"

-         },

-         "docutils": {

-             "hashes": [

-                 "sha256:02aec4bd92ab067f6ff27a38a38a41173bf01bed8f89157768c1573f53e474a6",

-                 "sha256:51e64ef2ebfb29cae1faa133b3710143496eca21c530f3f71424d77687764274",

-                 "sha256:7a4bd47eaf6596e1295ecb11361139febe29b084a87bf005bf899f9a42edc3c6"

-             ],

-             "version": "==0.14"

-         },

-         "idna": {

-             "hashes": [

-                 "sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407",

-                 "sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"

-             ],

-             "version": "==2.8"

-         },

-         "imagesize": {

-             "hashes": [

-                 "sha256:3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8",

-                 "sha256:f3832918bc3c66617f92e35f5d70729187676313caa60c187eb0f28b8fe5e3b5"

-             ],

-             "version": "==1.1.0"

-         },

-         "jinja2": {

-             "hashes": [

-                 "sha256:74c935a1b8bb9a3947c50a54766a969d4846290e1e788ea44c1392163723c3bd",

-                 "sha256:f84be1bb0040caca4cea721fcbbbbd61f9be9464ca236387158b0feea01914a4"

-             ],

-             "version": "==2.10"

-         },

-         "markupsafe": {

-             "hashes": [

-                 "sha256:00bc623926325b26bb9605ae9eae8a215691f33cae5df11ca5424f06f2d1f473",

-                 "sha256:09027a7803a62ca78792ad89403b1b7a73a01c8cb65909cd876f7fcebd79b161",

-                 "sha256:09c4b7f37d6c648cb13f9230d847adf22f8171b1ccc4d5682398e77f40309235",

-                 "sha256:1027c282dad077d0bae18be6794e6b6b8c91d58ed8a8d89a89d59693b9131db5",

-                 "sha256:24982cc2533820871eba85ba648cd53d8623687ff11cbb805be4ff7b4c971aff",

-                 "sha256:29872e92839765e546828bb7754a68c418d927cd064fd4708fab9fe9c8bb116b",

-                 "sha256:43a55c2930bbc139570ac2452adf3d70cdbb3cfe5912c71cdce1c2c6bbd9c5d1",

-                 "sha256:46c99d2de99945ec5cb54f23c8cd5689f6d7177305ebff350a58ce5f8de1669e",

-                 "sha256:500d4957e52ddc3351cabf489e79c91c17f6e0899158447047588650b5e69183",

-                 "sha256:535f6fc4d397c1563d08b88e485c3496cf5784e927af890fb3c3aac7f933ec66",

-                 "sha256:62fe6c95e3ec8a7fad637b7f3d372c15ec1caa01ab47926cfdf7a75b40e0eac1",

-                 "sha256:6dd73240d2af64df90aa7c4e7481e23825ea70af4b4922f8ede5b9e35f78a3b1",

-                 "sha256:717ba8fe3ae9cc0006d7c451f0bb265ee07739daf76355d06366154ee68d221e",

-                 "sha256:79855e1c5b8da654cf486b830bd42c06e8780cea587384cf6545b7d9ac013a0b",

-                 "sha256:7c1699dfe0cf8ff607dbdcc1e9b9af1755371f92a68f706051cc8c37d447c905",

-                 "sha256:88e5fcfb52ee7b911e8bb6d6aa2fd21fbecc674eadd44118a9cc3863f938e735",

-                 "sha256:8defac2f2ccd6805ebf65f5eeb132adcf2ab57aa11fdf4c0dd5169a004710e7d",

-                 "sha256:98c7086708b163d425c67c7a91bad6e466bb99d797aa64f965e9d25c12111a5e",

-                 "sha256:9add70b36c5666a2ed02b43b335fe19002ee5235efd4b8a89bfcf9005bebac0d",

-                 "sha256:9bf40443012702a1d2070043cb6291650a0841ece432556f784f004937f0f32c",

-                 "sha256:ade5e387d2ad0d7ebf59146cc00c8044acbd863725f887353a10df825fc8ae21",

-                 "sha256:b00c1de48212e4cc9603895652c5c410df699856a2853135b3967591e4beebc2",

-                 "sha256:b1282f8c00509d99fef04d8ba936b156d419be841854fe901d8ae224c59f0be5",

-                 "sha256:b2051432115498d3562c084a49bba65d97cf251f5a331c64a12ee7e04dacc51b",

-                 "sha256:ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6",

-                 "sha256:c8716a48d94b06bb3b2524c2b77e055fb313aeb4ea620c8dd03a105574ba704f",

-                 "sha256:cd5df75523866410809ca100dc9681e301e3c27567cf498077e8551b6d20e42f",

-                 "sha256:e249096428b3ae81b08327a63a485ad0878de3fb939049038579ac0ef61e17e7"

-             ],

-             "version": "==1.1.1"

-         },

-         "packaging": {

-             "hashes": [

-                 "sha256:0c98a5d0be38ed775798ece1b9727178c4469d9c3b4ada66e8e6b7849f8732af",

-                 "sha256:9e1cbf8c12b1f1ce0bb5344b8d7ecf66a6f8a6e91bcb0c84593ed6d3ab5c4ab3"

-             ],

-             "version": "==19.0"

-         },

-         "pygments": {

-             "hashes": [

-                 "sha256:5ffada19f6203563680669ee7f53b64dabbeb100eb51b61996085e99c03b284a",

-                 "sha256:e8218dd399a61674745138520d0d4cf2621d7e032439341bc3f647bff125818d"

-             ],

-             "version": "==2.3.1"

-         },

-         "pyparsing": {

-             "hashes": [

-                 "sha256:66c9268862641abcac4a96ba74506e594c884e3f57690a696d21ad8210ed667a",

-                 "sha256:f6c5ef0d7480ad048c054c37632c67fca55299990fff127850181659eea33fc3"

-             ],

-             "version": "==2.3.1"

-         },

-         "pytz": {

-             "hashes": [

-                 "sha256:32b0891edff07e28efe91284ed9c31e123d84bea3fd98e1f72be2508f43ef8d9",

-                 "sha256:d5f05e487007e29e03409f9398d074e158d920d36eb82eaf66fb1136b0c5374c"

-             ],

-             "version": "==2018.9"

-         },

-         "requests": {

-             "hashes": [

-                 "sha256:502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e",

-                 "sha256:7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b"

-             ],

-             "version": "==2.21.0"

-         },

-         "six": {

-             "hashes": [

-                 "sha256:3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c",

-                 "sha256:d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"

-             ],

-             "version": "==1.12.0"

-         },

-         "snowballstemmer": {

-             "hashes": [

-                 "sha256:919f26a68b2c17a7634da993d91339e288964f93c274f1343e3bbbe2096e1128",

-                 "sha256:9f3bcd3c401c3e862ec0ebe6d2c069ebc012ce142cce209c098ccb5b09136e89"

-             ],

-             "version": "==1.2.1"

-         },

-         "sphinx": {

-             "hashes": [

-                 "sha256:b53904fa7cb4b06a39409a492b949193a1b68cc7241a1a8ce9974f86f0d24287",

-                 "sha256:c1c00fc4f6e8b101a0d037065043460dffc2d507257f2f11acaed71fd2b0c83c"

-             ],

-             "index": "pypi",

-             "version": "==1.8.4"

-         },

-         "sphinx-rtd-theme": {

-             "hashes": [

-                 "sha256:00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4",

-                 "sha256:728607e34d60456d736cc7991fd236afb828b21b82f956c5ea75f94c8414040a"

-             ],

-             "index": "pypi",

-             "version": "==0.4.3"

-         },

-         "sphinxcontrib-websupport": {

-             "hashes": [

-                 "sha256:68ca7ff70785cbe1e7bccc71a48b5b6d965d79ca50629606c7861a21b206d9dd",

-                 "sha256:9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9"

-             ],

-             "version": "==1.1.0"

-         },

-         "urllib3": {

-             "hashes": [

-                 "sha256:61bf29cada3fc2fbefad4fdf059ea4bd1b4a86d2b6d15e1c7c0b582b9752fe39",

-                 "sha256:de9529817c93f27c8ccbfead6985011db27bd0ddfcdb2d86f3f663385c6a9c22"

-             ],

-             "version": "==1.24.1"

-         }

-     },

-     "develop": {}

- }

file removed
-21
@@ -1,21 +0,0 @@ 

- -i https://pypi.org/simple

- alabaster==0.7.12

- babel==2.6.0

- certifi==2018.11.29

- chardet==3.0.4

- docutils==0.14

- idna==2.8

- imagesize==1.1.0

- jinja2==2.10

- markupsafe==1.1.1

- packaging==19.0

- pygments==2.3.1

- pyparsing==2.3.1

- pytz==2018.9

- requests==2.21.0

- six==1.12.0

- snowballstemmer==1.2.1

- sphinx-rtd-theme==0.4.3

- sphinx==1.8.4

- sphinxcontrib-websupport==1.1.0

- urllib3==1.24.1

file removed
-62
@@ -1,62 +0,0 @@ 

- #django-haystack doesn't have support for django2.1 yet

- Django==2.0

- 

- # Basic Django extensions

- django-extensions==1.6.1

- django-braces==1.8.1

- django-crispy-forms==1.7.2

- django-model-utils==2.4

- dogslow==1.2                       # For logging details about very slow requests

- six>=1.11.0                          # Dependency of django-extensions

- 

- # Basic Python libraries

- Unipath==1.1          # Better path handling

- pytz==2015.7          # Timezone data

- ipython==7.3.0        # Prettier python prompt

- 

- # For generating docs - sphinx and dependencies

- Sphinx==1.3.6

- Jinja2==2.8

- MarkupSafe==0.23

- Pygments==2.1.2

- docutils==0.12

- 

- # PEP8 validation with dependencies

- flake8==2.5.4

- mccabe==0.4.0

- pyflakes==1.0.0

- pep8==1.7.0

- 

- # Misc

- urllib3==1.24.2       # Dependency for requests 

- python-dateutil==2.5.0

- factory-boy==2.9.2

- mozilla-django-oidc==1.2.2

- fedora-messaging>=1.4.0

- happinesspacket-schema>=1.0.0

- celery[redis]==4.2.1

- django-celery-email==2.0.1

- psycopg2==2.7.5 # PostgreSQL driver

- bleach>=3.1.0

- 

- # Search engine

- Whoosh==2.7.4

- django-haystack==2.8.1

- 

- #python-fedora for f-a-s API

- python-fedora==0.10.0

- 

- #Dependency for normalizing emails

- email-normalize==0.2.1

- 

- # Dependency for YAML file

- pyyaml==5.1

- 

- # WYSIWYG addition

- django-ckeditor==5.7.0

- 

- #Testing using pytest

- pytest-django==3.5.0

- pytest==4.6.3

- pytest-cov==2.7.1

- pytest-mock==1.10.4 

\ No newline at end of file

file removed
-5
@@ -1,5 +0,0 @@ 

- -r production.txt

- coverage==4.0.3

- django-coverage==1.2.4

- mock==1.3.0

- selenium==2.52.0

file removed
-6
@@ -1,6 +0,0 @@ 

- -r base.txt

- coverage==4.0.3

- django-coverage==1.2.4

- django-debug-toolbar==1.11

- mock==1.3.0

- selenium==2.52

@@ -1,3 +0,0 @@ 

- -r base.txt

- gunicorn==19.4.1

- python-memcached==1.57

This PR reworks how our project dependencies are managed. Instead of the requirements.txt files, this uses a single Pipfile to manage "production" and "development" dependencies for the project. See commit messages below for details:

commit d810b1f
Date: Fri Jun 28 21:57:16 2019 -0500

dependencies: Migrate docs deps to root directory

This is a first step in migrating all project dependencies to Pipenv.
This commit specifically adds the docs dependencies into a new Pipfile
specified at the root of the project.

commit 942aa28
Date: Mon Jul 1 22:48:52 2019 -0500

Migrate all project dependencies to Pipfile

This commit removes the multiple requirements.txt files used to install
and manage dependencies and opts in favor of the Pipfile managed by
Pipenv:

    https://github.com/pypa/pipfile
    https://pipenv.org/

The purpose of this change is to maintain DRY principles. This makes our
dependencies easier to manage by managing them in one place and only
dividing them by standard dependencies or development dependencies.

Future changes after this commit will include documentation improvements
and updates to the Dockerfile to install dependencies in the Pipfile
format.

commit d7ac81f
Date: Mon Jul 1 23:03:03 2019 -0500

Refactor Dockerfile, use pipenv for Python packages

This commit refactors the Dockerfile to use fewer layers when building
the image. It also re-arranges the order of how things are run to
benefit some steps like installing Python dependencies.

Ultimately, this commit leverages Pipenv for managing and installing
dependencies within the project. This is one additional change to
improving awareness of dependencies and ensuring development,
production, and staging will always use the same set of dependencies.

commit f10b244
Date: Mon Jul 1 23:14:58 2019 -0500

Dockerfile: Install development dependencies

This is not sustainable and not recommended. But in practice, this is
the same as we were doing before. I wonder if it's better to have a prod
and dev Dockerfile with different Django settings and Pipenv flags.

Metadata Update from @jflory7:
- Pull-request tagged with: needs testing, new change, type - infra, type - internal organization

4 years ago

Oops, I forgot to update the docs. Going to hold off on this one for now until I have a chance to update them accordingly.

Metadata Update from @jflory7:
- Pull-request untagged with: needs testing
- Pull-request tagged with: needs changes, type - docs
- Request assigned

4 years ago

1 new commit added

  • Add pytest-mock to devel dependencies
4 years ago

rebased onto 1ce0b06

4 years ago

rebased onto d146cd9

4 years ago

Pull-Request has been merged by jflory7

4 years ago