Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
thalia
concrexit
Commits
5ff09200
Verified
Commit
5ff09200
authored
Feb 20, 2019
by
Jelle Besseling
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Migrate to poetry
parent
711d1885
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1126 additions
and
1003 deletions
+1126
-1003
.flake8
.flake8
+2
-0
.gitlab-ci.yml
.gitlab-ci.yml
+20
-16
Dockerfile
Dockerfile
+8
-9
Pipfile
Pipfile
+0
-39
Pipfile.lock
Pipfile.lock
+0
-886
README.md
README.md
+18
-13
docs/requirements.txt
docs/requirements.txt
+0
-2
poetry.lock
poetry.lock
+1026
-0
pyproject.toml
pyproject.toml
+52
-0
tox.ini
tox.ini
+0
-38
No files found.
.flake8
0 → 100644
View file @
5ff09200
[flake8]
exclude = */migrations/*,*/urls.py
.gitlab-ci.yml
View file @
5ff09200
...
...
@@ -6,7 +6,7 @@ variables:
# https://github.com/thaliawww/python-thalia
# Should get auto-updated with the official 'python' repository
# Installs:
# - pip:
tox,
coverage, p
ipenv
# - pip: coverage, p
oetry
# - apt: ghostscript
PY36_IMAGE
:
thalia/python-thalia:3.6
PY37_IMAGE
:
thalia/python-thalia:3.7
...
...
@@ -19,8 +19,10 @@ stages:
codestyle
:
stage
:
test
image
:
$PY36_IMAGE
before_script
:
-
poetry install --no-interaction
script
:
-
tox -e flake8
-
poetry run flake8 website
# Check for obsolete translations in .po files (starting with `#~`).
-
cd website
-
grep --include="*.po" --files-with-matches --recursive "^#~" && exit 1 || echo "No obsolete translations found."
...
...
@@ -37,40 +39,42 @@ codestyle:
-
postgres:latest
before_script
:
-
git log -1
-
poetry install --no-interaction
script
:
-
tox -e ${PYTHON_VERSION}-${DJANGO_VERSION}
-
cd website
-
poetry run python manage.py check
-
poetry run python manage.py templatecheck --project-only
-
poetry run python manage.py makemigrations --no-input --check --dry-run
-
>
poetry run
python -Wall -mcoverage run
--omit="manage.py,thaliawebsite/wsgi.py,*/migrations/*"
--branch
--source '.'
manage.py test
-
coverage report
python36-django21
:
<<
:
*djangotest
image
:
$PY36_IMAGE
variables
:
PYTHON_VERSION
:
py36
DJANGO_VERSION
:
django21
python37-django21
:
<<
:
*djangotest
image
:
$PY37_IMAGE
variables
:
PYTHON_VERSION
:
py37
DJANGO_VERSION
:
django21
docs
:
stage
:
test
image
:
$PY36_IMAGE
before_script
:
# install django deps
-
pipenv --bare install --dev --ignore-pipfile
# install doc deps
-
cd docs
-
pipenv run pip install -r requirements.txt
-
poetry install --no-interaction --extras "docs"
script
:
-
echo "Building current docs"
-
env -u GITLAB_CI pipenv run make doctest
-
env -u GITLAB_CI pipenv run sphinx-build -W . _build
-
cd docs
-
env -u GITLAB_CI poetry run make doctest
-
env -u GITLAB_CI poetry run sphinx-build -W . _build
-
echo "Checking if there are changes"
-
p
ipenv
run ./generate-apidocs.sh
-
p
oetry
run ./generate-apidocs.sh
-
git diff --exit-code
build docker image
:
...
...
Dockerfile
View file @
5ff09200
...
...
@@ -37,21 +37,20 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
ghostscript
&&
\
rm
-rf
/var/lib/apt
RUN
pip
install
--no-cache-dir
pipenv
RUN
pip
install
--no-cache-dir
poetry
&&
\
poetry config settings.virtualenvs.create
false
WORKDIR
/usr/src/app/website/
# install python requirements
COPY
docs/requirements.txt /usr/src/app/docs/
COPY
Pipfile /usr/src/app/website/
COPY
Pipfile.lock /usr/src/app/website/
COPY
pyproject.toml /usr/src/app/website/
COPY
poetry.lock /usr/src/app/website/
RUN if
[
"
$install_dev_requirements
"
-eq
1
]
;
then
\
p
ipenv
install
--
system
--dev
;
\
p
oetry
install
--
no-interaction
--extras
"docs"
;
\
else
\
echo
"This will fail if the dependencies are out of date"
;
\
pipenv
install
--system
--deploy
;
\
fi
RUN
pip
install
--no-cache-dir
\
-r
../docs/requirements.txt
poetry
install
--no-interaction
--extras
"docs"
--no-dev
;
\
fi
;
\
poetry cache:clear
--all
--no-interaction
pypi
# Create entry points
COPY
resources/entrypoint.sh /usr/local/bin/entrypoint.sh
...
...
Pipfile
deleted
100644 → 0
View file @
711d1885
[[source]]
url
=
"https://pypi.org/simple"
verify_ssl
=
true
name
=
"pypi"
[packages]
django-localflavor
=
"*"
freezegun
=
"*"
bleach
=
"*"
"django-tinymce4-lite"
=
"*"
rcssmin
=
"*"
djangorestframework
=
"*"
django-ical
=
"*"
django-libsass
=
"*"
django-cors-headers
=
"*"
python-magic
=
"*"
redis
=
"*"
Django
=
">=2.1,<2.2"
Pillow
=
"*"
django_compressor
=
"*"
"psycopg2-binary"
=
"*"
bcrypt
=
"*"
"argon2_cffi"
=
"*"
uWSGI
=
"*"
"django-bootstrap4"
=
"*"
firebase-admin
=
"*"
sentry-sdk
=
"*"
django-sendfile2
=
"*"
[dev-packages]
django-template-check
=
"*"
"flake8"
=
"*"
pydenticon
=
"*"
pylint
=
"*"
pylint-django
=
"*"
tox
=
"*"
Faker
=
"*"
factory_boy
=
"*"
coverage
=
"*"
Pipfile.lock
deleted
100644 → 0
View file @
711d1885
{
"_meta"
:
{
"hash"
:
{
"sha256"
:
"dca2d658ebe93e4e24b6b95ccc80130c4970fec9daa46be28682c98e1a76089c"
},
"pipfile-spec"
:
6
,
"requires"
:
{},
"sources"
:
[
{
"name"
:
"pypi"
,
"url"
:
"https://pypi.org/simple"
,
"verify_ssl"
:
true
}
]
},
"default"
:
{
"argon2-cffi"
:
{
"hashes"
:
[
"sha256:1029fef2f7808a89e3baa306f5ace36e768a2d847ee7b056399adcd7707f6256"
,
"sha256:206857d870c6ca3c92514ca70a3c371be47383f7ae6a448f5a16aa17baa550ba"
,
"sha256:3558a7e22b886efad0c99b23b9be24880213b4e2d1630095459978cfcae570e2"
,
"sha256:457fd6de741859aa91c750ffad97f12675c4356047e43392c5fb21f5d9f48b24"
,
"sha256:4a1daa9f6960cdbdb865efcabac4158693459f52e7582c9f8a7c92dc61cdc8e1"
,
"sha256:4bfb603184ea678563c0f1f1872367e81a3d2b70646a627d38ccede68d7b9194"
,
"sha256:5d7493ed10e384b84b6dac862fe96c443297a25b991a8364d94a67b6cd1e9569"
,
"sha256:5fb080047517add8d27baeb38a314814b5ab9c72630606788909b3f60a8f054a"
,
"sha256:7453b16496b5629005a43c5f5707ef8a31fcfa5bb0ed34b5ba7b86a3cc9d02f2"
,
"sha256:81548a27b919861040cb928a350733f4f9455dd67c7d1ba92eb5960a1d7f8b26"
,
"sha256:84fd768d523f87097d572cdfb98e868cdbdc8e80e3d444787fd32e7f6ae25b02"
,
"sha256:8b4cf6c0298f33b92fcd50f19899175b7421690fc8bc6ac68368320c158cbf51"
,
"sha256:af6a4799411eee3f7133fead973727f5fefacd18ea23f51039e70cae51ceb109"
,
"sha256:df7d60a4cf58dc08319fedc0506b42ec0fa5221c6e1f9e2e89fcddff92507390"
,
"sha256:f9072e9f70185a57e36228d34aad4bb644e6a8b4fd6a45f856c666f38f6de96c"
,
"sha256:fbae1d08b52f9a791500c650ab51ba00e374eaeccb5dbaa41b99dab4fd4115e8"
,
"sha256:fe91e3bd95aeae70366693dcc970db03a71619d19df6fbaabf662c3b3c54cdf8"
,
"sha256:fec86ee6f913154846171f66ee30c893c0cde3d434911f8b31c1f84a9aea410e"
],
"index"
:
"pypi"
,
"version"
:
"==19.1.0"
},
"bcrypt"
:
{
"hashes"
:
[
"sha256:0ba875eb67b011add6d8c5b76afbd92166e98b1f1efab9433d5dc0fafc76e203"
,
"sha256:21ed446054c93e209434148ef0b362432bb82bbdaf7beef70a32c221f3e33d1c"
,
"sha256:28a0459381a8021f57230954b9e9a65bb5e3d569d2c253c5cac6cb181d71cf23"
,
"sha256:2aed3091eb6f51c26b7c2fad08d6620d1c35839e7a362f706015b41bd991125e"
,
"sha256:2fa5d1e438958ea90eaedbf8082c2ceb1a684b4f6c75a3800c6ec1e18ebef96f"
,
"sha256:3a73f45484e9874252002793518da060fb11eaa76c30713faa12115db17d1430"
,
"sha256:3e489787638a36bb466cd66780e15715494b6d6905ffdbaede94440d6d8e7dba"
,
"sha256:44636759d222baa62806bbceb20e96f75a015a6381690d1bc2eda91c01ec02ea"
,
"sha256:678c21b2fecaa72a1eded0cf12351b153615520637efcadc09ecf81b871f1596"
,
"sha256:75460c2c3786977ea9768d6c9d8957ba31b5fbeb0aae67a5c0e96aab4155f18c"
,
"sha256:8ac06fb3e6aacb0a95b56eba735c0b64df49651c6ceb1ad1cf01ba75070d567f"
,
"sha256:8fdced50a8b646fff8fa0e4b1c5fd940ecc844b43d1da5a980cb07f2d1b1132f"
,
"sha256:9b2c5b640a2da533b0ab5f148d87fb9989bf9bcb2e61eea6a729102a6d36aef9"
,
"sha256:a9083e7fa9adb1a4de5ac15f9097eb15b04e2c8f97618f1b881af40abce382e1"
,
"sha256:b7e3948b8b1a81c5a99d41da5fb2dc03ddb93b5f96fcd3fd27e643f91efa33e1"
,
"sha256:b998b8ca979d906085f6a5d84f7b5459e5e94a13fc27c28a3514437013b6c2f6"
,
"sha256:dd08c50bc6f7be69cd7ba0769acca28c846ec46b7a8ddc2acf4b9ac6f8a7457e"
,
"sha256:de5badee458544ab8125e63e39afeedfcf3aef6a6e2282ac159c95ae7472d773"
,
"sha256:ede2a87333d24f55a4a7338a6ccdccf3eaa9bed081d1737e0db4dbd1a4f7e6b6"
],
"index"
:
"pypi"
,
"version"
:
"==3.1.6"
},
"bleach"
:
{
"hashes"
:
[
"sha256:213336e49e102af26d9cde77dd2d0397afabc5a6bf2fed985dc35b5d1e285a16"
,
"sha256:3fdf7f77adcf649c9911387df51254b813185e32b2c6619f690b593a617e19fa"
],
"index"
:
"pypi"
,
"version"
:
"==3.1.0"
},
"cachecontrol"
:
{
"hashes"
:
[
"sha256:cef77effdf51b43178f6a2d3b787e3734f98ade253fa3187f3bb7315aaa42ff7"
],
"version"
:
"==0.12.5"
},
"cachetools"
:
{
"hashes"
:
[
"sha256:219b7dc6024195b6f2bc3d3f884d1fef458745cd323b04165378622dcc823852"
,
"sha256:9efcc9fab3b49ab833475702b55edd5ae07af1af7a4c627678980b45e459c460"
],
"version"
:
"==3.1.0"
},
"certifi"
:
{
"hashes"
:
[
"sha256:47f9c83ef4c0c621eaef743f133f09fa8a74a9b75f037e8624f83bd1b6626cb7"
,
"sha256:993f830721089fef441cdfeb4b2c8c9df86f0c63239f06bd025a76a7daddb033"
],
"version"
:
"==2018.11.29"
},
"cffi"
:
{
"hashes"
:
[
"sha256:08090454ff236239e583a9119d0502a6b9817594c0a3714dd1d8593f2350ba11"
,
"sha256:0fd93b32d96d7ce46d0fb0db6d82f73e2e6ee37696a0fed152240c780ff99d16"
,
"sha256:11651532fefba063d372e41826ab669b666d7a92e90dd019f31aefa7cf18e0e0"
,
"sha256:116b32a34c862dac9a0c8c28e68fa7d63750068443d0bb595c090c70de7bf080"
,
"sha256:1ec69cca03f9e8e6e2e835f44a1572e0b6d6130aa71a2100459ee33a6c370e04"
,
"sha256:22151b858c916f0765734bcfbf69a986b127260f95f5cb829128c02863c14626"
,
"sha256:22558c0c4d9640b0869c51bbd8761dbf610cec03db6c7ec8471c4371e7450141"
,
"sha256:2e556610fcf5d4c41d480221dec071d517096ff452053b6f4eacfa20fec0dbce"
,
"sha256:3991da7c291c8c80a4c53303e0abb857bc3598af27fbe203214ddd13dc7cf33a"
,
"sha256:39f47648b5f2755aa977b37fc49581bdd3d0a500eb31f61c034af2ff05d6f56f"
,
"sha256:430fa07eb38761a720aac338202fc15cbe9897deef50fa7f8afc2217b85213da"
,
"sha256:598fcf6173ea45e5c82ca525cf47a956d1406e8f350bd471049630c4897c8f0a"
,
"sha256:6c96839af24f3edd2f6b44f8b7cf5d1fc1ad1f0da1c9fb2227a4239707adfdb7"
,
"sha256:830831d20030c17d62b7ca3987a09f02c193ff2d2c46dc0dff53d89071dd806e"
,
"sha256:84fe536dc89877b722b5b4ea578f5beac60759363513aeb1df6ec914c6dd6ba1"
,
"sha256:8a1f16671de9cd41b508f9b2c82de2523f568103b4c32cdeee3c6ed777005766"
,
"sha256:9b658f51245abb1ed6a5467ca58933e912ea6039327745655de6753f848fb98a"
,
"sha256:ad86d01920b90384d7b2fe0df7e75dc06562471e14aa0905351fecd31007016b"
,
"sha256:b107c3f195af098e2b2ea9cc55074e15ee9af6449e63d58ff5b0b75841c49833"
,
"sha256:b8a36ff55ec3d22bd4c2baac080b48a9c9fe0af5df363fa1dee7c334dfb06519"
,
"sha256:be8a266b312707584762036c65d5aa34c56319c6e60536ad8d3f1255d209b2a7"
,
"sha256:bedbb01c0e4fb12f41b2c951723acb4e8305892598e391b89d6a4e6ba5989a63"
,
"sha256:ddf1824a0f04f324f1d380f44893abb57394379763e4ed6200bc188f33b32325"
,
"sha256:dfe74188ee1afd0ebfeff31b056aac8b72016f6b0364f90eb3284dc29bf1619a"
,
"sha256:e0eaa6da93e87229f2d8e133c3baa459ed626e374d20486e2dc94a8e9d2f019d"
,
"sha256:e5eb00a6e1058806a41e3f5a30e4c826ec97d98957302c78909fb8ee98d0266e"
,
"sha256:fa1e30ea308da2ffa91a35042e612340e7c7fcd8614581c85139850b2e18fd17"
],
"version"
:
"==1.12.0"
},
"chardet"
:
{
"hashes"
:
[
"sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae"
,
"sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
],
"version"
:
"==3.0.4"
},
"django"
:
{
"hashes"
:
[
"sha256:275bec66fd2588dd517ada59b8bfb23d4a9abc5a362349139ddda3c7ff6f5ade"
,
"sha256:939652e9d34d7d53d74d5d8ef82a19e5f8bb2de75618f7e5360691b6e9667963"
],
"index"
:
"pypi"
,
"version"
:
"==2.1.7"
},
"django-appconf"
:
{
"hashes"
:
[
"sha256:6a4d9aea683b4c224d97ab8ee11ad2d29a37072c0c6c509896dd9857466fb261"
,
"sha256:ddab987d14b26731352c01ee69c090a4ebfc9141ed223bef039d79587f22acd9"
],
"version"
:
"==1.0.2"
},
"django-bootstrap4"
:
{
"hashes"
:
[
"sha256:32ffee49c4c8ca7df543aac8733a5d45ad304078f920a0167819525bd33a955a"
],
"index"
:
"pypi"
,
"version"
:
"==0.0.7"
},
"django-compressor"
:
{
"hashes"
:
[
"sha256:7732676cfb9d58498dfb522b036f75f3f253f72ea1345ac036434fdc418c2e57"
,
"sha256:9616570e5b08e92fa9eadc7a1b1b49639cce07ef392fc27c74230ab08075b30f"
],
"index"
:
"pypi"
,
"version"
:
"==2.2"
},
"django-cors-headers"
:
{
"hashes"
:
[
"sha256:5545009c9b233ea7e70da7dbab7cb1c12afa01279895086f98ec243d7eab46fa"
,
"sha256:c4c2ee97139d18541a1be7d96fe337d1694623816d83f53cb7c00da9b94acae1"
],
"index"
:
"pypi"
,
"version"
:
"==2.4.0"
},
"django-ical"
:
{
"hashes"
:
[
"sha256:80071168c7113d8ddf5907bd02bc32af017cf2bfb401d3e988d657819bce4756"
,
"sha256:afdf3020e6f7ed5955a4fc4d500283714b80bed16fcc3724a24e1fdae2bff7ed"
],
"index"
:
"pypi"
,
"version"
:
"==1.5"
},
"django-libsass"
:
{
"hashes"
:
[
"sha256:49db3334b87e1f7955c4f9fb9945bc296f8bfd27a14d6d89706e4b0e5dc5de1c"
],
"index"
:
"pypi"
,
"version"
:
"==0.7"
},
"django-localflavor"
:
{
"hashes"
:
[
"sha256:0cee94c4b8f0214a5ba7be7e935019a8c062f4e7726d1df4b1e453cb812b2039"
,
"sha256:12ce98b13adcd68bb4babcd937d0ae5a0fd5801f71acaf9a6bf1784c218ef53c"
],
"index"
:
"pypi"
,
"version"
:
"==2.1"
},
"django-sendfile2"
:
{
"hashes"
:
[
"sha256:b1654d844d68da45620bc27eda3c4b89c2cbbd521146f88a05f3347375807757"
],
"index"
:
"pypi"
,
"version"
:
"==0.4.2"
},
"django-tinymce4-lite"
:
{
"hashes"
:
[
"sha256:90bef25a20f43b57040ad631605de3bcccccc7ac760c42640edbf459062af8d2"
,
"sha256:cf4a41abc704e56515eb48d9d8fd3c56ceeb9705419bdff2b8a375e2131524f8"
],
"index"
:
"pypi"
,
"version"
:
"==1.7.4"
},
"djangorestframework"
:
{
"hashes"
:
[
"sha256:79c6efbb2514bc50cf25906d7c0a5cfead714c7af667ff4bd110312cd380ae66"
,
"sha256:a4138613b67e3a223be6c97f53b13d759c5b90d2b433bad670b8ebf95402075f"
],
"index"
:
"pypi"
,
"version"
:
"==3.9.1"
},
"firebase-admin"
:
{
"hashes"
:
[
"sha256:222042528f1fb4f0395f6146bb75ff8e3ae81edaa2a5ed90fef32530b1c60019"
],
"index"
:
"pypi"
,
"version"
:
"==2.15.1"
},
"freezegun"
:
{
"hashes"
:
[
"sha256:6cb82b276f83f2acce67f121dc2656f4df26c71e32238334eb071170b892a278"
,
"sha256:e839b43bfbe8158b4d62bb97e6313d39f3586daf48e1314fb1083d2ef17700da"
],
"index"
:
"pypi"
,
"version"
:
"==0.3.11"
},
"google-api-core"
:
{
"extras"
:
[
"grpc"
],
"hashes"
:
[
"sha256:85693e163a1a6faea69a74f8feaf35d54dfa2559fbdbbe389c93ffb3bb4c9a79"
,
"sha256:eea2d223f7bdc6d68dd1c4681e17cded5a00b5a8e686e1597b89f27f58cf2980"
],
"markers"
:
"platform_python_implementation != 'PyPy'"
,
"version"
:
"==1.7.0"
},
"google-auth"
:
{
"hashes"
:
[
"sha256:b6081ba9946828d6417c15ecdc723fdb7c007cdd74e140747d3876a7440f0be5"
,
"sha256:e8d64e9bc8cb6f0fc5360c693f86dc9ee6964081ee702e3b5ddc937f99efc950"
],
"version"
:
"==1.6.2"
},
"google-cloud-core"
:
{
"hashes"
:
[
"sha256:9bee63e0991be9801a4baf0b7841cf54f86c6e7fec922f45ea74cd4032ed4ee4"
,
"sha256:d85b1aaaf3bad9415ad1d8ee5eadce96d7007a82f13ce0a0629a003a11e83f29"
],
"version"
:
"==0.29.1"
},
"google-cloud-firestore"
:
{
"hashes"
:
[
"sha256:2d8f50209a43bf1b17ffa5432b8e3f84904dce81115f92ef99672d8e137272c9"
,
"sha256:5349d1a112dc8ff1b96d400a04ab18949503b542c72f526847e2066eef6cbc25"
],
"markers"
:
"platform_python_implementation != 'PyPy'"
,
"version"
:
"==0.31.0"
},
"google-cloud-storage"
:
{
"hashes"
:
[
"sha256:a3115c22a71e2f172fade72c7b7b797a071f3ac9b66043191fc84c214ba0c671"
,
"sha256:aef243b533144c11c9ff750565c43dffe5445debb143697002edb6205f64a437"
],
"version"
:
"==1.14.0"
},
"google-resumable-media"
:
{
"hashes"
:
[
"sha256:2dae98ee716efe799db3578a7b902fbf5592fc5c77d3c0906fc4ef9b1b930861"
,
"sha256:3e38923493ca0d7de0ad91c31acfefc393c78586db89364e91cb4f11990e51ba"
],
"version"
:
"==0.3.2"
},
"googleapis-common-protos"
:
{
"hashes"
:
[
"sha256:d56ca712f67fff216d3be9eeeb8360ca59066d0365ba70b137b9e1801813747e"
],
"version"
:
"==1.5.8"
},
"grpcio"
:
{
"hashes"
:
[
"sha256:0134bab8e8d16b195547f9216517b3abcd3e4b6b1f5a1c8940099888003287ac"
,
"sha256:084d4a5f34a671bd0ec4668d3a7a3351015de81e6d4aef6710d9dab026def8cc"
,
"sha256:1ab29724526d8651c8b878257775e17cf3fba7474c01edc76ff8bcfecf570f91"
,
"sha256:1bd017ca22a126af0d7d67b4140b427ae58fd6d79dbd277e6f21be3ee0fdfef7"
,
"sha256:25e7b619973e20d8f2cf05d6af0f2e11263a8792b99c058a5b590ef7aef554b8"
,
"sha256:2e836e6092e6639cc9edb486f27c6fe078408aac54ed345c5762edcf8588d9c2"
,
"sha256:34870eb5d157fe9639f263f0bfe0bcdc1737a6c08181ce113585f6461f37c84b"
,
"sha256:424c8f0748935932d28531ce6d817a11914dfb385b86fe815297f122cd04d592"
,
"sha256:43c42570f769748982c61a249e01eec5f91149e2aa98438c893de64e649d562b"
,
"sha256:4f845d13ecff25012fc9c7f22067fca1d2b3da3f693da146ddcc587fdab3e7b4"
,
"sha256:614de7d6672eb023c08dde70b103efa9faacf86ac63b2a24f8d74b064a86f6f0"
,
"sha256:6c5956292692f385bb12b5f47afd70ae9469d2ee07a949c94aef2946020c1300"
,
"sha256:7030674682433a5cbc069cd5a5fbcdf193c8a3680dc161cd7b984f72ab609f23"
,
"sha256:77fff21bee2d3c3487891cdb69b35190deddac609e48c05262e1097f0b2cd82a"
,
"sha256:8ac64f3e17e6a13abf9628f0ba22012c948d7ab400592510fed3c62444bdcc0d"
,
"sha256:8fdfa8129e1ab2cdf053956dd07b21ccc127c8a8f0c5b83ff60987c009ddb636"
,
"sha256:8ff4935abf61206479dd42c56aba0f6c395aebb5c42b29b1f7c2faae41ad979c"
,
"sha256:9af47d0f4137a2951b73ee592bdc5690b242cfe81cdfacba1b34becbf72a0d59"
,
"sha256:9da5b3c883621afca008d2c5729ddd7f06153f5dcaae1f690bead9b9018a3594"
,
"sha256:abe825aa49e6239d5edf4e222c44170d2c7f6f4b1fd5286b4756a62d8067e112"
,
"sha256:c8330efa27af2b65aa556a66517ba6657a13e259670ad32dec1b6ff3d6616c3c"
,
"sha256:dc3d09abe7b49e84516b53920320d0f0d05587f6398431e50d6a47bd7d27a8b6"
,
"sha256:deb08edefef880609f8bd2945764f31d577785ff3f2daea7027b67432ff12f74"
,
"sha256:e019c86f55cdcd2bbc239beab14167f2e03ee92407c7c42ddf42edf6f5640cce"
,
"sha256:eb0d154c4749458353fbb5a55b39de7aa8445617c20d200729f924be125c56d0"
,
"sha256:eed5edb8f2620ad1157c8c5786809fb0a2d885969287a758752ce514274e3be0"
,
"sha256:f7a9fc2dfbbc0e838c79f908262638fb86ab326b0fbc0ea2c3dd063b3561e9e2"
,
"sha256:f9df2e626f1a8d8114a9dc05a489bdf26a8e926fbbe43112669700f25fe0abb3"
],
"version"
:
"==1.18.0"
},
"icalendar"
:
{
"hashes"
:
[
"sha256:07c2447a1d44cbb27c90b8c6a5c98e890cc1853c6223e2a52195cddec26c6356"
,
"sha256:83f7248b7485ddd29c7d69b706b21c441e34855d9c1d888939fd24aefdd9d19b"
],
"version"
:
"==4.0.3"
},
"idna"
:
{
"hashes"
:
[
"sha256:c357b3f628cf53ae2c4c05627ecc484553142ca23264e593d327bcde5e9c3407"
,
"sha256:ea8b7f6188e6fa117537c3df7da9fc686d485087abf6ac197f9c46432f7e4a3c"
],
"version"
:
"==2.8"
},
"jsmin"
:
{
"hashes"
:
[
"sha256:b6df99b2cd1c75d9d342e4335b535789b8da9107ec748212706ef7bbe5c2553b"
],
"version"
:
"==2.2.2"
},
"libsass"
:
{
"hashes"
:
[
"sha256:0da943e00e028211cb4bb91496a20becab9fe82407bb75266ec4212af04acb45"
,
"sha256:107591ba2c0d173bb1705bef0e9fd04a5b6f482f3584f4ea51b28ab8b137fbb2"
,
"sha256:1aeadc155594af23879e27792667dc06e7f248c2c599c40ff2a7335193abdf05"
,
"sha256:411833c623288138744865d882f5226f6db52afce1e19f42722c416df9d308dc"
,
"sha256:4bf7a80a956da9de9715436b85343a179da4ff399a6e9a1694e70bff93d43099"
,
"sha256:53be1c6cea9458fc0b59fafff5307d63cbde4d6f8a4413fb52ae467566273357"
,
"sha256:55b77204cfa363142ab02c49ee871321a396b8e51f6361ebc226c3953c780541"
,
"sha256:66e3062ff508c81928e35c66702f0cc4f70fb12eb76ba23eeb0ff87a6340cc13"
,
"sha256:747e1cb3624b25ce9104315cf98b080246c5112d008cba6536a7dd2edb16fcc2"
,
"sha256:75605a97f4b2f47fafc5a372f09efec210c7f33908c6de726362f85489fd53aa"
,
"sha256:7c7a531b8cd786c35170e97338be2e73a74806f95539366a8ee837df94b8a8cf"
,
"sha256:953ebe810f09d81b84ccafdca0fb6171d1b58c8f0147cb650184a41e124e296f"
,
"sha256:a19041e78d5bb7c5d72e010e893c29119693628b6ee06025503ab2584cf24edd"
,
"sha256:b3e4abf50ad3a6bec25acd0c67495301cab6137aa79b8640364276f7f3712586"
,
"sha256:bf6b7ad08f287695338f050c80f79d258a405e5c349cdaeb9be5d5376c09e37a"
,
"sha256:fcbc861a001ffd68c4df00164b41c6152d5451185d06c654ac240d811be9f7e2"
],
"version"
:
"==0.17.0"
},
"msgpack"
:
{
"hashes"
:
[
"sha256:26cb40116111c232bc235ce131cc3b4e76549088cb154e66a2eb8ff6fcc907ec"
,
"sha256:300fd3f2c664a3bf473d6a952f843b4a71454f4c592ed7e74a36b205c1782d28"
,
"sha256:3129c355342853007de4a2a86e75eab966119733eb15748819b6554363d4e85c"
,
"sha256:31f6d645ee5a97d59d3263fab9e6be76f69fa131cddc0d94091a3c8aca30d67a"
,
"sha256:3ce7ef7ee2546c3903ca8c934d09250531b80c6127e6478781ae31ed835aac4c"
,
"sha256:4008c72f5ef2b7936447dcb83db41d97e9791c83221be13d5e19db0796df1972"
,
"sha256:62bd8e43d204580308d477a157b78d3fee2fb4c15d32578108dc5d89866036c8"
,
"sha256:70cebfe08fb32f83051971264466eadf183101e335d8107b80002e632f425511"
,
"sha256:72cb7cf85e9df5251abd7b61a1af1fb77add15f40fa7328e924a9c0b6bc7a533"
,
"sha256:7c55649965c35eb32c499d17dadfb8f53358b961582846e1bc06f66b9bccc556"
,
"sha256:86b963a5de11336ec26bc4f839327673c9796b398b9f1fe6bb6150c2a5d00f0f"
,
"sha256:8c73c9bcdfb526247c5e4f4f6cf581b9bb86b388df82cfcaffde0a6e7bf3b43a"
,
"sha256:8e68c76c6aff4849089962d25346d6784d38e02baa23ffa513cf46be72e3a540"
,
"sha256:97ac6b867a8f63debc64f44efdc695109d541ecc361ee2dce2c8884ab37360a1"
,
"sha256:9d4f546af72aa001241d74a79caec278bcc007b4bcde4099994732e98012c858"
,
"sha256:a28e69fe5468c9f5251c7e4e7232286d71b7dfadc74f312006ebe984433e9746"
,
"sha256:fd509d4aa95404ce8d86b4e32ce66d5d706fd6646c205e1c2a715d87078683a2"
],
"version"
:
"==0.6.1"
},
"pillow"
:
{
"hashes"
:
[
"sha256:051de330a06c99d6f84bcf582960487835bcae3fc99365185dc2d4f65a390c0e"
,
"sha256:0ae5289948c5e0a16574750021bd8be921c27d4e3527800dc9c2c1d2abc81bf7"
,
"sha256:0b1efce03619cdbf8bcc61cfae81fcda59249a469f31c6735ea59badd4a6f58a"
,
"sha256:163136e09bd1d6c6c6026b0a662976e86c58b932b964f255ff384ecc8c3cefa3"
,
"sha256:18e912a6ccddf28defa196bd2021fe33600cbe5da1aa2f2e2c6df15f720b73d1"
,
"sha256:24ec3dea52339a610d34401d2d53d0fb3c7fd08e34b20c95d2ad3973193591f1"
,
"sha256:267f8e4c0a1d7e36e97c6a604f5b03ef58e2b81c1becb4fccecddcb37e063cc7"
,
"sha256:3273a28734175feebbe4d0a4cde04d4ed20f620b9b506d26f44379d3c72304e1"
,
"sha256:4c678e23006798fc8b6f4cef2eaad267d53ff4c1779bd1af8725cc11b72a63f3"
,
"sha256:4d4bc2e6bb6861103ea4655d6b6f67af8e5336e7216e20fff3e18ffa95d7a055"
,
"sha256:505738076350a337c1740a31646e1de09a164c62c07db3b996abdc0f9d2e50cf"
,
"sha256:5233664eadfa342c639b9b9977190d64ad7aca4edc51a966394d7e08e7f38a9f"
,
"sha256:5d95cb9f6cced2628f3e4de7e795e98b2659dfcc7176ab4a01a8b48c2c2f488f"
,
"sha256:7eda4c737637af74bac4b23aa82ea6fbb19002552be85f0b89bc27e3a762d239"
,
"sha256:801ddaa69659b36abf4694fed5aa9f61d1ecf2daaa6c92541bbbbb775d97b9fe"
,
"sha256:825aa6d222ce2c2b90d34a0ea31914e141a85edefc07e17342f1d2fdf121c07c"
,
"sha256:9c215442ff8249d41ff58700e91ef61d74f47dfd431a50253e1a1ca9436b0697"
,
"sha256:a3d90022f2202bbb14da991f26ca7a30b7e4c62bf0f8bf9825603b22d7e87494"
,
"sha256:a631fd36a9823638fe700d9225f9698fb59d049c942d322d4c09544dc2115356"
,
"sha256:a6523a23a205be0fe664b6b8747a5c86d55da960d9586db039eec9f5c269c0e6"
,
"sha256:a756ecf9f4b9b3ed49a680a649af45a8767ad038de39e6c030919c2f443eb000"
,
"sha256:b117287a5bdc81f1bac891187275ec7e829e961b8032c9e5ff38b70fd036c78f"
,
"sha256:ba04f57d1715ca5ff74bb7f8a818bf929a204b3b3c2c2826d1e1cc3b1c13398c"
,
"sha256:cd878195166723f30865e05d87cbaf9421614501a4bd48792c5ed28f90fd36ca"
,
"sha256:cee815cc62d136e96cf76771b9d3eb58e0777ec18ea50de5cfcede8a7c429aa8"
,
"sha256:d1722b7aa4b40cf93ac3c80d3edd48bf93b9208241d166a14ad8e7a20ee1d4f3"
,
"sha256:d7c1c06246b05529f9984435fc4fa5a545ea26606e7f450bdbe00c153f5aeaad"
,
"sha256:e9c8066249c040efdda84793a2a669076f92a301ceabe69202446abb4c5c5ef9"
,
"sha256:f227d7e574d050ff3996049e086e1f18c7bd2d067ef24131e50a1d3fe5831fbc"
,
"sha256:fc9a12aad714af36cf3ad0275a96a733526571e52710319855628f476dcb144e"
],
"index"
:
"pypi"
,
"version"
:
"==5.4.1"
},
"protobuf"
:
{
"hashes"
:
[
"sha256:10394a4d03af7060fa8a6e1cbf38cea44be1467053b0aea5bbfcb4b13c4b88c4"
,
"sha256:1489b376b0f364bcc6f89519718c057eb191d7ad6f1b395ffd93d1aa45587811"
,
"sha256:1931d8efce896981fe410c802fd66df14f9f429c32a72dd9cfeeac9815ec6444"
,
"sha256:196d3a80f93c537f27d2a19a4fafb826fb4c331b0b99110f985119391d170f96"
,
"sha256:46e34fdcc2b1f2620172d3a4885128705a4e658b9b62355ae5e98f9ea19f42c2"
,
"sha256:4b92e235a3afd42e7493b281c8b80c0c65cbef45de30f43d571d1ee40a1f77ef"
,
"sha256:574085a33ca0d2c67433e5f3e9a0965c487410d6cb3406c83bdaf549bfc2992e"
,
"sha256:59cd75ded98094d3cf2d79e84cdb38a46e33e7441b2826f3838dcc7c07f82995"
,
"sha256:5ee0522eed6680bb5bac5b6d738f7b0923b3cafce8c4b1a039a6107f0841d7ed"
,
"sha256:65917cfd5da9dfc993d5684643063318a2e875f798047911a9dd71ca066641c9"
,
"sha256:685bc4ec61a50f7360c9fd18e277b65db90105adbf9c79938bd315435e526b90"
,
"sha256:92e8418976e52201364a3174e40dc31f5fd8c147186d72380cbda54e0464ee19"
,
"sha256:9335f79d1940dfb9bcaf8ec881fb8ab47d7a2c721fb8b02949aab8bbf8b68625"
,
"sha256:a7ee3bb6de78185e5411487bef8bc1c59ebd97e47713cba3c460ef44e99b3db9"
,
"sha256:ceec283da2323e2431c49de58f80e1718986b79be59c266bb0509cbf90ca5b9e"
,
"sha256:fcfc907746ec22716f05ea96b7f41597dfe1a1c088f861efb8a0d4f4196a6f10"
],
"version"
:
"==3.6.1"
},
"psycopg2-binary"
:
{
"hashes"
:
[
"sha256:19a2d1f3567b30f6c2bb3baea23f74f69d51f0c06c2e2082d0d9c28b0733a4c2"
,
"sha256:2b69cf4b0fa2716fd977aa4e1fd39af6110eb47b2bb30b4e5a469d8fbecfc102"
,
"sha256:2e952fa17ba48cbc2dc063ddeec37d7dc4ea0ef7db0ac1eda8906365a8543f31"
,
"sha256:348b49dd737ff74cfb5e663e18cb069b44c64f77ec0523b5794efafbfa7df0b8"
,
"sha256:3d72a5fdc5f00ca85160915eb9a973cf9a0ab8148f6eda40708bf672c55ac1d1"
,
"sha256:4957452f7868f43f32c090dadb4188e9c74a4687323c87a882e943c2bd4780c3"
,
"sha256:5138cec2ee1e53a671e11cc519505eb08aaaaf390c508f25b09605763d48de4b"
,
"sha256:587098ca4fc46c95736459d171102336af12f0d415b3b865972a79c03f06259f"
,
"sha256:5b79368bcdb1da4a05f931b62760bea0955ee2c81531d8e84625df2defd3f709"
,
"sha256:5cf43807392247d9bc99737160da32d3fa619e0bfd85ba24d1c78db205f472a4"
,
"sha256:676d1a80b1eebc0cacae8dd09b2fde24213173bf65650d22b038c5ed4039f392"
,
"sha256:6b0211ecda389101a7d1d3df2eba0cf7ffbdd2480ca6f1d2257c7bd739e84110"
,
"sha256:79cde4660de6f0bb523c229763bd8ad9a93ac6760b72c369cf1213955c430934"
,
"sha256:7aba9786ac32c2a6d5fb446002ed936b47d5e1f10c466ef7e48f66eb9f9ebe3b"
,
"sha256:7c8159352244e11bdd422226aa17651110b600d175220c451a9acf795e7414e0"
,
"sha256:945f2eedf4fc6b2432697eb90bb98cc467de5147869e57405bfc31fa0b824741"
,
"sha256:96b4e902cde37a7fc6ab306b3ac089a3949e6ce3d824eeca5b19dc0bedb9f6e2"
,
"sha256:9a7bccb1212e63f309eb9fab47b6eaef796f59850f169a25695b248ca1bf681b"
,
"sha256:a3bfcac727538ec11af304b5eccadbac952d4cca1a551a29b8fe554e3ad535dc"
,
"sha256:b19e9f1b85c5d6136f5a0549abdc55dcbd63aba18b4f10d0d063eb65ef2c68b4"
,
"sha256:b664011bb14ca1f2287c17185e222f2098f7b4c857961dbcf9badb28786dbbf4"
,
"sha256:bde7959ef012b628868d69c474ec4920252656d0800835ed999ba5e4f57e3e2e"
,
"sha256:cb095a0657d792c8de9f7c9a0452385a309dfb1bbbb3357d6b1e216353ade6ca"
,
"sha256:d16d42a1b9772152c1fe606f679b2316551f7e1a1ce273e7f808e82a136cdb3d"
,
"sha256:d444b1545430ffc1e7a24ce5a9be122ccd3b135a7b7e695c5862c5aff0b11159"
,
"sha256:d93ccc7bf409ec0a23f2ac70977507e0b8a8d8c54e5ee46109af2f0ec9e411f3"
,
"sha256:df6444f952ca849016902662e1a47abf4fa0678d75f92fd9dd27f20525f809cd"
,
"sha256:e63850d8c52ba2b502662bf3c02603175c2397a9acc756090e444ce49508d41e"
,
"sha256:ec43358c105794bc2b6fd34c68d27f92bea7102393c01889e93f4b6a70975728"
,
"sha256:f4c6926d9c03dadce7a3b378b40d2fea912c1344ef9b29869f984fb3d2a2420b"
],
"index"
:
"pypi"
,
"version"
:
"==2.7.7"
},
"pyasn1"
:
{
"hashes"
:
[
"sha256:da2420fe13a9452d8ae97a0e478adde1dee153b11ba832a95b223a2ba01c10f7"
,
"sha256:da6b43a8c9ae93bc80e2739efb38cc776ba74a886e3e9318d65fe81a8b8a2c6e"