Modules

Bitcoin Payment Module

1.1.1
May 22, 2019
Simplify an integration third party applications with the blockchain network
Simplify an integration third party applications with the blockchain network

Custom port mapping

Expose with public URL
Container port

Databases

Create Database
Remove module from this environment
Caution: All configurations will be lost once you remove the module.
Remove module

Repository

Current

Build logs

default
clone
postgres
build
test
build-docker-image-tag
Close
+ apk add --no-cache postgresql-libs bash
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/7) Installing pkgconf (1.3.10-r0)
(2/7) Installing bash (4.4.19-r1)
Executing bash-4.4.19-r1.post-install
(3/7) Installing db (5.3.28-r0)
(4/7) Installing libsasl (2.1.26-r11)
(5/7) Installing libldap (2.4.46-r0)
(6/7) Installing libpq (10.10-r0)
(7/7) Installing postgresql-libs (10.10-r0)
Executing busybox-1.27.2-r11.trigger
OK: 21 MiB in 40 packages
+ apk add --no-cache --virtual .build-deps git python-dev gcc musl-dev postgresql-dev libffi-dev libressl-dev
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/24) Upgrading musl (1.1.18-r3 -> 1.1.18-r4)
(2/24) Installing libssh2 (1.8.2-r0)
(3/24) Installing libcurl (7.61.1-r2)
(4/24) Installing pcre2 (10.30-r0)
(5/24) Installing git (2.15.3-r0)
(6/24) Installing python2 (2.7.15-r2)
(7/24) Installing python2-dev (2.7.15-r2)
(8/24) Installing binutils-libs (2.30-r1)
(9/24) Installing binutils (2.30-r1)
(10/24) Installing gmp (6.1.2-r1)
(11/24) Installing isl (0.18-r0)
(12/24) Installing libgomp (6.4.0-r5)
(13/24) Installing libatomic (6.4.0-r5)
(14/24) Installing libgcc (6.4.0-r5)
(15/24) Installing mpfr3 (3.1.5-r1)
(16/24) Installing mpc1 (1.0.3-r1)
(17/24) Installing libstdc++ (6.4.0-r5)
(18/24) Installing gcc (6.4.0-r5)
(19/24) Installing musl-dev (1.1.18-r4)
(20/24) Installing libressl-dev (2.6.5-r0)
(21/24) Installing postgresql-dev (10.10-r0)
(22/24) Installing libffi-dev (3.2.1-r4)
(23/24) Installing .build-deps (0)
(24/24) Upgrading musl-utils (1.1.18-r3 -> 1.1.18-r4)
Executing busybox-1.27.2-r11.trigger
OK: 199 MiB in 62 packages
+ pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/8d/07/f7d7ced2f97ca3098c16565efbe6b15fafcba53e8d9bdb431e09140514b0/pip-19.2.2-py2.py3-none-any.whl (1.4MB)
Installing collected packages: pip
Found existing installation: pip 19.0.1
Uninstalling pip-19.0.1:
Successfully uninstalled pip-19.0.1
Successfully installed pip-19.2.2
+ pip install -r requirements/ci.txt --no-cache-dir
Collecting Django==2.1.11 (from -r requirements/base.txt (line 1))
Downloading https://files.pythonhosted.org/packages/8c/49/d5038239995594281478bf209f8d93524ad342d500009a697b27f884668a/Django-2.1.11-py3-none-any.whl (7.3MB)
Collecting django-filter==2.1.0 (from -r requirements/base.txt (line 2))
Downloading https://files.pythonhosted.org/packages/48/b4/7d52fb480108c9af88a4af520b371ac2ada55eac9970e025f147d0131b64/django_filter-2.1.0-py3-none-any.whl (69kB)
Collecting django-health-check==3.8.0 (from -r requirements/base.txt (line 3))
Downloading https://files.pythonhosted.org/packages/16/fd/7c79b82a1658f5a16338175d1738ca55bfdb2b3638f9b6e3370672f2b583/django-health-check-3.8.0.tar.gz
Collecting django-oauth-toolkit-jwt from git+https://github.com/Humanitec/django-oauth-toolkit-jwt@v0.5.3#egg=django-oauth-toolkit-jwt (from -r requirements/base.txt (line 4))
Cloning https://github.com/Humanitec/django-oauth-toolkit-jwt (to revision v0.5.3) to /tmp/pip-install-33lls_ob/django-oauth-toolkit-jwt
Running command git clone -q https://github.com/Humanitec/django-oauth-toolkit-jwt /tmp/pip-install-33lls_ob/django-oauth-toolkit-jwt
Running command git checkout -q 7a638109db7bfccec4926b25bccc820fe3136a1b
Collecting djangorestframework==3.9.1 (from -r requirements/base.txt (line 5))
Downloading https://files.pythonhosted.org/packages/ef/13/0f394111124e0242bf3052c5578974e88e62e3715f0daf76b7c987fc6705/djangorestframework-3.9.1-py2.py3-none-any.whl (950kB)
Collecting psycopg2-binary==2.7.7 (from -r requirements/base.txt (line 6))
Downloading https://files.pythonhosted.org/packages/dd/56/c22da10f5a725d61c58a185ec0f803aa2d384646ee8eb83d8ce88ed5edb1/psycopg2-binary-2.7.7.tar.gz (428kB)
Collecting drf-yasg==1.10.2 (from -r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/31/73/f56fa005d829db53d96d10aba594b724c3d327960e728d29538ce7e05bb8/drf_yasg-1.10.2-py2.py3-none-any.whl (1.1MB)
Collecting ruamel.yaml==0.15.100 (from -r requirements/base.txt (line 8))
Downloading https://files.pythonhosted.org/packages/9a/ee/55cd64bbff971c181e2d9e1c13aba9a27fd4cd2bee545dbe90c44427c757/ruamel.yaml-0.15.100.tar.gz (318kB)
Collecting bandit==1.5.1 (from -r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/da/94/34afbe0c28b0c35f5116955c86c20599b3c732ddc1b2c452f190760ebfbf/bandit-1.5.1-py2.py3-none-any.whl (121kB)
Collecting coverage==4.5.2 (from -r requirements/ci.txt (line 4))
Downloading https://files.pythonhosted.org/packages/fb/af/ce7b0fe063ee0142786ee53ad6197979491ce0785567b6d8be751d2069e8/coverage-4.5.2.tar.gz (384kB)
Collecting pytest==4.3.0 (from -r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/51/b2/2fa8e8b179c792c457c2f7800f1313bfbd34f515e3a833e6083121844c14/pytest-4.3.0-py2.py3-none-any.whl (219kB)
Collecting pytest-cov==2.6.1 (from -r requirements/ci.txt (line 6))
Downloading https://files.pythonhosted.org/packages/7d/b5/92f32674ab954f80499ac73347bfeb815545ea295439c12b0ef3ac8f0975/pytest_cov-2.6.1-py2.py3-none-any.whl
Collecting flake8==3.7.7 (from -r requirements/ci.txt (line 7))
Downloading https://files.pythonhosted.org/packages/e9/76/b915bd28976068a9843bf836b789794aa4a8eb13338b23581005cd9177c0/flake8-3.7.7-py2.py3-none-any.whl (68kB)
Collecting pytz (from Django==2.1.11->-r requirements/base.txt (line 1))
Downloading https://files.pythonhosted.org/packages/87/76/46d697698a143e05f77bec5a526bf4e56a0be61d63425b68f4ba553b51f2/pytz-2019.2-py2.py3-none-any.whl (508kB)
Collecting cryptography<2.4,>=2.3.1 (from django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/22/21/233e38f74188db94e8451ef6385754a98f3cad9b59bedf3a8e8b14988be4/cryptography-2.3.1.tar.gz (449kB)
Collecting PyJWT<1.7,>=1.6.4 (from django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</1.7,>
Downloading https://files.pythonhosted.org/packages/93/d1/3378cc8184a6524dc92993090ee8b4c03847c567e298305d6cf86987e005/PyJWT-1.6.4-py2.py3-none-any.whl
Collecting coreschema>=0.0.4 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/93/08/1d105a70104e078718421e6c555b8b293259e7fc92f7e9a04869947f198f/coreschema-0.0.4.tar.gz
Collecting six>=1.10.0 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting inflection>=0.3.1 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/d5/35/a6eb45b4e2356fe688b21570864d4aa0d0a880ce387defe9c589112077f8/inflection-0.3.1.tar.gz
Collecting uritemplate>=3.0.0 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/e5/7d/9d5a640c4f8bf2c8b1afc015e9a9d8de32e13c9016dcc4b0ec03481fb396/uritemplate-3.0.0-py2.py3-none-any.whl
Collecting coreapi>=2.3.3 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/fc/3a/9dedaad22962770edd334222f2b3c3e7ad5e1c8cab1d6a7992c30329e2e5/coreapi-2.3.3-py2.py3-none-any.whl
Collecting stevedore>=1.20.0 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/c6/dc/6ee92bccfe3c0448786b30b693e6060d62ec8c4a3ec9a287bac1c1a8d8c9/stevedore-1.30.1-py2.py3-none-any.whl (42kB)
Collecting GitPython>=1.0.1 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/45/f6/b44846937803bfa63eb5c2aaaffe0d1d424365c3122761bc3c4de45aec3a/GitPython-3.0.0-py3-none-any.whl (452kB)
Collecting PyYAML>=3.12 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz (265kB)
Collecting more-itertools>=4.0.0; python_version > "2.7" (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/45/dc/3241eef99eb45f1def35cf93af35d1cf9ef4c0991792583b8f33ea41b092/more_itertools-7.2.0-py3-none-any.whl (57kB)
Collecting atomicwrites>=1.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/52/90/6155aa926f43f2b2a22b01be7241be3bfd1ceaf7d0b3267213e8127d41f4/atomicwrites-1.3.0-py2.py3-none-any.whl
Collecting attrs>=17.4.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/site-packages (from pytest==4.3.0->-r requirements/ci.txt (line 5)) (40.7.1)
Collecting py>=1.5.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/76/bc/394ad449851729244a97857ee14d7cba61ddb268dce3db538ba2f2ba1f0f/py-1.8.0-py2.py3-none-any.whl (83kB)
Collecting pluggy>=0.7 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/06/ee/de89e0582276e3551df3110088bf20844de2b0e7df2748406876cc78e021/pluggy-0.12.0-py2.py3-none-any.whl
Collecting mccabe<0.7.0,>=0.6.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</0.7.0,>
Downloading https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl
Collecting entrypoints<0.4.0,>=0.3.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</0.4.0,>
Downloading https://files.pythonhosted.org/packages/ac/c6/44694103f8c221443ee6b0041f69e2740d89a25641e62fb4f2ee568f2f9c/entrypoints-0.3-py2.py3-none-any.whl
Collecting pyflakes<2.2.0,>=2.1.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</2.2.0,>
Downloading https://files.pythonhosted.org/packages/84/f2/ed0ffb887f8138a8fe5a621b8c0bb9598bfb3989e029f6c6a85ee66628ee/pyflakes-2.1.1-py2.py3-none-any.whl (59kB)
Collecting pycodestyle<2.6.0,>=2.5.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</2.6.0,>
Downloading https://files.pythonhosted.org/packages/0e/0c/04a353e104d2f324f8ee5f4b32012618c1c86dd79e52a433b64fceed511b/pycodestyle-2.5.0-py2.py3-none-any.whl (51kB)
Collecting idna>=2.1 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
Collecting asn1crypto>=0.21.0 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl (101kB)
Collecting cffi!=1.11.3,>=1.7 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/93/1a/ab8c62b5838722f29f3daffcc8d4bd61844aa9b5f437341cc890ceee483b/cffi-1.12.3.tar.gz (456kB)
Collecting jinja2 (from coreschema>=0.0.4->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB)
Collecting itypes (from coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/d3/24/5e511590f95582efe64b8ad2f6dadd85c5563c9dcf40171ea5a70adbf5a9/itypes-1.1.0.tar.gz
Collecting requests (from coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
Collecting pbr!=2.1.0,>=2.0.0 (from stevedore>=1.20.0->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/f9/d8/bd657bfa0e89eb71ad5e977ed99a9bb2b44e5db68d9190970637c26501bb/pbr-5.4.2-py2.py3-none-any.whl (110kB)
Collecting gitdb2>=2.0.0 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/da/30/a407568aa8d8f25db817cf50121a958722f3fc5f87e3a6fba1f40c0633e3/gitdb2-2.0.5-py2.py3-none-any.whl (62kB)
Collecting gitdb>=0.6.4 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/e3/95/7e5d7261feb46c0539ac5e451be340ddd64d78c5118f2d893b052c76fe8c/gitdb-0.6.4.tar.gz (400kB)
Collecting ddt>=1.1.1 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/cf/f5/f83dea32dc3fb3be1e5afab8438dce73ed587740a2a061ae2ea56e04a36d/ddt-1.2.1-py2.py3-none-any.whl
Collecting importlib-metadata>=0.12 (from pluggy>=0.7->pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/ad/aa/25fcbded2ab4ed4ff3071d1e000cd4f8f9c65653d2d7157dd105a8e81d42/importlib_metadata-0.19-py2.py3-none-any.whl
Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)
Collecting MarkupSafe>=0.23 (from jinja2->coreschema>=0.0.4->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))</1.26,>
Downloading https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl (150kB)
Collecting certifi>=2017.4.17 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/69/1b/b853c7a9d4f6a6d00749e94eb6f3a041e342a885b87340b79c1ef73e3a78/certifi-2019.6.16-py2.py3-none-any.whl (157kB)
Collecting chardet<3.1.0,>=3.0.2 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))</3.1.0,>
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
Collecting smmap2>=2.0.0 (from gitdb2>=2.0.0->GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/55/d2/866d45e3a121ee15a1dc013824d58072fd5c7799c9c34d01378eb262ca8f/smmap2-2.0.5-py2.py3-none-any.whl
Collecting smmap>=0.8.5 (from gitdb>=0.6.4->GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/bc/aa/b744b3761fff1b10579df996a2d2e87f124ae07b8336e37edc89cc502f86/smmap-0.9.0.tar.gz
Collecting zipp>=0.5 (from importlib-metadata>=0.12->pluggy>=0.7->pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/da/bd/1a5fdf15aa44231fd09f63ecf175b60f057ae37ec65b343bb009364923f3/zipp-0.5.2-py2.py3-none-any.whl
Building wheels for collected packages: django-health-check, django-oauth-toolkit-jwt, psycopg2-binary, ruamel.yaml, coverage, cryptography, coreschema, inflection, PyYAML, cffi, itypes, gitdb, pycparser, MarkupSafe, smmap
Building wheel for django-health-check (setup.py): started
Building wheel for django-health-check (setup.py): finished with status 'done'
Created wheel for django-health-check: filename=django_health_check-3.8.0-cp36-none-any.whl size=21533 sha256=66e4dc05d1f4fb5ff73e955ee397faf2a3912fef26fbdf404f9d657f9190f391
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/b8/d2/f3/40db1f27d930544d3d1bf10e2ba550b61c580e6773b4b5ea44
Building wheel for django-oauth-toolkit-jwt (setup.py): started
Building wheel for django-oauth-toolkit-jwt (setup.py): finished with status 'done'
Created wheel for django-oauth-toolkit-jwt: filename=django_oauth_toolkit_jwt-0.5.2-cp36-none-any.whl size=7504 sha256=0bcfeb3f0cda6e80baa3632d172b363e31a9fa8e016275d813399d47e03dc7c4
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/bd/ad/5e/527b40e0c5df61a3c6c503fed0488e21ddd7e84d463abbcbb1
Building wheel for psycopg2-binary (setup.py): started
Building wheel for psycopg2-binary (setup.py): finished with status 'done'
Created wheel for psycopg2-binary: filename=psycopg2_binary-2.7.7-cp36-cp36m-linux_x86_64.whl size=480512 sha256=f07cb7f3eb3e173dfa46ba88640b1b555f4f8c61799838a535b9982105533953
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/98/0b/c5/40242bf6cebbc4d17cca0f43aa960b47d01956bea98831bf09
Building wheel for ruamel.yaml (setup.py): started
Building wheel for ruamel.yaml (setup.py): finished with status 'done'
Created wheel for ruamel.yaml: filename=ruamel.yaml-0.15.100-cp36-cp36m-linux_x86_64.whl size=607571 sha256=bd1b1d7b6d9ea3a2056dab2ea4366d154edbeb031da28753535ed1deedf80514
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/db/41/e2/07450a5b4cf31ce36bd7a18edf3a28e9231b6709cc6e805e1a
Building wheel for coverage (setup.py): started
Building wheel for coverage (setup.py): finished with status 'done'
Created wheel for coverage: filename=coverage-4.5.2-cp36-cp36m-linux_x86_64.whl size=205711 sha256=96b7f38be5ff5a6c9cab036b716ab5dae4dee294b280662eda2e273b35e19584
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/df/22/59/f868f589c4010f2463a3eb49d55344e5ae7d8c3921cdadea86
Building wheel for cryptography (setup.py): started
Building wheel for cryptography (setup.py): finished with status 'done'
Created wheel for cryptography: filename=cryptography-2.3.1-cp36-cp36m-linux_x86_64.whl size=765986 sha256=351078067d6cb322b334d5319deb66119b204dbe95e34e7df8282570690014f1
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/fb/6a/1c/07080dc38a589b201a0bb17a4a148cb528ee0e323f6f68c254
Building wheel for coreschema (setup.py): started
Building wheel for coreschema (setup.py): finished with status 'done'
Created wheel for coreschema: filename=coreschema-0.0.4-cp36-none-any.whl size=15033 sha256=416e0b084b386e8a98a9ecbebb2182fe32482af84e003d952bdd53d25fffd3da
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/10/7b/ba/04fcd6b33e6123ca11a5f5ab56decb1a2d87ced028377a1377
Building wheel for inflection (setup.py): started
Building wheel for inflection (setup.py): finished with status 'done'
Created wheel for inflection: filename=inflection-0.3.1-cp36-none-any.whl size=6077 sha256=dc37d6ad45450bd08f7967dee4602a43878d045faca789634eb03a2c21342fbd
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/9f/5a/d3/6fc3bf6516d2a3eb7e18f9f28b472110b59325f3f258fe9211
Building wheel for PyYAML (setup.py): started
Building wheel for PyYAML (setup.py): finished with status 'done'
Created wheel for PyYAML: filename=PyYAML-5.1.2-cp36-cp36m-linux_x86_64.whl size=44105 sha256=ccbe618c46653fb54a61eba2d51dd23e08aa4054acf6e2b2d7df06f28ce56045
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d9/45/dd/65f0b38450c47cf7e5312883deb97d065e030c5cca0a365030
Building wheel for cffi (setup.py): started
Building wheel for cffi (setup.py): finished with status 'done'
Created wheel for cffi: filename=cffi-1.12.3-cp36-cp36m-linux_x86_64.whl size=353311 sha256=4ddd93a80050df72d0444d00e2c0de8ca38d420f39e36bc8930ad176ca4ea6b3
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/94/a7/7a/9782ab473d88ec2d4994a7dd2d006b1352c71da3ad34ebcaeb
Building wheel for itypes (setup.py): started
Building wheel for itypes (setup.py): finished with status 'done'
Created wheel for itypes: filename=itypes-1.1.0-cp36-none-any.whl size=2313 sha256=dba7be2ce9e08a093445f615a83671d431d678f76404d377e08fcf07eb4a143b
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/7b/52/af/4e27324812e7ab7bbbc30f748d317f3739477562325cb4c723
Building wheel for gitdb (setup.py): started
Building wheel for gitdb (setup.py): finished with status 'done'
Created wheel for gitdb: filename=gitdb-0.6.4-cp36-cp36m-linux_x86_64.whl size=102461 sha256=5184633f7a793fa0634c6a0c92dbca9e5750d66c43ce65c23ec4f28a7f463f37
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d1/7e/c5/1093bc36622d7d06ed6520a50280771ebff8c190d92bd402b6
Building wheel for pycparser (setup.py): started
Building wheel for pycparser (setup.py): finished with status 'done'
Created wheel for pycparser: filename=pycparser-2.19-py2.py3-none-any.whl size=111031 sha256=5e9e1f8a2a6691c8288f504a958ae925f950e3bc65d3b14b35ca431abe80c2b4
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/f2/9a/90/de94f8556265ddc9d9c8b271b0f63e57b26fb1d67a45564511
Building wheel for MarkupSafe (setup.py): started
Building wheel for MarkupSafe (setup.py): finished with status 'done'
Created wheel for MarkupSafe: filename=MarkupSafe-1.1.1-cp36-cp36m-linux_x86_64.whl size=30828 sha256=f8501bb894fc39b951fae4d5a1b2e8cb9ef066dba1706c3f704cb42e1630d636
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/f2/aa/04/0edf07a1b8a5f5f1aed7580fffb69ce8972edc16a505916a77
Building wheel for smmap (setup.py): started
Building wheel for smmap (setup.py): finished with status 'done'
Created wheel for smmap: filename=smmap-0.9.0-py2.py3-none-any.whl size=23355 sha256=a0ed1854507002228862fb401403e39451e4e89c65b2e88a39cbdd7744ba5a73
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d6/a5/09/cb584a95ad332da2bf0265a8b0423c562a99553a3edf148d12
Successfully built django-health-check django-oauth-toolkit-jwt psycopg2-binary ruamel.yaml coverage cryptography coreschema inflection PyYAML cffi itypes gitdb pycparser MarkupSafe smmap
Installing collected packages: pytz, Django, django-filter, django-health-check, idna, asn1crypto, six, pycparser, cffi, cryptography, PyJWT, django-oauth-toolkit-jwt, djangorestframework, psycopg2-binary, MarkupSafe, jinja2, coreschema, inflection, uritemplate, ruamel.yaml, itypes, urllib3, certifi, chardet, requests, coreapi, drf-yasg, pbr, stevedore, smmap2, gitdb2, smmap, gitdb, ddt, GitPython, PyYAML, bandit, coverage, more-itertools, atomicwrites, attrs, py, zipp, importlib-metadata, pluggy, pytest, pytest-cov, mccabe, entrypoints, pyflakes, pycodestyle, flake8
Successfully installed Django-2.1.11 GitPython-3.0.0 MarkupSafe-1.1.1 PyJWT-1.6.4 PyYAML-5.1.2 asn1crypto-0.24.0 atomicwrites-1.3.0 attrs-19.1.0 bandit-1.5.1 certifi-2019.6.16 cffi-1.12.3 chardet-3.0.4 coreapi-2.3.3 coreschema-0.0.4 coverage-4.5.2 cryptography-2.3.1 ddt-1.2.1 django-filter-2.1.0 django-health-check-3.8.0 django-oauth-toolkit-jwt-0.5.2 djangorestframework-3.9.1 drf-yasg-1.10.2 entrypoints-0.3 flake8-3.7.7 gitdb-0.6.4 gitdb2-2.0.5 idna-2.8 importlib-metadata-0.19 inflection-0.3.1 itypes-1.1.0 jinja2-2.10.1 mccabe-0.6.1 more-itertools-7.2.0 pbr-5.4.2 pluggy-0.12.0 psycopg2-binary-2.7.7 py-1.8.0 pycodestyle-2.5.0 pycparser-2.19 pyflakes-2.1.1 pytest-4.3.0 pytest-cov-2.6.1 pytz-2019.2 requests-2.22.0 ruamel.yaml-0.15.100 six-1.12.0 smmap-0.9.0 smmap2-2.0.5 stevedore-1.30.1 uritemplate-3.0.0 urllib3-1.25.3 zipp-0.5.2
+ bash scripts/wait-for-it.sh ${DATABASE_HOST} ${DATABASE_PORT}
Waiting for port postgres:5432 to become available...
READY !
+ pytest -v
============================= test session starts ==============================
platform linux -- Python 3.6.8, pytest-4.3.0, py-1.8.0, pluggy-0.12.0 -- /usr/local/bin/python
cachedir: .pytest_cache
rootdir: /drone/src/github.com/Humanitec/blueprint_django_service, inifile:
plugins: cov-2.6.1
collecting ... collected 1 item
tests/test_blueprint.py::test_blueprint PASSED [100%]
=========================== 1 passed in 0.05 seconds ===========================

Variables

4 configurations, 3 secrets
Key should not have spaces
Value can not be longer than 1024 characters
Make it secret
Create
Activte JSON mode
01{
02 ALLOWED_HOSTS: ‘*’
03 DATABASE_ENGINE: postgresql
04 DATABASE_HOST: 127.0.0.1
05 DATABASE_NAME: db-fd11e056-cff4-4368-bb13-80e1eced2d59
06 DATABASE_PORT: “5432”
07}
ALLOWED_HOSTS
*
Edit
DATABASE_ENGINE
postgresql
Edit
DATABASE_HOST
127.0.0.1
Edit
DATABASE_PORT
5432
Edit
USER_NAME
•••••
Secret
Show
USER_PASS
••••••••••
Secret
Show
UID
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Secret
Show

Container logs

These logs will appear after the deployment succeeds.

Forms

5.0.2
May 5, 2019
The forms service provides the backend for a forms creation and responses management for your app. It exposes the forms data models.
The forms service provides the backend for a forms creation and responses management for your app. It exposes the forms data models.

Custom port mapping

Expose with public URL
Container port

Databases

Create Database
Remove module from this environment
Caution: All configurations will be lost once you remove the module.
Remove module

Repository

Current

Build logs

default
clone
postgres
build
test
build-docker-image-tag
Close
+ apk add --no-cache postgresql-libs bash
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/7) Installing pkgconf (1.3.10-r0)
(2/7) Installing bash (4.4.19-r1)
Executing bash-4.4.19-r1.post-install
(3/7) Installing db (5.3.28-r0)
(4/7) Installing libsasl (2.1.26-r11)
(5/7) Installing libldap (2.4.46-r0)
(6/7) Installing libpq (10.10-r0)
(7/7) Installing postgresql-libs (10.10-r0)
Executing busybox-1.27.2-r11.trigger
OK: 21 MiB in 40 packages
+ apk add --no-cache --virtual .build-deps git python-dev gcc musl-dev postgresql-dev libffi-dev libressl-dev
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/24) Upgrading musl (1.1.18-r3 -> 1.1.18-r4)
(2/24) Installing libssh2 (1.8.2-r0)
(3/24) Installing libcurl (7.61.1-r2)
(4/24) Installing pcre2 (10.30-r0)
(5/24) Installing git (2.15.3-r0)
(6/24) Installing python2 (2.7.15-r2)
(7/24) Installing python2-dev (2.7.15-r2)
(8/24) Installing binutils-libs (2.30-r1)
(9/24) Installing binutils (2.30-r1)
(10/24) Installing gmp (6.1.2-r1)
(11/24) Installing isl (0.18-r0)
(12/24) Installing libgomp (6.4.0-r5)
(13/24) Installing libatomic (6.4.0-r5)
(14/24) Installing libgcc (6.4.0-r5)
(15/24) Installing mpfr3 (3.1.5-r1)
(16/24) Installing mpc1 (1.0.3-r1)
(17/24) Installing libstdc++ (6.4.0-r5)
(18/24) Installing gcc (6.4.0-r5)
(19/24) Installing musl-dev (1.1.18-r4)
(20/24) Installing libressl-dev (2.6.5-r0)
(21/24) Installing postgresql-dev (10.10-r0)
(22/24) Installing libffi-dev (3.2.1-r4)
(23/24) Installing .build-deps (0)
(24/24) Upgrading musl-utils (1.1.18-r3 -> 1.1.18-r4)
Executing busybox-1.27.2-r11.trigger
OK: 199 MiB in 62 packages
+ pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/8d/07/f7d7ced2f97ca3098c16565efbe6b15fafcba53e8d9bdb431e09140514b0/pip-19.2.2-py2.py3-none-any.whl (1.4MB)
Installing collected packages: pip
Found existing installation: pip 19.0.1
Uninstalling pip-19.0.1:
Successfully uninstalled pip-19.0.1
Successfully installed pip-19.2.2
+ pip install -r requirements/ci.txt --no-cache-dir
Collecting Django==2.1.11 (from -r requirements/base.txt (line 1))
Downloading https://files.pythonhosted.org/packages/8c/49/d5038239995594281478bf209f8d93524ad342d500009a697b27f884668a/Django-2.1.11-py3-none-any.whl (7.3MB)
Collecting django-filter==2.1.0 (from -r requirements/base.txt (line 2))
Downloading https://files.pythonhosted.org/packages/48/b4/7d52fb480108c9af88a4af520b371ac2ada55eac9970e025f147d0131b64/django_filter-2.1.0-py3-none-any.whl (69kB)
Collecting django-health-check==3.8.0 (from -r requirements/base.txt (line 3))
Downloading https://files.pythonhosted.org/packages/16/fd/7c79b82a1658f5a16338175d1738ca55bfdb2b3638f9b6e3370672f2b583/django-health-check-3.8.0.tar.gz
Collecting django-oauth-toolkit-jwt from git+https://github.com/Humanitec/django-oauth-toolkit-jwt@v0.5.3#egg=django-oauth-toolkit-jwt (from -r requirements/base.txt (line 4))
Cloning https://github.com/Humanitec/django-oauth-toolkit-jwt (to revision v0.5.3) to /tmp/pip-install-33lls_ob/django-oauth-toolkit-jwt
Running command git clone -q https://github.com/Humanitec/django-oauth-toolkit-jwt /tmp/pip-install-33lls_ob/django-oauth-toolkit-jwt
Running command git checkout -q 7a638109db7bfccec4926b25bccc820fe3136a1b
Collecting djangorestframework==3.9.1 (from -r requirements/base.txt (line 5))
Downloading https://files.pythonhosted.org/packages/ef/13/0f394111124e0242bf3052c5578974e88e62e3715f0daf76b7c987fc6705/djangorestframework-3.9.1-py2.py3-none-any.whl (950kB)
Collecting psycopg2-binary==2.7.7 (from -r requirements/base.txt (line 6))
Downloading https://files.pythonhosted.org/packages/dd/56/c22da10f5a725d61c58a185ec0f803aa2d384646ee8eb83d8ce88ed5edb1/psycopg2-binary-2.7.7.tar.gz (428kB)
Collecting drf-yasg==1.10.2 (from -r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/31/73/f56fa005d829db53d96d10aba594b724c3d327960e728d29538ce7e05bb8/drf_yasg-1.10.2-py2.py3-none-any.whl (1.1MB)
Collecting ruamel.yaml==0.15.100 (from -r requirements/base.txt (line 8))
Downloading https://files.pythonhosted.org/packages/9a/ee/55cd64bbff971c181e2d9e1c13aba9a27fd4cd2bee545dbe90c44427c757/ruamel.yaml-0.15.100.tar.gz (318kB)
Collecting bandit==1.5.1 (from -r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/da/94/34afbe0c28b0c35f5116955c86c20599b3c732ddc1b2c452f190760ebfbf/bandit-1.5.1-py2.py3-none-any.whl (121kB)
Collecting coverage==4.5.2 (from -r requirements/ci.txt (line 4))
Downloading https://files.pythonhosted.org/packages/fb/af/ce7b0fe063ee0142786ee53ad6197979491ce0785567b6d8be751d2069e8/coverage-4.5.2.tar.gz (384kB)
Collecting pytest==4.3.0 (from -r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/51/b2/2fa8e8b179c792c457c2f7800f1313bfbd34f515e3a833e6083121844c14/pytest-4.3.0-py2.py3-none-any.whl (219kB)
Collecting pytest-cov==2.6.1 (from -r requirements/ci.txt (line 6))
Downloading https://files.pythonhosted.org/packages/7d/b5/92f32674ab954f80499ac73347bfeb815545ea295439c12b0ef3ac8f0975/pytest_cov-2.6.1-py2.py3-none-any.whl
Collecting flake8==3.7.7 (from -r requirements/ci.txt (line 7))
Downloading https://files.pythonhosted.org/packages/e9/76/b915bd28976068a9843bf836b789794aa4a8eb13338b23581005cd9177c0/flake8-3.7.7-py2.py3-none-any.whl (68kB)
Collecting pytz (from Django==2.1.11->-r requirements/base.txt (line 1))
Downloading https://files.pythonhosted.org/packages/87/76/46d697698a143e05f77bec5a526bf4e56a0be61d63425b68f4ba553b51f2/pytz-2019.2-py2.py3-none-any.whl (508kB)
Collecting cryptography<2.4,>=2.3.1 (from django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/22/21/233e38f74188db94e8451ef6385754a98f3cad9b59bedf3a8e8b14988be4/cryptography-2.3.1.tar.gz (449kB)
Collecting PyJWT<1.7,>=1.6.4 (from django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</1.7,>
Downloading https://files.pythonhosted.org/packages/93/d1/3378cc8184a6524dc92993090ee8b4c03847c567e298305d6cf86987e005/PyJWT-1.6.4-py2.py3-none-any.whl
Collecting coreschema>=0.0.4 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/93/08/1d105a70104e078718421e6c555b8b293259e7fc92f7e9a04869947f198f/coreschema-0.0.4.tar.gz
Collecting six>=1.10.0 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting inflection>=0.3.1 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/d5/35/a6eb45b4e2356fe688b21570864d4aa0d0a880ce387defe9c589112077f8/inflection-0.3.1.tar.gz
Collecting uritemplate>=3.0.0 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/e5/7d/9d5a640c4f8bf2c8b1afc015e9a9d8de32e13c9016dcc4b0ec03481fb396/uritemplate-3.0.0-py2.py3-none-any.whl
Collecting coreapi>=2.3.3 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/fc/3a/9dedaad22962770edd334222f2b3c3e7ad5e1c8cab1d6a7992c30329e2e5/coreapi-2.3.3-py2.py3-none-any.whl
Collecting stevedore>=1.20.0 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/c6/dc/6ee92bccfe3c0448786b30b693e6060d62ec8c4a3ec9a287bac1c1a8d8c9/stevedore-1.30.1-py2.py3-none-any.whl (42kB)
Collecting GitPython>=1.0.1 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/45/f6/b44846937803bfa63eb5c2aaaffe0d1d424365c3122761bc3c4de45aec3a/GitPython-3.0.0-py3-none-any.whl (452kB)
Collecting PyYAML>=3.12 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz (265kB)
Collecting more-itertools>=4.0.0; python_version > "2.7" (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/45/dc/3241eef99eb45f1def35cf93af35d1cf9ef4c0991792583b8f33ea41b092/more_itertools-7.2.0-py3-none-any.whl (57kB)
Collecting atomicwrites>=1.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/52/90/6155aa926f43f2b2a22b01be7241be3bfd1ceaf7d0b3267213e8127d41f4/atomicwrites-1.3.0-py2.py3-none-any.whl
Collecting attrs>=17.4.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/site-packages (from pytest==4.3.0->-r requirements/ci.txt (line 5)) (40.7.1)
Collecting py>=1.5.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/76/bc/394ad449851729244a97857ee14d7cba61ddb268dce3db538ba2f2ba1f0f/py-1.8.0-py2.py3-none-any.whl (83kB)
Collecting pluggy>=0.7 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/06/ee/de89e0582276e3551df3110088bf20844de2b0e7df2748406876cc78e021/pluggy-0.12.0-py2.py3-none-any.whl
Collecting mccabe<0.7.0,>=0.6.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</0.7.0,>
Downloading https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl
Collecting entrypoints<0.4.0,>=0.3.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</0.4.0,>
Downloading https://files.pythonhosted.org/packages/ac/c6/44694103f8c221443ee6b0041f69e2740d89a25641e62fb4f2ee568f2f9c/entrypoints-0.3-py2.py3-none-any.whl
Collecting pyflakes<2.2.0,>=2.1.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</2.2.0,>
Downloading https://files.pythonhosted.org/packages/84/f2/ed0ffb887f8138a8fe5a621b8c0bb9598bfb3989e029f6c6a85ee66628ee/pyflakes-2.1.1-py2.py3-none-any.whl (59kB)
Collecting pycodestyle<2.6.0,>=2.5.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</2.6.0,>
Downloading https://files.pythonhosted.org/packages/0e/0c/04a353e104d2f324f8ee5f4b32012618c1c86dd79e52a433b64fceed511b/pycodestyle-2.5.0-py2.py3-none-any.whl (51kB)
Collecting idna>=2.1 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
Collecting asn1crypto>=0.21.0 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl (101kB)
Collecting cffi!=1.11.3,>=1.7 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/93/1a/ab8c62b5838722f29f3daffcc8d4bd61844aa9b5f437341cc890ceee483b/cffi-1.12.3.tar.gz (456kB)
Collecting jinja2 (from coreschema>=0.0.4->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB)
Collecting itypes (from coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/d3/24/5e511590f95582efe64b8ad2f6dadd85c5563c9dcf40171ea5a70adbf5a9/itypes-1.1.0.tar.gz
Collecting requests (from coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
Collecting pbr!=2.1.0,>=2.0.0 (from stevedore>=1.20.0->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/f9/d8/bd657bfa0e89eb71ad5e977ed99a9bb2b44e5db68d9190970637c26501bb/pbr-5.4.2-py2.py3-none-any.whl (110kB)
Collecting gitdb2>=2.0.0 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/da/30/a407568aa8d8f25db817cf50121a958722f3fc5f87e3a6fba1f40c0633e3/gitdb2-2.0.5-py2.py3-none-any.whl (62kB)
Collecting gitdb>=0.6.4 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/e3/95/7e5d7261feb46c0539ac5e451be340ddd64d78c5118f2d893b052c76fe8c/gitdb-0.6.4.tar.gz (400kB)
Collecting ddt>=1.1.1 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/cf/f5/f83dea32dc3fb3be1e5afab8438dce73ed587740a2a061ae2ea56e04a36d/ddt-1.2.1-py2.py3-none-any.whl
Collecting importlib-metadata>=0.12 (from pluggy>=0.7->pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/ad/aa/25fcbded2ab4ed4ff3071d1e000cd4f8f9c65653d2d7157dd105a8e81d42/importlib_metadata-0.19-py2.py3-none-any.whl
Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)
Collecting MarkupSafe>=0.23 (from jinja2->coreschema>=0.0.4->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))</1.26,>
Downloading https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl (150kB)
Collecting certifi>=2017.4.17 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/69/1b/b853c7a9d4f6a6d00749e94eb6f3a041e342a885b87340b79c1ef73e3a78/certifi-2019.6.16-py2.py3-none-any.whl (157kB)
Collecting chardet<3.1.0,>=3.0.2 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))</3.1.0,>
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
Collecting smmap2>=2.0.0 (from gitdb2>=2.0.0->GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/55/d2/866d45e3a121ee15a1dc013824d58072fd5c7799c9c34d01378eb262ca8f/smmap2-2.0.5-py2.py3-none-any.whl
Collecting smmap>=0.8.5 (from gitdb>=0.6.4->GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/bc/aa/b744b3761fff1b10579df996a2d2e87f124ae07b8336e37edc89cc502f86/smmap-0.9.0.tar.gz
Collecting zipp>=0.5 (from importlib-metadata>=0.12->pluggy>=0.7->pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/da/bd/1a5fdf15aa44231fd09f63ecf175b60f057ae37ec65b343bb009364923f3/zipp-0.5.2-py2.py3-none-any.whl
Building wheels for collected packages: django-health-check, django-oauth-toolkit-jwt, psycopg2-binary, ruamel.yaml, coverage, cryptography, coreschema, inflection, PyYAML, cffi, itypes, gitdb, pycparser, MarkupSafe, smmap
Building wheel for django-health-check (setup.py): started
Building wheel for django-health-check (setup.py): finished with status 'done'
Created wheel for django-health-check: filename=django_health_check-3.8.0-cp36-none-any.whl size=21533 sha256=66e4dc05d1f4fb5ff73e955ee397faf2a3912fef26fbdf404f9d657f9190f391
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/b8/d2/f3/40db1f27d930544d3d1bf10e2ba550b61c580e6773b4b5ea44
Building wheel for django-oauth-toolkit-jwt (setup.py): started
Building wheel for django-oauth-toolkit-jwt (setup.py): finished with status 'done'
Created wheel for django-oauth-toolkit-jwt: filename=django_oauth_toolkit_jwt-0.5.2-cp36-none-any.whl size=7504 sha256=0bcfeb3f0cda6e80baa3632d172b363e31a9fa8e016275d813399d47e03dc7c4
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/bd/ad/5e/527b40e0c5df61a3c6c503fed0488e21ddd7e84d463abbcbb1
Building wheel for psycopg2-binary (setup.py): started
Building wheel for psycopg2-binary (setup.py): finished with status 'done'
Created wheel for psycopg2-binary: filename=psycopg2_binary-2.7.7-cp36-cp36m-linux_x86_64.whl size=480512 sha256=f07cb7f3eb3e173dfa46ba88640b1b555f4f8c61799838a535b9982105533953
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/98/0b/c5/40242bf6cebbc4d17cca0f43aa960b47d01956bea98831bf09
Building wheel for ruamel.yaml (setup.py): started
Building wheel for ruamel.yaml (setup.py): finished with status 'done'
Created wheel for ruamel.yaml: filename=ruamel.yaml-0.15.100-cp36-cp36m-linux_x86_64.whl size=607571 sha256=bd1b1d7b6d9ea3a2056dab2ea4366d154edbeb031da28753535ed1deedf80514
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/db/41/e2/07450a5b4cf31ce36bd7a18edf3a28e9231b6709cc6e805e1a
Building wheel for coverage (setup.py): started
Building wheel for coverage (setup.py): finished with status 'done'
Created wheel for coverage: filename=coverage-4.5.2-cp36-cp36m-linux_x86_64.whl size=205711 sha256=96b7f38be5ff5a6c9cab036b716ab5dae4dee294b280662eda2e273b35e19584
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/df/22/59/f868f589c4010f2463a3eb49d55344e5ae7d8c3921cdadea86
Building wheel for cryptography (setup.py): started
Building wheel for cryptography (setup.py): finished with status 'done'
Created wheel for cryptography: filename=cryptography-2.3.1-cp36-cp36m-linux_x86_64.whl size=765986 sha256=351078067d6cb322b334d5319deb66119b204dbe95e34e7df8282570690014f1
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/fb/6a/1c/07080dc38a589b201a0bb17a4a148cb528ee0e323f6f68c254
Building wheel for coreschema (setup.py): started
Building wheel for coreschema (setup.py): finished with status 'done'
Created wheel for coreschema: filename=coreschema-0.0.4-cp36-none-any.whl size=15033 sha256=416e0b084b386e8a98a9ecbebb2182fe32482af84e003d952bdd53d25fffd3da
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/10/7b/ba/04fcd6b33e6123ca11a5f5ab56decb1a2d87ced028377a1377
Building wheel for inflection (setup.py): started
Building wheel for inflection (setup.py): finished with status 'done'
Created wheel for inflection: filename=inflection-0.3.1-cp36-none-any.whl size=6077 sha256=dc37d6ad45450bd08f7967dee4602a43878d045faca789634eb03a2c21342fbd
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/9f/5a/d3/6fc3bf6516d2a3eb7e18f9f28b472110b59325f3f258fe9211
Building wheel for PyYAML (setup.py): started
Building wheel for PyYAML (setup.py): finished with status 'done'
Created wheel for PyYAML: filename=PyYAML-5.1.2-cp36-cp36m-linux_x86_64.whl size=44105 sha256=ccbe618c46653fb54a61eba2d51dd23e08aa4054acf6e2b2d7df06f28ce56045
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d9/45/dd/65f0b38450c47cf7e5312883deb97d065e030c5cca0a365030
Building wheel for cffi (setup.py): started
Building wheel for cffi (setup.py): finished with status 'done'
Created wheel for cffi: filename=cffi-1.12.3-cp36-cp36m-linux_x86_64.whl size=353311 sha256=4ddd93a80050df72d0444d00e2c0de8ca38d420f39e36bc8930ad176ca4ea6b3
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/94/a7/7a/9782ab473d88ec2d4994a7dd2d006b1352c71da3ad34ebcaeb
Building wheel for itypes (setup.py): started
Building wheel for itypes (setup.py): finished with status 'done'
Created wheel for itypes: filename=itypes-1.1.0-cp36-none-any.whl size=2313 sha256=dba7be2ce9e08a093445f615a83671d431d678f76404d377e08fcf07eb4a143b
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/7b/52/af/4e27324812e7ab7bbbc30f748d317f3739477562325cb4c723
Building wheel for gitdb (setup.py): started
Building wheel for gitdb (setup.py): finished with status 'done'
Created wheel for gitdb: filename=gitdb-0.6.4-cp36-cp36m-linux_x86_64.whl size=102461 sha256=5184633f7a793fa0634c6a0c92dbca9e5750d66c43ce65c23ec4f28a7f463f37
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d1/7e/c5/1093bc36622d7d06ed6520a50280771ebff8c190d92bd402b6
Building wheel for pycparser (setup.py): started
Building wheel for pycparser (setup.py): finished with status 'done'
Created wheel for pycparser: filename=pycparser-2.19-py2.py3-none-any.whl size=111031 sha256=5e9e1f8a2a6691c8288f504a958ae925f950e3bc65d3b14b35ca431abe80c2b4
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/f2/9a/90/de94f8556265ddc9d9c8b271b0f63e57b26fb1d67a45564511
Building wheel for MarkupSafe (setup.py): started
Building wheel for MarkupSafe (setup.py): finished with status 'done'
Created wheel for MarkupSafe: filename=MarkupSafe-1.1.1-cp36-cp36m-linux_x86_64.whl size=30828 sha256=f8501bb894fc39b951fae4d5a1b2e8cb9ef066dba1706c3f704cb42e1630d636
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/f2/aa/04/0edf07a1b8a5f5f1aed7580fffb69ce8972edc16a505916a77
Building wheel for smmap (setup.py): started
Building wheel for smmap (setup.py): finished with status 'done'
Created wheel for smmap: filename=smmap-0.9.0-py2.py3-none-any.whl size=23355 sha256=a0ed1854507002228862fb401403e39451e4e89c65b2e88a39cbdd7744ba5a73
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d6/a5/09/cb584a95ad332da2bf0265a8b0423c562a99553a3edf148d12
Successfully built django-health-check django-oauth-toolkit-jwt psycopg2-binary ruamel.yaml coverage cryptography coreschema inflection PyYAML cffi itypes gitdb pycparser MarkupSafe smmap
Installing collected packages: pytz, Django, django-filter, django-health-check, idna, asn1crypto, six, pycparser, cffi, cryptography, PyJWT, django-oauth-toolkit-jwt, djangorestframework, psycopg2-binary, MarkupSafe, jinja2, coreschema, inflection, uritemplate, ruamel.yaml, itypes, urllib3, certifi, chardet, requests, coreapi, drf-yasg, pbr, stevedore, smmap2, gitdb2, smmap, gitdb, ddt, GitPython, PyYAML, bandit, coverage, more-itertools, atomicwrites, attrs, py, zipp, importlib-metadata, pluggy, pytest, pytest-cov, mccabe, entrypoints, pyflakes, pycodestyle, flake8
Successfully installed Django-2.1.11 GitPython-3.0.0 MarkupSafe-1.1.1 PyJWT-1.6.4 PyYAML-5.1.2 asn1crypto-0.24.0 atomicwrites-1.3.0 attrs-19.1.0 bandit-1.5.1 certifi-2019.6.16 cffi-1.12.3 chardet-3.0.4 coreapi-2.3.3 coreschema-0.0.4 coverage-4.5.2 cryptography-2.3.1 ddt-1.2.1 django-filter-2.1.0 django-health-check-3.8.0 django-oauth-toolkit-jwt-0.5.2 djangorestframework-3.9.1 drf-yasg-1.10.2 entrypoints-0.3 flake8-3.7.7 gitdb-0.6.4 gitdb2-2.0.5 idna-2.8 importlib-metadata-0.19 inflection-0.3.1 itypes-1.1.0 jinja2-2.10.1 mccabe-0.6.1 more-itertools-7.2.0 pbr-5.4.2 pluggy-0.12.0 psycopg2-binary-2.7.7 py-1.8.0 pycodestyle-2.5.0 pycparser-2.19 pyflakes-2.1.1 pytest-4.3.0 pytest-cov-2.6.1 pytz-2019.2 requests-2.22.0 ruamel.yaml-0.15.100 six-1.12.0 smmap-0.9.0 smmap2-2.0.5 stevedore-1.30.1 uritemplate-3.0.0 urllib3-1.25.3 zipp-0.5.2
+ bash scripts/wait-for-it.sh ${DATABASE_HOST} ${DATABASE_PORT}
Waiting for port postgres:5432 to become available...
READY !
+ pytest -v
============================= test session starts ==============================
platform linux -- Python 3.6.8, pytest-4.3.0, py-1.8.0, pluggy-0.12.0 -- /usr/local/bin/python
cachedir: .pytest_cache
rootdir: /drone/src/github.com/Humanitec/blueprint_django_service, inifile:
plugins: cov-2.6.1
collecting ... collected 1 item
tests/test_blueprint.py::test_blueprint PASSED [100%]
=========================== 1 passed in 0.05 seconds ===========================

Variables

4 configurations, 3 secrets
Key should not have spaces
Value can not be longer than 1024 characters
Make it secret
Create
Activte JSON mode
01{
02 ALLOWED_HOSTS: ‘*’
03 DATABASE_ENGINE: postgresql
04 DATABASE_HOST: 127.0.0.1
05 DATABASE_NAME: db-fd11e056-cff4-4368-bb13-80e1eced2d59
06 DATABASE_PORT: “5432”
07}
ALLOWED_HOSTS
*
Edit
DATABASE_ENGINE
postgresql
Edit
DATABASE_HOST
127.0.0.1
Edit
DATABASE_PORT
5432
Edit
USER_NAME
•••••
Secret
Show
USER_PASS
••••••••••
Secret
Show
UID
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Secret
Show

Container logs

These logs will appear after the deployment succeeds.

Products

0.9.6
May 20, 2019
The products service provides the backend for a products and inventory feature for your app. It exposes the Product and Property data models. These data models have a many-to-many relationship.
The products service provides the backend for a products and inventory feature for your app. It exposes the Product and Property data models. These data models have a many-to-many relationship.

Custom port mapping

Expose with public URL
Container port

Databases

Create Database
Remove module from this environment
Caution: All configurations will be lost once you remove the module.
Remove module

Repository

Current

Build logs

default
clone
postgres
build
test
build-docker-image-tag
Close
+ apk add --no-cache postgresql-libs bash
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/7) Installing pkgconf (1.3.10-r0)
(2/7) Installing bash (4.4.19-r1)
Executing bash-4.4.19-r1.post-install
(3/7) Installing db (5.3.28-r0)
(4/7) Installing libsasl (2.1.26-r11)
(5/7) Installing libldap (2.4.46-r0)
(6/7) Installing libpq (10.10-r0)
(7/7) Installing postgresql-libs (10.10-r0)
Executing busybox-1.27.2-r11.trigger
OK: 21 MiB in 40 packages
+ apk add --no-cache --virtual .build-deps git python-dev gcc musl-dev postgresql-dev libffi-dev libressl-dev
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
(1/24) Upgrading musl (1.1.18-r3 -> 1.1.18-r4)
(2/24) Installing libssh2 (1.8.2-r0)
(3/24) Installing libcurl (7.61.1-r2)
(4/24) Installing pcre2 (10.30-r0)
(5/24) Installing git (2.15.3-r0)
(6/24) Installing python2 (2.7.15-r2)
(7/24) Installing python2-dev (2.7.15-r2)
(8/24) Installing binutils-libs (2.30-r1)
(9/24) Installing binutils (2.30-r1)
(10/24) Installing gmp (6.1.2-r1)
(11/24) Installing isl (0.18-r0)
(12/24) Installing libgomp (6.4.0-r5)
(13/24) Installing libatomic (6.4.0-r5)
(14/24) Installing libgcc (6.4.0-r5)
(15/24) Installing mpfr3 (3.1.5-r1)
(16/24) Installing mpc1 (1.0.3-r1)
(17/24) Installing libstdc++ (6.4.0-r5)
(18/24) Installing gcc (6.4.0-r5)
(19/24) Installing musl-dev (1.1.18-r4)
(20/24) Installing libressl-dev (2.6.5-r0)
(21/24) Installing postgresql-dev (10.10-r0)
(22/24) Installing libffi-dev (3.2.1-r4)
(23/24) Installing .build-deps (0)
(24/24) Upgrading musl-utils (1.1.18-r3 -> 1.1.18-r4)
Executing busybox-1.27.2-r11.trigger
OK: 199 MiB in 62 packages
+ pip install --upgrade pip
Collecting pip
Downloading https://files.pythonhosted.org/packages/8d/07/f7d7ced2f97ca3098c16565efbe6b15fafcba53e8d9bdb431e09140514b0/pip-19.2.2-py2.py3-none-any.whl (1.4MB)
Installing collected packages: pip
Found existing installation: pip 19.0.1
Uninstalling pip-19.0.1:
Successfully uninstalled pip-19.0.1
Successfully installed pip-19.2.2
+ pip install -r requirements/ci.txt --no-cache-dir
Collecting Django==2.1.11 (from -r requirements/base.txt (line 1))
Downloading https://files.pythonhosted.org/packages/8c/49/d5038239995594281478bf209f8d93524ad342d500009a697b27f884668a/Django-2.1.11-py3-none-any.whl (7.3MB)
Collecting django-filter==2.1.0 (from -r requirements/base.txt (line 2))
Downloading https://files.pythonhosted.org/packages/48/b4/7d52fb480108c9af88a4af520b371ac2ada55eac9970e025f147d0131b64/django_filter-2.1.0-py3-none-any.whl (69kB)
Collecting django-health-check==3.8.0 (from -r requirements/base.txt (line 3))
Downloading https://files.pythonhosted.org/packages/16/fd/7c79b82a1658f5a16338175d1738ca55bfdb2b3638f9b6e3370672f2b583/django-health-check-3.8.0.tar.gz
Collecting django-oauth-toolkit-jwt from git+https://github.com/Humanitec/django-oauth-toolkit-jwt@v0.5.3#egg=django-oauth-toolkit-jwt (from -r requirements/base.txt (line 4))
Cloning https://github.com/Humanitec/django-oauth-toolkit-jwt (to revision v0.5.3) to /tmp/pip-install-33lls_ob/django-oauth-toolkit-jwt
Running command git clone -q https://github.com/Humanitec/django-oauth-toolkit-jwt /tmp/pip-install-33lls_ob/django-oauth-toolkit-jwt
Running command git checkout -q 7a638109db7bfccec4926b25bccc820fe3136a1b
Collecting djangorestframework==3.9.1 (from -r requirements/base.txt (line 5))
Downloading https://files.pythonhosted.org/packages/ef/13/0f394111124e0242bf3052c5578974e88e62e3715f0daf76b7c987fc6705/djangorestframework-3.9.1-py2.py3-none-any.whl (950kB)
Collecting psycopg2-binary==2.7.7 (from -r requirements/base.txt (line 6))
Downloading https://files.pythonhosted.org/packages/dd/56/c22da10f5a725d61c58a185ec0f803aa2d384646ee8eb83d8ce88ed5edb1/psycopg2-binary-2.7.7.tar.gz (428kB)
Collecting drf-yasg==1.10.2 (from -r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/31/73/f56fa005d829db53d96d10aba594b724c3d327960e728d29538ce7e05bb8/drf_yasg-1.10.2-py2.py3-none-any.whl (1.1MB)
Collecting ruamel.yaml==0.15.100 (from -r requirements/base.txt (line 8))
Downloading https://files.pythonhosted.org/packages/9a/ee/55cd64bbff971c181e2d9e1c13aba9a27fd4cd2bee545dbe90c44427c757/ruamel.yaml-0.15.100.tar.gz (318kB)
Collecting bandit==1.5.1 (from -r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/da/94/34afbe0c28b0c35f5116955c86c20599b3c732ddc1b2c452f190760ebfbf/bandit-1.5.1-py2.py3-none-any.whl (121kB)
Collecting coverage==4.5.2 (from -r requirements/ci.txt (line 4))
Downloading https://files.pythonhosted.org/packages/fb/af/ce7b0fe063ee0142786ee53ad6197979491ce0785567b6d8be751d2069e8/coverage-4.5.2.tar.gz (384kB)
Collecting pytest==4.3.0 (from -r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/51/b2/2fa8e8b179c792c457c2f7800f1313bfbd34f515e3a833e6083121844c14/pytest-4.3.0-py2.py3-none-any.whl (219kB)
Collecting pytest-cov==2.6.1 (from -r requirements/ci.txt (line 6))
Downloading https://files.pythonhosted.org/packages/7d/b5/92f32674ab954f80499ac73347bfeb815545ea295439c12b0ef3ac8f0975/pytest_cov-2.6.1-py2.py3-none-any.whl
Collecting flake8==3.7.7 (from -r requirements/ci.txt (line 7))
Downloading https://files.pythonhosted.org/packages/e9/76/b915bd28976068a9843bf836b789794aa4a8eb13338b23581005cd9177c0/flake8-3.7.7-py2.py3-none-any.whl (68kB)
Collecting pytz (from Django==2.1.11->-r requirements/base.txt (line 1))
Downloading https://files.pythonhosted.org/packages/87/76/46d697698a143e05f77bec5a526bf4e56a0be61d63425b68f4ba553b51f2/pytz-2019.2-py2.py3-none-any.whl (508kB)
Collecting cryptography<2.4,>=2.3.1 (from django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/22/21/233e38f74188db94e8451ef6385754a98f3cad9b59bedf3a8e8b14988be4/cryptography-2.3.1.tar.gz (449kB)
Collecting PyJWT<1.7,>=1.6.4 (from django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</1.7,>
Downloading https://files.pythonhosted.org/packages/93/d1/3378cc8184a6524dc92993090ee8b4c03847c567e298305d6cf86987e005/PyJWT-1.6.4-py2.py3-none-any.whl
Collecting coreschema>=0.0.4 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/93/08/1d105a70104e078718421e6c555b8b293259e7fc92f7e9a04869947f198f/coreschema-0.0.4.tar.gz
Collecting six>=1.10.0 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
Collecting inflection>=0.3.1 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/d5/35/a6eb45b4e2356fe688b21570864d4aa0d0a880ce387defe9c589112077f8/inflection-0.3.1.tar.gz
Collecting uritemplate>=3.0.0 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/e5/7d/9d5a640c4f8bf2c8b1afc015e9a9d8de32e13c9016dcc4b0ec03481fb396/uritemplate-3.0.0-py2.py3-none-any.whl
Collecting coreapi>=2.3.3 (from drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/fc/3a/9dedaad22962770edd334222f2b3c3e7ad5e1c8cab1d6a7992c30329e2e5/coreapi-2.3.3-py2.py3-none-any.whl
Collecting stevedore>=1.20.0 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/c6/dc/6ee92bccfe3c0448786b30b693e6060d62ec8c4a3ec9a287bac1c1a8d8c9/stevedore-1.30.1-py2.py3-none-any.whl (42kB)
Collecting GitPython>=1.0.1 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/45/f6/b44846937803bfa63eb5c2aaaffe0d1d424365c3122761bc3c4de45aec3a/GitPython-3.0.0-py3-none-any.whl (452kB)
Collecting PyYAML>=3.12 (from bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz (265kB)
Collecting more-itertools>=4.0.0; python_version > "2.7" (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/45/dc/3241eef99eb45f1def35cf93af35d1cf9ef4c0991792583b8f33ea41b092/more_itertools-7.2.0-py3-none-any.whl (57kB)
Collecting atomicwrites>=1.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/52/90/6155aa926f43f2b2a22b01be7241be3bfd1ceaf7d0b3267213e8127d41f4/atomicwrites-1.3.0-py2.py3-none-any.whl
Collecting attrs>=17.4.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/23/96/d828354fa2dbdf216eaa7b7de0db692f12c234f7ef888cc14980ef40d1d2/attrs-19.1.0-py2.py3-none-any.whl
Requirement already satisfied: setuptools in /usr/local/lib/python3.6/site-packages (from pytest==4.3.0->-r requirements/ci.txt (line 5)) (40.7.1)
Collecting py>=1.5.0 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/76/bc/394ad449851729244a97857ee14d7cba61ddb268dce3db538ba2f2ba1f0f/py-1.8.0-py2.py3-none-any.whl (83kB)
Collecting pluggy>=0.7 (from pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/06/ee/de89e0582276e3551df3110088bf20844de2b0e7df2748406876cc78e021/pluggy-0.12.0-py2.py3-none-any.whl
Collecting mccabe<0.7.0,>=0.6.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</0.7.0,>
Downloading https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7b57/mccabe-0.6.1-py2.py3-none-any.whl
Collecting entrypoints<0.4.0,>=0.3.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</0.4.0,>
Downloading https://files.pythonhosted.org/packages/ac/c6/44694103f8c221443ee6b0041f69e2740d89a25641e62fb4f2ee568f2f9c/entrypoints-0.3-py2.py3-none-any.whl
Collecting pyflakes<2.2.0,>=2.1.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</2.2.0,>
Downloading https://files.pythonhosted.org/packages/84/f2/ed0ffb887f8138a8fe5a621b8c0bb9598bfb3989e029f6c6a85ee66628ee/pyflakes-2.1.1-py2.py3-none-any.whl (59kB)
Collecting pycodestyle<2.6.0,>=2.5.0 (from flake8==3.7.7->-r requirements/ci.txt (line 7))</2.6.0,>
Downloading https://files.pythonhosted.org/packages/0e/0c/04a353e104d2f324f8ee5f4b32012618c1c86dd79e52a433b64fceed511b/pycodestyle-2.5.0-py2.py3-none-any.whl (51kB)
Collecting idna>=2.1 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
Collecting asn1crypto>=0.21.0 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/ea/cd/35485615f45f30a510576f1a56d1e0a7ad7bd8ab5ed7cdc600ef7cd06222/asn1crypto-0.24.0-py2.py3-none-any.whl (101kB)
Collecting cffi!=1.11.3,>=1.7 (from cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/93/1a/ab8c62b5838722f29f3daffcc8d4bd61844aa9b5f437341cc890ceee483b/cffi-1.12.3.tar.gz (456kB)
Collecting jinja2 (from coreschema>=0.0.4->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/1d/e7/fd8b501e7a6dfe492a433deb7b9d833d39ca74916fa8bc63dd1a4947a671/Jinja2-2.10.1-py2.py3-none-any.whl (124kB)
Collecting itypes (from coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/d3/24/5e511590f95582efe64b8ad2f6dadd85c5563c9dcf40171ea5a70adbf5a9/itypes-1.1.0.tar.gz
Collecting requests (from coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
Collecting pbr!=2.1.0,>=2.0.0 (from stevedore>=1.20.0->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/f9/d8/bd657bfa0e89eb71ad5e977ed99a9bb2b44e5db68d9190970637c26501bb/pbr-5.4.2-py2.py3-none-any.whl (110kB)
Collecting gitdb2>=2.0.0 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/da/30/a407568aa8d8f25db817cf50121a958722f3fc5f87e3a6fba1f40c0633e3/gitdb2-2.0.5-py2.py3-none-any.whl (62kB)
Collecting gitdb>=0.6.4 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/e3/95/7e5d7261feb46c0539ac5e451be340ddd64d78c5118f2d893b052c76fe8c/gitdb-0.6.4.tar.gz (400kB)
Collecting ddt>=1.1.1 (from GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/cf/f5/f83dea32dc3fb3be1e5afab8438dce73ed587740a2a061ae2ea56e04a36d/ddt-1.2.1-py2.py3-none-any.whl
Collecting importlib-metadata>=0.12 (from pluggy>=0.7->pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/ad/aa/25fcbded2ab4ed4ff3071d1e000cd4f8f9c65653d2d7157dd105a8e81d42/importlib_metadata-0.19-py2.py3-none-any.whl
Collecting pycparser (from cffi!=1.11.3,>=1.7->cryptography<2.4,>=2.3.1->django-oauth-toolkit-jwt->-r requirements/base.txt (line 4))</2.4,>
Downloading https://files.pythonhosted.org/packages/68/9e/49196946aee219aead1290e00d1e7fdeab8567783e83e1b9ab5585e6206a/pycparser-2.19.tar.gz (158kB)
Collecting MarkupSafe>=0.23 (from jinja2->coreschema>=0.0.4->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/b9/2e/64db92e53b86efccfaea71321f597fa2e1b2bd3853d8ce658568f7a13094/MarkupSafe-1.1.1.tar.gz
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))</1.26,>
Downloading https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl (150kB)
Collecting certifi>=2017.4.17 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))
Downloading https://files.pythonhosted.org/packages/69/1b/b853c7a9d4f6a6d00749e94eb6f3a041e342a885b87340b79c1ef73e3a78/certifi-2019.6.16-py2.py3-none-any.whl (157kB)
Collecting chardet<3.1.0,>=3.0.2 (from requests->coreapi>=2.3.3->drf-yasg==1.10.2->-r requirements/base.txt (line 7))</3.1.0,>
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
Collecting smmap2>=2.0.0 (from gitdb2>=2.0.0->GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/55/d2/866d45e3a121ee15a1dc013824d58072fd5c7799c9c34d01378eb262ca8f/smmap2-2.0.5-py2.py3-none-any.whl
Collecting smmap>=0.8.5 (from gitdb>=0.6.4->GitPython>=1.0.1->bandit==1.5.1->-r requirements/ci.txt (line 3))
Downloading https://files.pythonhosted.org/packages/bc/aa/b744b3761fff1b10579df996a2d2e87f124ae07b8336e37edc89cc502f86/smmap-0.9.0.tar.gz
Collecting zipp>=0.5 (from importlib-metadata>=0.12->pluggy>=0.7->pytest==4.3.0->-r requirements/ci.txt (line 5))
Downloading https://files.pythonhosted.org/packages/da/bd/1a5fdf15aa44231fd09f63ecf175b60f057ae37ec65b343bb009364923f3/zipp-0.5.2-py2.py3-none-any.whl
Building wheels for collected packages: django-health-check, django-oauth-toolkit-jwt, psycopg2-binary, ruamel.yaml, coverage, cryptography, coreschema, inflection, PyYAML, cffi, itypes, gitdb, pycparser, MarkupSafe, smmap
Building wheel for django-health-check (setup.py): started
Building wheel for django-health-check (setup.py): finished with status 'done'
Created wheel for django-health-check: filename=django_health_check-3.8.0-cp36-none-any.whl size=21533 sha256=66e4dc05d1f4fb5ff73e955ee397faf2a3912fef26fbdf404f9d657f9190f391
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/b8/d2/f3/40db1f27d930544d3d1bf10e2ba550b61c580e6773b4b5ea44
Building wheel for django-oauth-toolkit-jwt (setup.py): started
Building wheel for django-oauth-toolkit-jwt (setup.py): finished with status 'done'
Created wheel for django-oauth-toolkit-jwt: filename=django_oauth_toolkit_jwt-0.5.2-cp36-none-any.whl size=7504 sha256=0bcfeb3f0cda6e80baa3632d172b363e31a9fa8e016275d813399d47e03dc7c4
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/bd/ad/5e/527b40e0c5df61a3c6c503fed0488e21ddd7e84d463abbcbb1
Building wheel for psycopg2-binary (setup.py): started
Building wheel for psycopg2-binary (setup.py): finished with status 'done'
Created wheel for psycopg2-binary: filename=psycopg2_binary-2.7.7-cp36-cp36m-linux_x86_64.whl size=480512 sha256=f07cb7f3eb3e173dfa46ba88640b1b555f4f8c61799838a535b9982105533953
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/98/0b/c5/40242bf6cebbc4d17cca0f43aa960b47d01956bea98831bf09
Building wheel for ruamel.yaml (setup.py): started
Building wheel for ruamel.yaml (setup.py): finished with status 'done'
Created wheel for ruamel.yaml: filename=ruamel.yaml-0.15.100-cp36-cp36m-linux_x86_64.whl size=607571 sha256=bd1b1d7b6d9ea3a2056dab2ea4366d154edbeb031da28753535ed1deedf80514
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/db/41/e2/07450a5b4cf31ce36bd7a18edf3a28e9231b6709cc6e805e1a
Building wheel for coverage (setup.py): started
Building wheel for coverage (setup.py): finished with status 'done'
Created wheel for coverage: filename=coverage-4.5.2-cp36-cp36m-linux_x86_64.whl size=205711 sha256=96b7f38be5ff5a6c9cab036b716ab5dae4dee294b280662eda2e273b35e19584
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/df/22/59/f868f589c4010f2463a3eb49d55344e5ae7d8c3921cdadea86
Building wheel for cryptography (setup.py): started
Building wheel for cryptography (setup.py): finished with status 'done'
Created wheel for cryptography: filename=cryptography-2.3.1-cp36-cp36m-linux_x86_64.whl size=765986 sha256=351078067d6cb322b334d5319deb66119b204dbe95e34e7df8282570690014f1
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/fb/6a/1c/07080dc38a589b201a0bb17a4a148cb528ee0e323f6f68c254
Building wheel for coreschema (setup.py): started
Building wheel for coreschema (setup.py): finished with status 'done'
Created wheel for coreschema: filename=coreschema-0.0.4-cp36-none-any.whl size=15033 sha256=416e0b084b386e8a98a9ecbebb2182fe32482af84e003d952bdd53d25fffd3da
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/10/7b/ba/04fcd6b33e6123ca11a5f5ab56decb1a2d87ced028377a1377
Building wheel for inflection (setup.py): started
Building wheel for inflection (setup.py): finished with status 'done'
Created wheel for inflection: filename=inflection-0.3.1-cp36-none-any.whl size=6077 sha256=dc37d6ad45450bd08f7967dee4602a43878d045faca789634eb03a2c21342fbd
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/9f/5a/d3/6fc3bf6516d2a3eb7e18f9f28b472110b59325f3f258fe9211
Building wheel for PyYAML (setup.py): started
Building wheel for PyYAML (setup.py): finished with status 'done'
Created wheel for PyYAML: filename=PyYAML-5.1.2-cp36-cp36m-linux_x86_64.whl size=44105 sha256=ccbe618c46653fb54a61eba2d51dd23e08aa4054acf6e2b2d7df06f28ce56045
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d9/45/dd/65f0b38450c47cf7e5312883deb97d065e030c5cca0a365030
Building wheel for cffi (setup.py): started
Building wheel for cffi (setup.py): finished with status 'done'
Created wheel for cffi: filename=cffi-1.12.3-cp36-cp36m-linux_x86_64.whl size=353311 sha256=4ddd93a80050df72d0444d00e2c0de8ca38d420f39e36bc8930ad176ca4ea6b3
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/94/a7/7a/9782ab473d88ec2d4994a7dd2d006b1352c71da3ad34ebcaeb
Building wheel for itypes (setup.py): started
Building wheel for itypes (setup.py): finished with status 'done'
Created wheel for itypes: filename=itypes-1.1.0-cp36-none-any.whl size=2313 sha256=dba7be2ce9e08a093445f615a83671d431d678f76404d377e08fcf07eb4a143b
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/7b/52/af/4e27324812e7ab7bbbc30f748d317f3739477562325cb4c723
Building wheel for gitdb (setup.py): started
Building wheel for gitdb (setup.py): finished with status 'done'
Created wheel for gitdb: filename=gitdb-0.6.4-cp36-cp36m-linux_x86_64.whl size=102461 sha256=5184633f7a793fa0634c6a0c92dbca9e5750d66c43ce65c23ec4f28a7f463f37
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d1/7e/c5/1093bc36622d7d06ed6520a50280771ebff8c190d92bd402b6
Building wheel for pycparser (setup.py): started
Building wheel for pycparser (setup.py): finished with status 'done'
Created wheel for pycparser: filename=pycparser-2.19-py2.py3-none-any.whl size=111031 sha256=5e9e1f8a2a6691c8288f504a958ae925f950e3bc65d3b14b35ca431abe80c2b4
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/f2/9a/90/de94f8556265ddc9d9c8b271b0f63e57b26fb1d67a45564511
Building wheel for MarkupSafe (setup.py): started
Building wheel for MarkupSafe (setup.py): finished with status 'done'
Created wheel for MarkupSafe: filename=MarkupSafe-1.1.1-cp36-cp36m-linux_x86_64.whl size=30828 sha256=f8501bb894fc39b951fae4d5a1b2e8cb9ef066dba1706c3f704cb42e1630d636
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/f2/aa/04/0edf07a1b8a5f5f1aed7580fffb69ce8972edc16a505916a77
Building wheel for smmap (setup.py): started
Building wheel for smmap (setup.py): finished with status 'done'
Created wheel for smmap: filename=smmap-0.9.0-py2.py3-none-any.whl size=23355 sha256=a0ed1854507002228862fb401403e39451e4e89c65b2e88a39cbdd7744ba5a73
Stored in directory: /tmp/pip-ephem-wheel-cache-m9cgm1wk/wheels/d6/a5/09/cb584a95ad332da2bf0265a8b0423c562a99553a3edf148d12
Successfully built django-health-check django-oauth-toolkit-jwt psycopg2-binary ruamel.yaml coverage cryptography coreschema inflection PyYAML cffi itypes gitdb pycparser MarkupSafe smmap
Installing collected packages: pytz, Django, django-filter, django-health-check, idna, asn1crypto, six, pycparser, cffi, cryptography, PyJWT, django-oauth-toolkit-jwt, djangorestframework, psycopg2-binary, MarkupSafe, jinja2, coreschema, inflection, uritemplate, ruamel.yaml, itypes, urllib3, certifi, chardet, requests, coreapi, drf-yasg, pbr, stevedore, smmap2, gitdb2, smmap, gitdb, ddt, GitPython, PyYAML, bandit, coverage, more-itertools, atomicwrites, attrs, py, zipp, importlib-metadata, pluggy, pytest, pytest-cov, mccabe, entrypoints, pyflakes, pycodestyle, flake8
Successfully installed Django-2.1.11 GitPython-3.0.0 MarkupSafe-1.1.1 PyJWT-1.6.4 PyYAML-5.1.2 asn1crypto-0.24.0 atomicwrites-1.3.0 attrs-19.1.0 bandit-1.5.1 certifi-2019.6.16 cffi-1.12.3 chardet-3.0.4 coreapi-2.3.3 coreschema-0.0.4 coverage-4.5.2 cryptography-2.3.1 ddt-1.2.1 django-filter-2.1.0 django-health-check-3.8.0 django-oauth-toolkit-jwt-0.5.2 djangorestframework-3.9.1 drf-yasg-1.10.2 entrypoints-0.3 flake8-3.7.7 gitdb-0.6.4 gitdb2-2.0.5 idna-2.8 importlib-metadata-0.19 inflection-0.3.1 itypes-1.1.0 jinja2-2.10.1 mccabe-0.6.1 more-itertools-7.2.0 pbr-5.4.2 pluggy-0.12.0 psycopg2-binary-2.7.7 py-1.8.0 pycodestyle-2.5.0 pycparser-2.19 pyflakes-2.1.1 pytest-4.3.0 pytest-cov-2.6.1 pytz-2019.2 requests-2.22.0 ruamel.yaml-0.15.100 six-1.12.0 smmap-0.9.0 smmap2-2.0.5 stevedore-1.30.1 uritemplate-3.0.0 urllib3-1.25.3 zipp-0.5.2
+ bash scripts/wait-for-it.sh ${DATABASE_HOST} ${DATABASE_PORT}
Waiting for port postgres:5432 to become available...
READY !
+ pytest -v
============================= test session starts ==============================
platform linux -- Python 3.6.8, pytest-4.3.0, py-1.8.0, pluggy-0.12.0 -- /usr/local/bin/python
cachedir: .pytest_cache
rootdir: /drone/src/github.com/Humanitec/blueprint_django_service, inifile:
plugins: cov-2.6.1
collecting ... collected 1 item
tests/test_blueprint.py::test_blueprint PASSED [100%]
=========================== 1 passed in 0.05 seconds ===========================

Variables

4 configurations, 3 secrets
Key should not have spaces
Value can not be longer than 1024 characters
Make it secret
Create
Activte JSON mode
01{
02 ALLOWED_HOSTS: ‘*’
03 DATABASE_ENGINE: postgresql
04 DATABASE_HOST: 127.0.0.1
05 DATABASE_NAME: db-fd11e056-cff4-4368-bb13-80e1eced2d59
06 DATABASE_PORT: “5432”
07}
ALLOWED_HOSTS
*
Edit
DATABASE_ENGINE
postgresql
Edit
DATABASE_HOST
127.0.0.1
Edit
DATABASE_PORT
5432
Edit
USER_NAME
•••••
Secret
Show
USER_PASS
••••••••••
Secret
Show
UID
•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
Secret
Show

Container logs

These logs will appear after the deployment succeeds.

Elasticsearch

7.5.2
Jan 21, 2020
Open-source message-broker with plug-in architecture.
This is some text describing the module.

Custom port mapping

Expose with public URL
Container port

Databases

Create Database
Danger zone. Removing module will delete all its settings.
Remove module

Repository

Set for deoployment

Build logs

Default
Clone
Install
Build
build-docker-image-tag
01Initialized empty Git repository in /drone/src/github.com/Humanitec/blueprint_flask_service/.git/
02+ git fetch origin +refs/tags/0.0.2:
03From https://github.com/Humanitec/blueprint_flask_service
04* tag 0.0.2 -> FETCH_HEAD
05+ git checkout -qf FETCH_HEAD

Variables

Activate JSON mode
01{
02 ALLOWED_HOSTS: ‘*’
03 DATABASE_ENGINE: postgresql
04 DATABASE_HOST: 127.0.0.1
05 DATABASE_NAME: db-fd11e056-cff4-4368-bb13-80e1eced2d59
06 DATABASE_PORT: “5432”
07}
Key
Value
ALLOWED_HOSTS
*
Edit
Key should not have spaces
Value can not be longer than 1024 characters
Make it secret
Create

Add new modules

Browse internal modules
Internal modules
Version
Version date
Repository link
Actions
AWS Storage Module
1.0.0
Add
Current version
2
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Summary

This is the backend client for the Amazon Web Services.

Develop this client

  • To build the project: ng build {name-of-module}
  • The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
  • To run tests using Karma: ng test {name-of-module}
  • To run end-to-end tests using Protractor: ng e2e {name-of-module}

File structure

  1. /components: Components that do not have roots assigned to them.
  2. /helpers: The client’s helper classes.
  3. /pages: Components that have roots assigned to them.
  4. /services: Classes that provide data.
  5. /state: State-related files and data models.
  6. /styles: Contains styles specific to the client.
  7. routing.module.ts: Where the client’s routes are defined.
  8. ngModule: Where components, services, pipes, etc. are defined.

Services

This client connects to the following services:

  • AWS Storage (Ruby)

API documentation (Compodoc)

Run npm run compodoc to generate Compodoc documentation to the /documentation directory.

License

Copyright ©2019 by Ralf Kostulski.

This code is released under the by Ralf Kostulski Affero GPL. See the LICENSE file for more information.

Backend authentication layer
0.0.12
May 1, 2019
Add
Current version
1
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

django-oauth-toolkit-jwt

This is an extension of django-oauth-toolkit that solves the lack of support for JWT.

JWT support for:

  • Token request.
  • Token refresh.

Unsupported:

  • Token revoke.

Installation

Add to your pip requirements:

git+https://github.com/Humanitec/django-oauth-toolkit-jwt#egg=django-oauth-toolkit-jwt

Generate keys

In order to generate a RS256 (RSA Signature with SHA-256) public and private keys, execute the following:

$ ssh-keygen -t rsa -b 4096 -f jwtR465656.key # don't add passphrase
$ openssl rsa -in jwtRS256.key -pubout -outform PEM -out jwt55256.key.pub
$ cat jwtRS5656.key
$ cat jwtRS2536.key.pub

Local development

Have Docker installed as a first step.

docker-compose -f docker-compose-dev.yml build

To run all the tests:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm dot_jwt tox

To run the tests only for Python 2.7:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm dot_jwt tox -e py27

Or to run just one test:

docker-compose -f docker-compose-dev.yml run --entrypoint '/usr/bin/env' --rm dot_jwt tox -- -x tests/test_views.py::PasswordTokenViewTest::test_get_enriched_jwt

Bifrost
12.3.15
Apr 18, 2019
Add
Current version
6
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Documentation page: _index.md

The partner front end service for BiFrost is [Midgard (Angular) and Midgard Core]:https://github.com/Humanitec/midgard and is configured to connect to the BiFrost core automatically and facilitate connections to addtional platform frontend and backend services.

Deploy locally via Docker

Build first the images:

docker-compose build # --no-cache to force deps installation

To run the webserver

docker-compose up # -d for detached

User: user Password: xxxx.

Set up

First steps

  1. Create a superuser: python manage.py createsuperuser
  2. Add basic data: python manage.py loadinitialdata

Configure the API authentication

All clients interact with our API using the OAuth2 protocol. In order to configure it, go to admin/oauth2_provider/application/ and add a new application there.

Configure Elasticsearch (search function)

Search Function is configured through connected search service. https://github.com/humanitec/search_service

Configure other services

There are many other services and behaviours determined by the application's configuration. Revise bifrost/settings/base.py and configure your environment variables so all services work without failures.

Generating RSA keys

For using JWT as authentication method, we need to configure public and private RSA keys.

The following commands will generate a public and private key. The private key will stay in BiFrost and the public one will be supplied to microservices in order to verify the authenticity of the message:

$ openssl genrsa -out private.pem 2048
$ openssl rsa -in private.pem -outform PEM -pubout -out public.pem

Troubleshooting

Local environment problems

If you're getting an error in your local environment, it can be related to the social-core library. To solve this issue you need to execute the following step:

  • With the container running, go into it with this command:
  • docker-compose run --entrypoint '/usr/bin/env' --rm bifrost bash
  • Install the social-core lib again:
  • pip install -e git://github.com/toladata/social-core#egg=social-core
  • Restart the container to apply the changes.

Creating PRs and Issues

The following templates were created to easy the way to create tickets and help the developer.

  • Bugs and Issues [+]
  • New features [+]
  • Pull requests [+]

Use the following template to create tickets for E-Mail:

From: [email_address]
To: [email_address]
Cc: [email_address]
Bcc: [email_address]
Reply-to: [email_address]

Subject: 'Title'
Body: 'Text message'(HTML)

Chat module
12.12.1
May 21, 2019
Add
Current version
16
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Chat is an open source and very basic live chat app written by a Python developer. It is free and MIT licensed. You can use it in a SaaS-like model on the website or you can also create your own self-hosted copy of the app.

Local run

  • git clone https://github.com/juliancwirko/chat-app.git
  • cd chat-app
  • npm install
  • meteor --settings settings.json (read more below)

Documentation

  • https://www.chatapp.support/docs

Important: Remember about Meteor settings file. The contents should look like:

{
   "public": {
       "hostName": "localhost:3000 (or your-host-name.com in the prod)",
       "maxClientApps": 3,
       "maxChatHistoryInDays": 3,
       "ga": {
           "account": "UA-********-*" (your google analytics code - optional)
       }
   },
   "private": {
       "mainAppEmail": "your-email-address@gmail.com",
       "mailGun": "smtp://{Default SMTP Login}:{Default Password}@{SMTP Hostname}:587",
       "google": {
           "clientId": "{your google API client id here}",
           "secret": "{your google API secret key here}"
       },
       "facebook": {
           "appId": "{your facebook API app id here}",
           "secret": "{your facebook API secret key here}"
       }
   }
}

Read more about it here: https://www.chatapp.support/docs#self-hosted-option

Changelog

  • CHANGELOG.md

Contact

  • domi@gmail.com

License

MIT

🍺 Buy me a beer!

Collection service
0.3.11
May 19, 2019
Add
Current version
78
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Development

Build the image:

docker-compose build

Run the web server:

docker-compose up

Open your browser with URL http://localhost:8080.

Run the tests:

docker-compose run --entrypoint '/usr/bin/env' --rm collection_service bash run-tests.sh

Elvis Image Recognition Module
51.8.11
May 22, 2019
Add
Current version
32
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

1. Introduction

The Elvis image recognition integration is a bridge between Elvis DAM and Artificial Intelligence (AI) image recognition services from Google and Amazon. It uses these services to detect tags, landmarks and do facial analysis. The gathered information is stored as searchable metadata in Elvis. Tags can also be automatically translated to other languages. The integration supports two tagging modes: on demand tagging of images that already exist in Elvis and auto tagging of images immediately after they are imported.

This readme describes how to setup the integration. Please read this blog article if you want to know more about Elvis and AI.

2. Package details

The integration consist of several components. The main component is the image recognition server app. The integrated AI services are not identical in the functionality they provide, this is what this integration supports per AI provider:

Google Vision

  • General tagging.
  • Landmark detection: location name including GPS coordinates.
  • OCR: Detect text in images
  • Web entities: tags related to where the image is used on websites
  • Web links: URL's to pages where the image or a similar image was linked. These links are saved in Elvis metadata fields, the Web Links panel plugin provides a simple clickable list of URL's (Elvis 6+).
  • Logo detection: Detect brand logos.

AWS Rekognition

  • General tagging.
  • Facial analysis: Eyes open/closed, male/female, beard/glasses/mustache, age, etc.

3. Installation prerequisites

  • Fully installed and licensed Elvis Server.
  • Minimum required version is Elvis 5.26. To use all features Elvis 6.7 or higher is required.
  • Machine where the image recognition server can run. This can be on the same machine where the Elvis Server runs or a different machine. Currently supported operating systems are Linux and OSX.
  • Elvis API user license.
  • An account with at least one, or optionally multiple AI vendors: Google Vision Amazon Rekognition.

4. Installation steps

This document link takes you to the description of the high level installation steps. Detailed configuration information is embedded in the various configuration files.

5. Security

This API has no build in authentication mechanism. There are however several ways to protect it:

  • Elvis 6.7+: Use an Elvis API Plugin to proxy the REST API through Elvis. This way only authenticated Elvis users with a specific capability assigned are able to use the REST API. See the Auto Tag Images plugin installation chapter for installation details.
  • Network / firewall: Open the ip & port of the image recognition server exclusively to your integration and/or the Elvis server.

6. Privacy and data usage

As explained in the architecture overview, the image recognition server sends preview images to the configured AI vendors. These vendors all have their own privacy policies when it comes to data usage and storage. Some of them use your data to improve machine learning services and for analytics. For details, please consult the privacy policy of your AI vendor(s):

  • AWS Rekognition Data Privacy
  • Google Cloud Vision Data Usage

7. Version history

v1.1.0

  • Elvis 6 support.
  • Support for API users (requires Elvis 5.24 or higher).
  • Improved logging: log lines with date and time.

v1.0.0

  • Google Vision: label & landmark detection.
  • AWS Rekognition: label & emotion detection.

Extension Module
1.0.0
May 22, 2019
Add
Current version
10
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Development

Build the image:

docker-compose build

Run the web server:

docker-compose up

Open your browser with URL http://localhost:8080. For the admin panel http://localhost:8080/admin (user: admin, password: admin).

Run the tests only once:

docker-compose run --rm --entrypoint 'bash scripts/run-tests.sh' extension_service

Run the tests and leave bash open inside the container, so it's possible to re-run the tests faster again using bash scripts/run-tests.sh [--keepdb]:

docker-compose run --rm --entrypoint 'bash scripts/run-tests.sh --bash-on-finish' extension_service

To run bash:

docker-compose run --rm --entrypoint 'bash' extension_service

Interface custom frontend
0.5
May 17, 2019
Add
Current version
0
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Summary

This is a blueprint client written in Angular.

Dependencies

npm libraries

  • List of npm packages used
  • List of npm packages used

Develop this client

  • To build the project: ng build {name-of-module}
  • The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
  • To run tests using Karma: ng test {name-of-module}
  • To run end-to-end tests using Protractor: ng e2e {name-of-module}

File structure

  • /components: Components that do not have roots assigned to them.
  • /helpers: The client's helper classes.
  • /pages: Components that have roots assigned to them.
  • /services: Classes that provide data.
  • /state: State-related files and data models.
  • /styles: Contains styles specific to the client.
  • routing.module.ts: Where the client's routes are defined.
  • ngModule: Where components, services, pipes, etc. are defined.

Services

This client connects to the following services:

  • Link to documentation for service that the client uses
  • Link to documentation for service that the client uses

Document the ways in which this client connects to the service. Methods used, data models used, endpoints used, etc.

API documentation (Compodoc)

Run npm run compodoc to generate Compodoc documentation to the /documentation directory.

License

Copyright ©2019 Humanitec GmbH.

This code is released under the Humanitec Affero GPL.

Legal Auth
1.2.34
May 22, 2019
Add
Current version
1
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

An authentication micro-service written in Java.

Getting started

Container Structure

Legal auth-service can be used to secure a single application instance or multiple instance with single-sign-on (SSO).

An Legal auth-service enabled system has the following containers:

  • Application backend: Webserver(s) of you application that servers the actual content. (Most likely one per application)
  • frontend: Your frontend proxy sitting in front of auth-web. It is the entry point for you web users, sets the instance ID
  • auth-web: An nginx-proxy that sits in front of your application and ensures that all requests are authorized. Passes authorization requests to Legal auth-service(One)
  • auth-service: The authentication backend. Handles user management, authorization requests etc.
  • database: Storage for Legal auth-service(One)

The instructions below make the following assumptions:

  • You are using docker compose
  • The API you want to protect is in a container called server
  • Your proxy redirects endpoints under /api to auth-service
  • You are running a PostgreSQL instance called database
  • Your PostgreSQL database and user name are postgres

Add this repository as a git submodule, and put the following in your docker-compose.yml configuration:

   auth-serviceb:
     build: auth-service
     links:
     - database
   auth-web:
     build: auth-service/web
     links:
     - auth-service
     - server:INSTANCE_ID

You can also set configuration options as environment variables here. See auth-service.config for availableoptions.

Example:

     environment:
       - log=true
       - TWILIO_ACCOUNT=<account>
       - TWILIO_TOKEN=<token>
       - TWILIO_SOURCE=<twilio source phone number>

Managing users

Creating new users

Users can be added by running the adduser command in the auth-service container:

docker exec -it app_auth_1 auth-service adduser "My Name" my_password my_email@example.com

Changing user passwords

Login passwords can be changed by calling /api/change-password :

POST /api/change-password
 {"oldPasword":"myOldPassword","newPassword":"myNewPassword"}"

Other changes can be done with SQL directly.

Authentication

Logging in

Authentication is done via the /api/login endpoint.

Logging in without a One Time Password (OTP):

To log in without an OTP (either because it's not known yet or not required):

POST /api/login
 { "user": "my_email@example.com", "password": "my_password" }

On success, the call will return a token (see "session token" section) if no OTP is required. Otherwise it will return an error:

'{"error":"One time password required"}'

and the OTP will be sent out to the user

Logging in with an OTP

To log in with an OTP:

POST /api/login
 { "user": "my_email@example.com", "password": "my_password", , "otp":"myOTP" }

on success, a session token will be returned (see next section)

Session Token

On successful login, a session token is returned in the following ways:

  • As a header: X-Token
  • As a cookie: token
  • As a response body : {"token":"the_token"}

Legal

Copyright © 2015-2017 Cinderella. All rights reserved.

Twilio and Twiml are registered trademarks of Twilio and/or its affiliates. Other names may be trademarks of their respective owners.

Locations
1.3.15
Apr 16, 2019
Add
Current version
12
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Summary

The location service enables your application to store and group international addresses. It exposes the SiteProfile model with a flexible schema for location data and the ProfileType model to classify the SiteProfiles.

REST data models

SiteProfile

A SiteProfile is a representation of a location. It has the following properties:

  • uuid: UUID of the SiteProfile.
  • name: Name of the SiteProfile.
  • organization_uuid: UUID of the organization that has access to the SiteProfile.
  • profiletype: UUID of the related ProfileType of the SiteProfile.
  • address_line1: First address line of the SiteProfile, like street and number.
  • address_line2: Second address line of the SiteProfile.
  • address_line3: Third address line of the SiteProfile.
  • address_line4: Fourth address line of the SiteProfile.
  • postcode: Postal code of the SiteProfile.
  • city: City of the SiteProfile.
  • country: Country of the SiteProfile.
  • administrative_level1: Administrative division (First level).
  • administrative_level2: Administrative division (Second level).
  • administrative_level3: Administrative division (Third level).
  • administrative_level4: Administrative division (Fourth level).
  • latitude: Latitude (decimal coordinates).
  • longitude: Longitude (decimal coordinates).
  • notes: Textual notes for the SiteProfile.
  • create_date: Timestamp when the SiteProfile was created (set automatically).
  • edit_date: Timestamp, when the SiteProfile was last modified (set automatically).
  • workflowlevel2_uuid: UUID of the related WorkflowLevel2.

Endpoints

  • GET /siteprofiles/: Retrieves a list of SiteProfiles.
  • POST /siteprofiles/: Creates a new SiteProfile.
  • GET /siteprofiles/{uuid}/: Retrieves a SiteProfile by its UUID.
  • PUT /siteprofiles/{uuid}/: Updates the SiteProfile with the given UUID (all fields).
  • PATCH /siteprofiles/{uuid}/: Updates the SiteProfile with the given UUID (only specified fields).
  • DELETE /siteprofiles/{uuid}/: Deletes the SiteProfile with the given UUID.

ProfileType

A ProfileType helps grouping SiteProfiles together. It has the following properties:

  • name: Name of the ProfileType.
  • organization_uuid: ID of the organization that has access to the ProfileType.
  • create_date: Timestamp when the SiteProfile was created (automatically set).
  • edit_date: Timestamp when the SiteProfile was last modified (automatically set).

Endpoints

  • GET /profiletypes/: Retrieves a list of ProfileTypes.
  • POST /profiletypes/: Creates a new ProfileType.
  • GET /profiletypes/{id}/: Retrieves a ProfileType by its ID.
  • PUT /profiletypes/{id}/: Updates the ProfileType with the given ID (all fields).
  • PATCH /profiletypes/{id}/: Updates the ProfileType with the given ID (only specified fields).
  • DELETE /profiletypes/{id}/: Deletes the ProfileType with the given ID.

Click here for the full API documentation.

Local development

Prerequisites

You must have Docker installed.

Build & run service locally

Build the Docker image:

docker-compose build

Run a web server with this service:

docker-compose up

Now, open your browser and go to http://localhost:8080.

For the admin panel, go to http://localhost:8080/admin (user: admin, password: admin).

The local API documentation can be consulted in http://localhost:8080/docs.

Run tests

To run the tests once:

docker-compose run --rm --entrypoint 'bash scripts/run-tests.sh' location_service

To run the tests and leave bash open inside the container so that it's possible to re-run the tests faster again using bash scripts/run-tests.sh [--keepdb]:

docker-compose run --rm --entrypoint 'bash scripts/run-tests.sh --bash-on-finish' location_service

To run bash:

docker-compose run --rm --entrypoint 'bash' location_service

If you would like to clean the database and start the application, do:

docker-compose up --renew-anon-volumes --force-recreate --build

API documentation (Swagger)

Click here to go to the full API documentation.

License

Copyright ©2019 Humanitec GmbH.

This code is released under the Humanitec Affero GPL.

Martial Art logic module
6.1.5
May 14, 2019
Add
Current version
39
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Your martial art assistant 2.0

Objective

The objective is assisting martial arts practitioners on the life-long pursuit of their chosen martial art.

Idea

The idea is pretty simple : giving them an application that assist them into daily practice out of the dojo.

What kind of assistance?

There are numerous things you will be able to do with the app :

  • Practice kicks, punches, combos and such depending on your desire to fully practice (or practice only one specific part of your skills),
  • Practice specific combos (or katas 型),
  • Get instructions and advices (written or video instructions),
  • Improve your physical condition through workouts (designed to meet your martial art needs),
  • Learn martial arts principles (such as the Shōtōkan Nijū kun 松濤館二十訓),
  • Have your own profil and share with your friends from the dojo, etc.

Will be initially supported

  • 🇯🇵 Shōtōkan Karate 松濤館
  • 🇯🇵 Shitō-ryū Karate 糸東流

Could also be supported (help will be needed)

  • 🇰🇷 Taekwondo 태권도
  • 🇨🇳 Fujian White Crane 白鶴拳
  • 🇰🇷 Hapkido 합기도

Contributing

At the moment, this app is more of an idea than a real application and it will require a lot of time and efforts to be fully developed so any help is welcome. Feel free to contribute and contact us.

Progress

  • ✓ Entity model created
  • → Creating first interfaces

Neural Network
0.1.1
Add
Current version
4
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Neural Network is a deep learning framework that is intended to be used for research, development and production. We aim to have it running everywhere: desktop PCs, HPC clusters, embedded devices and production servers.

  • Neural Network  - CUDA extension: An extension library of Neural Network Libraries that allows users to speed-up the computation on CUDA-capable GPUs.
  • Neural Network  - Examples: Working examples of Neural Network Libraries from basic to state-of-the-art.
  • Neural Network  - C Runtime: Runtime library for inference Neural Network created by Neural Network Libraries.
  • Neural Network Console: A Windows GUI app for neural network development.

Installation

Installing Neural Network  is easy:

pip install nnabla

This installs the CPU version of Neural Network. GPU-acceleration can be added by installing the CUDA extension with pip install nnabla-ext-cuda.

For more details, see the installation section of the documentation.

Building from Source

See Build Manuals.

Running on Docker

For details on running on Docker, see the installation section of the documentation.

Features

Easy, flexible and expressive

The Python API built on the Neural Network  C++11 core gives you flexibility and productivity. For example, a two layer neural network with classification loss can be defined in the following 5 lines of codes (hyper parameters are enclosed by <>).

import nnabla as nn
import nnabla.functions as F
import nnabla.parametric_functions as PF

x = nn.Variable(<input_shape>)
t = nn.Variable(<target_shape>)
h = F.tanh(PF.affine(x, <hidden_size>, name='affine1'))
y = PF.affine(h, <target_size>, name='affine2')
loss = F.mean(F.softmax_cross_entropy(y, t))

Training can be done by:

import nnabla.solvers as S

# Create a solver (parameter updater)
solver = S.Adam(<solver_params>)
solver.set_parameters(nn.get_parameters())

# Training iteration
for n in range(<num_training_iterations>):
   # Setting data from any data source
   x.d = <set data>
   t.d = <set label>
   # Initialize gradients
   solver.zero_grad()
   # Forward and backward execution
   loss.forward()
   loss.backward()
   # Update parameters by computed gradients
   solver.update()

The dynamic computation graph enables flexible runtime network construction. Neural Network  can use both paradigms of static and dynamic graphs, both using the same API.

x.d = <set data>
t.d = <set label>
drop_depth = np.random.rand(<num_stochastic_layers>) < <layer_drop_ratio>
with nn.auto_forward():
   h = F.relu(PF.convolution(x, <hidden_size>, (3, 3), pad=(1, 1), name='conv0'))
   for i in range(<num_stochastic_layers>):
       if drop_depth[i]:
           continue  # Stochastically drop a layer
       h2 = F.relu(PF.convolution(x, <hidden_size>, (3, 3), pad=(1, 1),
                                  name='conv%d' % (i + 1)))
       h = F.add2(h, h2)
   y = PF.affine(h, <target_size>, name='classification')
   loss = F.mean(F.softmax_cross_entropy(y, t))
# Backward computation (can also be done in dynamically executed graph)
loss.backward()

Command line utility

Neural Network provides a command line utility nnabla_cli for easier use of NN.

nnabla_cli provides following functionality.

  • Training, Evaluation or Inference with NNP file.
  • Dataset and Parameter manipulation.
  • File format converter
  • From ONNX to NNP and NNP to ONNX.
  • From ONNX or NNP to NNB or C source code.

For more details see Documentation

Portable and multi-platform

  • Python API can be used on Linux and Windows
  • Most of the library code is written in C++11, deployable to embedded devices

Extensible

  • Easy to add new modules like neural network operators and optimizers
  • The library allows developers to add specialized implementations (e.g., for FPGA, ...). For example, we provide CUDA backend as an extension, which gives speed-up by GPU accelerated computation.

Efficient

  • High speed on a single CUDA GPU
  • Memory optimization engine
  • Multiple GPU support

Documentation

https://nnabla.readthedocs.org

Getting started

  • A number of Jupyter notebook tutorials can be found in the tutorial folder. We recommend starting from by_examples.ipynb for a first working example in Neural Network and python_api.ipynb for an introduction into the Neural Network Libraries API.
  • We also provide some more sophisticated examples at nnabla-examples repository.
  • C++ API examples are available in examples/cpp.

Contribution guide

The technology is rapidly progressing, and researchers and developers often want to add their custom features to a deep learning framework. NNabla is really nice in this point. The architecture of Neural Network  is clean and quite simple. Also, you can add new features very easy by the help of our code template generating system. See the following link for details.

  • Contribution guide

Newsletter Module
1.0.0
Jun 5, 2019
Add
Current version
12
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Newsletter  is a self hosted newsletter application built on Node.js (v7+) and C++

Features

  • Subscriber list management
  • List segmentation
  • Custom fields
  • Email templates
  • Large CSV list import files

Hardware Requirements

  • 1 vCPU
  • 1024 MB RAM

Quick Start - Deploy with Docker

Requirements:

Steps:

Depending on how you have configured your system and Docker you may need to prepend the commands below with sudo.

  • Download Newsletter files using git: git clone git://github.com/newsletter-org/newsletter.git (or download zipped repo) and open Newsletter folder cd nl
  • Copy the file docker-compose.override.yml.tmpl to docker-compose.override.yml and modify it if you need to.
  • Bring up the stack with: docker-compose up -d
  • Start: docker-compose start
  • Open http://localhost:3000/ (change the host name localhost to the name of the host where you are deploying the system).
  • Authenticate as user admin with password test
  • Navigate to http://localhost:3000/settings and update service configuration.
  • Navigate to http://localhost:3000/users/account and update user information and password.

Quick Start - Manual Install (any OS that supports Node.js)

Requirements:

  • Newletter requires at least Node.js v7. If you want to use an older version of Node.js then you should use version v1.24 of Newsletter. You can either download it here or if using git then run git checkout v1.24.0 before starting it
  1. Download Newsletter files using git: git clone git://github.com/Newlsetter-org/newsletter.git (or download zipped repo) and open newsletter folder cd nl
  2. Run npm install --production in the Newsletter folder to install required dependencies
  3. Copy config/default.toml as config/production.toml and update MySQL and any other settings in it
  4. Run the server NODE_ENV=production npm start
  5. Open http://localhost:3000/
  6. Authenticate as admin:test
  7. Navigate to http://localhost:3000/settings and update service configuration
  8. Navigate to http://localhost:3000/users/account and update user information and password

Read The Docs

For more information, please read the docs.

License

  • Versions 1.22.0 and up GPL-V3.0
  • Versions 1.21.0 and up: EUPL-1.1
  • Versions 1.19.0 and up: MIT
  • Up to versions 1.18.0 GPL-V3.0

Notification integrations
22.0.0
May 22, 2019
Add
Current version
0
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Requirements

This app officially supports IRC and Slack but the team plans to support Slack Enterprise Grid in the future.

Installation

Install the GitHub integration for Slack. After you've signed in to your Slack workspace, you will be prompted to give the app access.

After the app is installed, and once you've added the GitHub integration to the relevant channels using /invite @github, you will see previews of links to GitHub issues, pull requests, and code rendered as rich text in your workspace. Follow this link for detailed guide.

Configuration

You can customize your notifications by subscribing to activity that is relevant to your Slack channel, and unsubscribing from activity that is less helpful to your project.

Settings are configured with the /github slash command:

/github subscribe owner/repo [feature]
/github unsubscribe owner/repo [feature]

These are enabled by default, and can be disabled with the /github unsubscribe owner/repo [feature] command:

  • issues - Opened or closed issues
  • pulls - New or merged pull requests
  • statuses - Statuses on pull requests
  • commits - New commits on the default branch (usually master)
  • deployments - Updated status on deployments
  • public - A repository switching from private to public
  • releases - Published releases

These are disabled by default, and can be enabled with the /github subscribe owner/repo [feature] command:

  • reviews - Pull request reviews
  • comments - New comments on issues and pull requests
  • branches - Created or deleted branches
  • commits:all - All commits pushed to any branch

You can subscribe or unsubscribe from multiple settings at once. For example, to turn on activity for pull request reviews and comments:

/github subscribe owner/repo reviews comments

And to turn it back off:

/github unsubscribe owner/repo reviews comments

Migrating from the legacy GitHub integration for Slack

When you install the new GitHub integration for Slack in your Slack workspace, you'll be prompted to move over all of your existing subscriptions - so getting set up again is easy. As you enable individual subscriptions in the new app, your settings will be automatically migrated and subscriptions in the legacy app will be disabled.

Questions? Need help?

Please fill out GitHub's Support form and your request will be routed to the right team at GitHub.

Contributing

Want to help improve the integration between GitHub and Slack? Check out the contributing docs to get involved.

License

The project is available as open source under the terms of the MIT License.

When using the GitHub logos, be sure to follow the GitHub logo guidelines.

Party Bulb Controller
0.0.6
May 22, 2019
Add
Current version
1
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Control your Smart Bluetooth Bulb through the Web!

Read about this project in my blog post:

  • Start Building with Web Bluetooth and Progressive Web Apps
  • Reverse Engineering a Bluetooth Lightbulb

This project uses Web Bluetooth which is currently only available on Chrome for Android 6+, Mac OS X, Chrome OS (and also Linux, but behind a flag).

➡ Online Demo

➡ Improved version by Geraldo

Pirate Module
21.0.0
May 22, 2019
Add
Current version
1
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

A Python module for translating from english to pirate, built for teaching Python.

Installation

$ npm install --save pirate-speak

Usage

var pirateSpeak = require('pirate-speak');

var english = 'Cash rules everything around me C.R.E.A.M. get the money';
var pirate = pirateSpeak.translate(english);
//  -> Coin rules everything around me C.R.E.A.M. get thar doubloons

var pirateSpeak = require('pirate-speak');

var english = 'Mama always said life was like a box of chocolates. You never know what you\'re gonna get.';
var pirate = pirateSpeak.translate(english);
//  -> Mama always said life be like a barrel o' chocolates. Ye nary know what you're gonna get.

Example Translations

As he came into thar window
It be thar sound o' a crescendo
He came into her apartment
He port thar bloodstains on thar carpet
She ran underneath thar table
He could see she be unable
So she ran into thar bedroom
She be struck down, it be her doom

Annie, be ye ok?
So, Annie be ye ok
Be ye ok, Annie
Annie, be ye ok?
So, Annie be ye ok
Be ye ok, Annie

--- Captain Jackson
If me be yer boyfriend, I'd nary let ye sail
me can take ye places ye ain't nary been afore
Baby, take a chance or you'll nary ever know
me got doubloons in me hands that I'd verily like t' blow
Swag, swag, swag, on ye
Chillin' by thar fire while our jolly crew eatin' fondue
me don't know about me but me know about ye
So cry ahoy t' falsetto in three, two, swag

--- First Mate Kostulski

Part of the teaching exercise involved building a backend pirate API and then interacting with it from a frontend. A live version of the heroku app is available here.

License

You can check out the full license here

This project is licensed under the terms of the MIT license.

Runner
0.3.1
Apr 2, 2019
Add
Current version
3
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Service for handling authentication, data mesh, and module communication.

Development

Build the image:

$ docker-compose -f docker-compose-dev.yml build

Run the web server:

$ docker-compose -f docker-compose-dev.yml up

Open your browser with URL http://localhost:8080. For the admin panel http://localhost:8080/admin (user: admin, password: admin).

SMS
1.2.34
May 22, 2019
Add
Current version
11
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

This is an implementation of an SMS Messages app that you can use with a Twilio number.

Warning

This is a work in progress as there are plenty of features to add. Currently the application does the following:

  • Lists messages sent to your Twilio number (inbox)
  • Lists messages sent from your Twilio number (outbox)
  • Conversation view of messages between your Twilio number and another number
  • Reply to a conversation
  • Create a new message to a new recipient

Getting started

Clone the repository and install dependencies:

$ git clone https://github.com/philnash/sms-app.git
$ cd sms-messages-app
$ npm install

Copy .env.example to .env and fill in the your Twilio account credentials and the Twilio number you want to use. You can find your Account SID and Auth Token in your Twilio account portal.

$ cp .env.example .env

Then start the application:

$ npm start

Navigate to http://localhost:3000 and you will see the application.

Shopping Cart
1.0.0
May 21, 2019
Add
Current version
4
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

This simple shopping cart prototype shows how React components and Redux can be used to build a friendly user experience with instant visual updates and scaleable code in ecommerce applications.

Features

  • Add and remove products from the floating cart
  • Sort products by highest to lowest and lowest to highest price
  • Filter products by available sizes
  • Products persist in floating cart after page reloads
  • Unit tests, integration tests and e2e testing
  • Responsive design

Getting started

Try playing with the code on Sandbox :)

Build/Run

Requirements

  • Node.js
  • NPM

/* First, Install the needed packages */
npm install

/* Then start both Node and React */
npm start

/* To run the tests */
npm run test

/* Running e2e tests */
npm run wdio

About tests

  • Unit tests
  • All components have at least a basic smoke test
  • Integration tests
  • Fetch product and add to cart properly
  • e2e
  • Webdriverio - Add and remove product from cart

Copyright and license

The MIT License (MIT). Please see License File for more information.

Splunk - Data Import Module
1.2.0
May 22, 2019
Add
Current version
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

The Splunk app enables data analysts and IT administrators to import the data they need to get their organization more productive and finally makes Office 365 data available to Splunk

Pre-requisites

  • Splunk 6.x Enterprise
  • Windows 7 and later, and Windows Server 2008 and later

Note: Tested with Splunk Enterprise 6.0, 6.1 and 6.2

Dependencies

  • Splunk Modular Input SDK for .Net
  • Office 365 reporting web service client library

Known limitations

  • Currently, the 'StreamEvents' method will be called once when Splunk run the executable, which means that it does not yet continuously pull data from Office 365 reporting web service. Some extra logic should be implemented to handle this. We have fixed this in 1.1 beta!
  • We have not yet created all the report proxy classes, which means that you may not be able to fetch data from some of your tenant's subscription.
  • We save a ".progress" file in the bin folder of the application in order to track the timestamp the last fetch occurred. The current issue is that the progress is identified with the Splunk stream name, which means that if you created a stream with name, say "MailboxUsageDetail1", fetched data and then deleted that stream, the progress file is NOT currently deleted, so if you create a new stream with the same name, "MailboxUsageDetail1", the software will pick up the progress file from the previous file!!!
  • If you create a data stream with an "End Date", the software will keep running forever even if it does not fetch data anymore. To save resources on your Splunk server, you should consider disabling a stream that has finished fetching data.

Building and deploying at dev box

The project file has build events that pushes the projects file to a %SPLUNK_HOME% location, which you will need to create in your system environment variables

Feedback

  • StackOverflow
  • Create a tagged StackOverflow question
  • Yammer IT Pro Network group

Task List
0.5.5
May 22, 2019
Add
Current version
9
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Task list is a simple web application to save your daily tasks in order not to miss anything.

Features

  • Pick a date from callendar
  • Add new task
  • Mark task as completed / uncompleted
  • Set task priority
  • Edit task
  • Delete single task
  • Delete completed tasks
  • Delete all tasks

Technologies used:

  • HTML
  • CSS
  • Django

App demo

https://januszch.github.io/Task-List/

Unhappy Face Remover
16.2
May 22, 2019
Add
Current version
22
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

You can transform your face using AI with Unhappy Face Remover (UFR)

UFR is an Android and iOS application.

This module is an unofficial wrapper to the AI system.

When I wrote this module I looked at https://github.com/t3hk0d3/ruby_ufr(thx)

How to install:

```git clone git@github.com:veetaw/UFR-py.git ufr```
```cd ufr && python setup.py install```

How to use:

watch example/test.py

Video streaming
3.1.5
May 16, 2019
Add
Current version
69
Contributors
The module is deployment ready
The module is not ready for deployment

Following issues are found:
1. Docker container is not set
2. Dent in the universe is not patched
3. Donald Trump is still USA president

Playback VOD

This is an example of Video On Demand (VOD) playback.

How to Playback

Be sure to have previously recorded a broadcast using the Publish Record Example.

  1. Enter in a filename - including the extension - of a previously recorded broadcast.
  2. Click playback file.

The playback format - either Flash or HLS - will be determined based on the extension with the following rules:

ExtensionFormatflvFlash/RTMPmp4Flash/RTMPm3u8HLS

Specifying a file as playback in a Subscriber

Playing back a VOD file using the Red5 Pro Subscriber is similar to streaming a live video. Some configuration attributes will be different depending on the playback target.

Flash/RTMP

To playback a VOD in the RTMP-based Subscriber:

  • Set the streamName in the configuration to the filename, with the extension.

With a configuration provided for the RTMP Subscriber:

{
 protocol: 'rtmp',
 host: 'localhost',
 port: 1935,
 app: 'live',
 streamName: 'thefiletoplay.flv'
}

The Playback engine will connect to the server at rtmp://localhost:1935/ and attempt to play back the thefiletoplay.flv file located in <red5proserver>/webapps/live/streams.

HLS

To playback a VOD in the HLS-based Subscriber:

  • Set the streamName in the configuration to the filename, without the extension.
  • Set the port in the configuration to that of the one the server is served on.

With a configuration provided for the HLS Subscriber:

{
 protocol: 'http',
 host: 'localhost',
 port: 5080,
 app: 'live',
 streamName: 'thefiletoplay'
}

The Playback engine will connect to the server at http://localhost:5080/ and attempt to play back the thefiletoplay.m3u8 file located in <red5proserver>/webapps/live/streams.

or
Environments
Environment hosting provider
Pre-configured Humanitec cluster
Change

Change Testing environment hosting cluster

Explanation text in couple of sentences on what will happen when the cluster is changed.
Default
Pre-configured Google Cloud Platform
Current
AccountMemorableName for AWS
ClusterMemorableName 1
Select
ClusterMemorableName two
Select
Cluster Easy to remember name
Unauthorized
Authorize
GoogleCloudPlatform Memorable Name
GCP Cluster MemorableName
Select
Cluster Name for GCP
Select
Authorize hosting providers
Deployments