Giter Club home page Giter Club logo

updoc's Introduction

Updoc

What's UpDoc?

A self hosted readthedocs.io-like documentation repository and hosting service. The problem that this attempts to solve is that there aren't many easy to use solutions to store and host simple static html. There are numerous tools out there like Sphinx (for Python and many other languages), pkgdown and pkgnet (for R), and SchemaSpy (for databases) that generate beautiful html documentation. This allows users to host that documentation in a central location and easily categorize and share it.

Quick Start

  1. Build the docker image
git clone https://github.com/uptake/updoc
cd updoc
docker build -t updoc .
  1. Run the docker image
docker run --name doc --rm -d -p 8080:80 updoc

3: Visit in your browser

# On Mac
open http://localhost:8080

You're all set!

Features

  • Ready: Supports AWS S3 and file system storage out of the box.
  • Extensible: We made it really easy to support other storage backends.
  • Web UI: Allows you to easily search through and view hosted static html.

Usage

Posting documentation tarballs to docserver

The way in which a folder is tar'd for distribution on docserver is important. In order for the application to correctly understand which category your documentation belongs to and the name of your documentation, the naming of your tarball must follow the following format: <CATEGORY>_<DOCNAME>.tar.gz. When extracted, the tarball must expand into a single folder named <DOCNAME>, containing at minimum a <DOCNAME>/index.html.

You can host static html with docserver using a POST request:

# bash
tarball=<PATH-TO-TARBALL>
curl -X POST -F file=@$tarball http://localhost:8080

If all goes well, you should receive the this message:

Document: <DOCNAME> was correctly uploaded, stored, and extracted.

Configuration

Documentation storage: By default, docserver uses file system storage, but in a production environment in most cases S3 or another object store is desirable. docserver supports AWS S3 out of the box. The recommended way to set configuration options is using a .env file:

# .env
STORAGE_BACKEND=s3
AWS_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY_ID_HERE>
AWS_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_ACCESS_KEY_HERE>
AWS_DEFAULT_REGION=<YOUR_PREFERED_REGION_HERE>
AWS_DEFAULT_BUCKET=<YOUR_PREFERRED_DEFAULT_BUCKET_HERE>
AWS_BUCKET_FOLDER_PATH=<YOUR_PATH_TO_S3_FOLDER_IN_BUCKET>

The environment file can then be sourced when running from docker:

docker run --name doc --rm -d -p 8080:80 --env-file=.env updoc

That's all folks! If you find this project helpful, please consider giving us a star. If you have any comments or questions, please feel free to raise an issue. Contributions are greatly appreciated!

updoc's People

Contributors

bburns632 avatar haoen-cui avatar kszela24 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

alistaire47

updoc's Issues

botocore in Package Requirements Conflicts with Latest docutils Version (0.16b0.dev0)

I tried to build the docker image today using the following command from README

docker build -t updoc .

and got an error

Installed /opt/conda/lib/python3.7/site-packages/jmespath-0.9.4-py3.7.egg
 merror: docutils 0.16b0.dev0 is installed but docutils<0.16,>=0.10 is required by {'botocore'}

I think the problem is some dependencies here automatically installs the latest version of docutils (0.16b0.dev0)

updoc/setup.py

Lines 26 to 36 in 300fa1b

'boto3',
'botocore',
'flask',
'gunicorn',
'redis',
'sphinx',
'sphinxcontrib-napoleon',
'sphinx-rtd-theme',
'sphinxcontrib-programoutput',
'sphinxcontrib-websupport',
'pillow'

which conflicts with the requirements of botocore. An easy fix is to add

RUN conda install docutils=0.15.2

right before

RUN python setup.py install

Here is the complete log

Sending build context to Docker daemon  180.2kB

Step 1/10 : FROM continuumio/miniconda3
 ---> 406f2b43ea59
Step 2/10 : RUN apt-get update -y
 ---> Using cache
 ---> 4a3985202122
Step 3/10 : RUN apt-get -y install redis-server
 ---> Using cache
 ---> aa4b1851863b
Step 4/10 : RUN mkdir -p "/opt/docs/src/contrib/"
 ---> Using cache
 ---> 15b3f8e6cfc7
Step 5/10 : COPY . /opt/updoc/
 ---> Using cache
 ---> 7fa598d6d54d
Step 6/10 : WORKDIR /opt/updoc
 ---> Using cache
 ---> 10400a8d9454
Step 7/10 : RUN python setup.py install
 ---> Running in 7986c67ff7f3
running install
running bdist_egg
running egg_info
creating docserver.egg-info
writing docserver.egg-info/PKG-INFO
writing dependency_links to docserver.egg-info/dependency_links.txt
writing requirements to docserver.egg-info/requires.txt
writing top-level names to docserver.egg-info/top_level.txt
writing manifest file 'docserver.egg-info/SOURCES.txt'
reading manifest file 'docserver.egg-info/SOURCES.txt'
writing manifest file 'docserver.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/docserver
copying docserver/__init__.py -> build/lib/docserver
copying docserver/__version__.py -> build/lib/docserver
copying docserver/server.py -> build/lib/docserver
creating build/lib/docserver/utils
copying docserver/utils/__init__.py -> build/lib/docserver/utils
copying docserver/utils/_logging.py -> build/lib/docserver/utils
creating build/lib/docserver/storage
copying docserver/storage/_s3.py -> build/lib/docserver/storage
copying docserver/storage/__init__.py -> build/lib/docserver/storage
copying docserver/storage/_base.py -> build/lib/docserver/storage
copying docserver/storage/_local.py -> build/lib/docserver/storage
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/docserver
copying build/lib/docserver/__init__.py -> build/bdist.linux-x86_64/egg/docserver
creating build/bdist.linux-x86_64/egg/docserver/utils
copying build/lib/docserver/utils/__init__.py -> build/bdist.linux-x86_64/egg/docserver/utils
copying build/lib/docserver/utils/_logging.py -> build/bdist.linux-x86_64/egg/docserver/utils
creating build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/_s3.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/__init__.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/_base.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/_local.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/__version__.py -> build/bdist.linux-x86_64/egg/docserver
copying build/lib/docserver/server.py -> build/bdist.linux-x86_64/egg/docserver
byte-compiling build/bdist.linux-x86_64/egg/docserver/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/utils/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/utils/_logging.py to _logging.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/_s3.py to _s3.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/_base.py to _base.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/_local.py to _local.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/__version__.py to __version__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/server.py to server.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating dist
creating 'dist/docserver-1.0.0-py3.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing docserver-1.0.0-py3.7.egg
creating /opt/conda/lib/python3.7/site-packages/docserver-1.0.0-py3.7.egg
Extracting docserver-1.0.0-py3.7.egg to /opt/conda/lib/python3.7/site-packages
Adding docserver 1.0.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/docserver-1.0.0-py3.7.egg
Processing dependencies for docserver==1.0.0
Searching for pillow
Reading https://pypi.org/simple/pillow/
Downloading https://files.pythonhosted.org/packages/89/3e/31c2e5385d7588016c6f7ac552e81c3fff2bef4bc61b6f82f8177752405c/Pillow-6.2.1-cp37-cp37m-manylinux1_x86_64.whl#sha256=0f66dc6c8a3cc319561a633b6aa82c44107f12594643efa37210d8c924fc1c71
Best match: Pillow 6.2.1
Processing Pillow-6.2.1-cp37-cp37m-manylinux1_x86_64.whl
Installing Pillow-6.2.1-cp37-cp37m-manylinux1_x86_64.whl to /opt/conda/lib/python3.7/site-packages
Adding Pillow 6.2.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Pillow-6.2.1-py3.7-linux-x86_64.egg
Searching for sphinxcontrib-websupport
Reading https://pypi.org/simple/sphinxcontrib-websupport/
Downloading https://files.pythonhosted.org/packages/2a/59/d64bda9b7480a84a3569be4dde267c0f6675b255ba63b4c8e84469940457/sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl#sha256=e02f717baf02d0b6c3dd62cf81232ffca4c9d5c331e03766982e3ff9f1d2bc3f
Best match: sphinxcontrib-websupport 1.1.2
Processing sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl
Installing sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_websupport-1.1.2-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-websupport 1.1.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_websupport-1.1.2-py3.7.egg
Searching for sphinxcontrib-programoutput
Reading https://pypi.org/simple/sphinxcontrib-programoutput/
Downloading https://files.pythonhosted.org/packages/34/22/c14806fa02f3a5dd9ebe21fcbd378555a7f0462689895c3fe4d61b9d1e1c/sphinxcontrib_programoutput-0.15-py2.py3-none-any.whl#sha256=8a15af67546c35404a02e0ad13c0a9ded0d587393fca5fa637a467bfee1222f0
Best match: sphinxcontrib-programoutput 0.15
Processing sphinxcontrib_programoutput-0.15-py2.py3-none-any.whl
Installing sphinxcontrib_programoutput-0.15-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_programoutput-0.15-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-programoutput 0.15 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_programoutput-0.15-py3.7.egg
Searching for sphinx-rtd-theme
Reading https://pypi.org/simple/sphinx-rtd-theme/
Downloading https://files.pythonhosted.org/packages/60/b4/4df37087a1d36755e3a3bfd2a30263f358d2dea21938240fa02313d45f51/sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl#sha256=00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4
Best match: sphinx-rtd-theme 0.4.3
Processing sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl
Installing sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinx_rtd_theme-0.4.3-py3.7.egg/EGG-INFO/requires.txt
Adding sphinx-rtd-theme 0.4.3 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinx_rtd_theme-0.4.3-py3.7.egg
Searching for sphinxcontrib-napoleon
Reading https://pypi.org/simple/sphinxcontrib-napoleon/
Downloading https://files.pythonhosted.org/packages/75/f2/6b7627dfe7b4e418e295e254bb15c3a6455f11f8c0ad0d43113f678049c3/sphinxcontrib_napoleon-0.7-py2.py3-none-any.whl#sha256=711e41a3974bdf110a484aec4c1a556799eb0b3f3b897521a018ad7e2db13fef
Best match: sphinxcontrib-napoleon 0.7
Processing sphinxcontrib_napoleon-0.7-py2.py3-none-any.whl
Installing sphinxcontrib_napoleon-0.7-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_napoleon-0.7-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-napoleon 0.7 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_napoleon-0.7-py3.7.egg
Searching for sphinx
Reading https://pypi.org/simple/sphinx/
Downloading https://files.pythonhosted.org/packages/9e/f2/32b59bbca9292b9e1629041bac9bcbc028c321fa96f941a695eee7ed7211/Sphinx-2.3.0-py3-none-any.whl#sha256=138e39aa10f28d52aa5759fc6d1cba2be6a4b750010974047fa7d0e31addcf63
Best match: Sphinx 2.3.0
Processing Sphinx-2.3.0-py3-none-any.whl
Installing Sphinx-2.3.0-py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Sphinx-2.3.0-py3.7.egg/EGG-INFO/requires.txt
Adding Sphinx 2.3.0 to easy-install.pth file
Installing sphinx-apidoc script to /opt/conda/bin
Installing sphinx-autogen script to /opt/conda/bin
Installing sphinx-build script to /opt/conda/bin
Installing sphinx-quickstart script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Sphinx-2.3.0-py3.7.egg
Searching for redis
Reading https://pypi.org/simple/redis/
Downloading https://files.pythonhosted.org/packages/32/ae/28613a62eea0d53d3db3147f8715f90da07667e99baeedf1010eb400f8c0/redis-3.3.11-py2.py3-none-any.whl#sha256=3613daad9ce5951e426f460deddd5caf469e08a3af633e9578fc77d362becf62
Best match: redis 3.3.11
Processing redis-3.3.11-py2.py3-none-any.whl
Installing redis-3.3.11-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/redis-3.3.11-py3.7.egg/EGG-INFO/requires.txt
Adding redis 3.3.11 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/redis-3.3.11-py3.7.egg
Searching for gunicorn
Reading https://pypi.org/simple/gunicorn/
Downloading https://files.pythonhosted.org/packages/69/ca/926f7cd3a2014b16870086b2d0fdc84a9e49473c68a8dff8b57f7c156f43/gunicorn-20.0.4-py2.py3-none-any.whl#sha256=cd4a810dd51bf497552cf3f863b575dabd73d6ad6a91075b65936b151cbf4f9c
Best match: gunicorn 20.0.4
Processing gunicorn-20.0.4-py2.py3-none-any.whl
Installing gunicorn-20.0.4-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/gunicorn-20.0.4-py3.7.egg/EGG-INFO/requires.txt
Adding gunicorn 20.0.4 to easy-install.pth file
Installing gunicorn script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/gunicorn-20.0.4-py3.7.egg
Searching for flask
Reading https://pypi.org/simple/flask/
Downloading https://files.pythonhosted.org/packages/9b/93/628509b8d5dc749656a9641f4caf13540e2cdec85276964ff8f43bbb1d3b/Flask-1.1.1-py2.py3-none-any.whl#sha256=45eb5a6fd193d6cf7e0cf5d8a5b31f83d5faae0293695626f539a823e93b13f6
Best match: Flask 1.1.1
Processing Flask-1.1.1-py2.py3-none-any.whl
Installing Flask-1.1.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Flask-1.1.1-py3.7.egg/EGG-INFO/requires.txt
Adding Flask 1.1.1 to easy-install.pth file
Installing flask script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Flask-1.1.1-py3.7.egg
Searching for botocore
Reading https://pypi.org/simple/botocore/
Downloading https://files.pythonhosted.org/packages/49/f3/4280c60c707bbcab43e5d91fd74c1573455b68f483c3e2221eee18cc1a85/botocore-1.13.42-py2.py3-none-any.whl#sha256=f5e799a5d1f2f3d7d962e8a91c2cf637487a48fd153ab75537fddb7013b671ce
Best match: botocore 1.13.42
Processing botocore-1.13.42-py2.py3-none-any.whl
Installing botocore-1.13.42-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/botocore-1.13.42-py3.7.egg/EGG-INFO/requires.txt
Adding botocore 1.13.42 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/botocore-1.13.42-py3.7.egg
Searching for boto3
Reading https://pypi.org/simple/boto3/
Downloading https://files.pythonhosted.org/packages/56/7c/4961f6a8756face3a8b021848829c9431a3d367ee1ec77e0d9ba611c65cf/boto3-1.10.42-py2.py3-none-any.whl#sha256=420a00c1835a0a890c853ad89cb0cebbe8f4a9d0af9333cc013690b836c44714
Best match: boto3 1.10.42
Processing boto3-1.10.42-py2.py3-none-any.whl
Installing boto3-1.10.42-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/boto3-1.10.42-py3.7.egg/EGG-INFO/requires.txt
Adding boto3 1.10.42 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/boto3-1.10.42-py3.7.egg
Searching for pockets>=0.3
Reading https://pypi.org/simple/pockets/
Downloading https://files.pythonhosted.org/packages/e9/2f/a4583c70fbd8cd04910e2884bcc2bdd670e884061f7b4d70bc13e632a993/pockets-0.9.1-py2.py3-none-any.whl#sha256=68597934193c08a08eb2bf6a1d85593f627c22f9b065cc727a4f03f669d96d86
Best match: pockets 0.9.1
Processing pockets-0.9.1-py2.py3-none-any.whl
Installing pockets-0.9.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/pockets-0.9.1-py3.7.egg/EGG-INFO/requires.txt
Adding pockets 0.9.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/pockets-0.9.1-py3.7.egg
Searching for sphinxcontrib-serializinghtml
Reading https://pypi.org/simple/sphinxcontrib-serializinghtml/
Downloading https://files.pythonhosted.org/packages/57/b3/3648e48fa5682e61e9839d62de4e23af1795ceb738d68d73bd974257a95c/sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl#sha256=db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768
Best match: sphinxcontrib-serializinghtml 1.1.3
Processing sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl
Installing sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_serializinghtml-1.1.3-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-serializinghtml 1.1.3 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_serializinghtml-1.1.3-py3.7.egg
Searching for sphinxcontrib-qthelp
Reading https://pypi.org/simple/sphinxcontrib-qthelp/
Downloading https://files.pythonhosted.org/packages/ce/5b/4747c3ba98b3a3e21a66faa183d8f79b9ded70e74212a7988d236a6eb78a/sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl#sha256=513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20
Best match: sphinxcontrib-qthelp 1.0.2
Processing sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl
Installing sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_qthelp-1.0.2-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-qthelp 1.0.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_qthelp-1.0.2-py3.7.egg
Searching for sphinxcontrib-jsmath
Reading https://pypi.org/simple/sphinxcontrib-jsmath/
Downloading https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl#sha256=2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178
Best match: sphinxcontrib-jsmath 1.0.1
Processing sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl
Installing sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_jsmath-1.0.1-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-jsmath 1.0.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_jsmath-1.0.1-py3.7.egg
Searching for sphinxcontrib-htmlhelp
Reading https://pypi.org/simple/sphinxcontrib-htmlhelp/
Downloading https://files.pythonhosted.org/packages/e4/35/80a67cc493f4a8a9634ab203a77aaa1b84d79ccb1c02eca72cb084d2c7f7/sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl#sha256=d4fd39a65a625c9df86d7fa8a2d9f3cd8299a3a4b15db63b50aac9e161d8eff7
Best match: sphinxcontrib-htmlhelp 1.0.2
Processing sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl
Installing sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_htmlhelp-1.0.2-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-htmlhelp 1.0.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_htmlhelp-1.0.2-py3.7.egg
Searching for sphinxcontrib-devhelp
Reading https://pypi.org/simple/sphinxcontrib-devhelp/
Downloading https://files.pythonhosted.org/packages/b0/a3/fea98741f0b2f2902fbf6c35c8e91b22cd0dd13387291e81d457f9a93066/sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl#sha256=9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981
Best match: sphinxcontrib-devhelp 1.0.1
Processing sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl
Installing sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_devhelp-1.0.1-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-devhelp 1.0.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_devhelp-1.0.1-py3.7.egg
Searching for sphinxcontrib-applehelp
Reading https://pypi.org/simple/sphinxcontrib-applehelp/
Downloading https://files.pythonhosted.org/packages/13/9a/4428b3114d654cb1cd34d90d5e6fab938d5436f94a571155187ea1dd78b4/sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl#sha256=fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d
Best match: sphinxcontrib-applehelp 1.0.1
Processing sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl
Installing sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_applehelp-1.0.1-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-applehelp 1.0.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_applehelp-1.0.1-py3.7.egg
Searching for snowballstemmer>=1.1
Reading https://pypi.org/simple/snowballstemmer/
Downloading https://files.pythonhosted.org/packages/7d/4b/cdf1113a0e88b641893b814e9c36f69a6fda28cd88b62c7f0d858cde3166/snowballstemmer-2.0.0-py2.py3-none-any.whl#sha256=209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0
Best match: snowballstemmer 2.0.0
Processing snowballstemmer-2.0.0-py2.py3-none-any.whl
Installing snowballstemmer-2.0.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding snowballstemmer 2.0.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/snowballstemmer-2.0.0-py3.7.egg
Searching for packaging
Reading https://pypi.org/simple/packaging/
Downloading https://files.pythonhosted.org/packages/cf/94/9672c2d4b126e74c4496c6b3c58a8b51d6419267be9e70660ba23374c875/packaging-19.2-py2.py3-none-any.whl#sha256=d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108
Best match: packaging 19.2
Processing packaging-19.2-py2.py3-none-any.whl
Installing packaging-19.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/packaging-19.2-py3.7.egg/EGG-INFO/requires.txt
Adding packaging 19.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/packaging-19.2-py3.7.egg
Searching for imagesize
Reading https://pypi.org/simple/imagesize/
Downloading https://files.pythonhosted.org/packages/fc/b6/aef66b4c52a6ad6ac18cf6ebc5731ed06d8c9ae4d3b2d9951f261150be67/imagesize-1.1.0-py2.py3-none-any.whl#sha256=3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8
Best match: imagesize 1.1.0
Processing imagesize-1.1.0-py2.py3-none-any.whl
Installing imagesize-1.1.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding imagesize 1.1.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/imagesize-1.1.0-py3.7.egg
Searching for docutils>=0.12
Reading https://pypi.org/simple/docutils/
Downloading https://files.pythonhosted.org/packages/74/40/0c46153ca7f9af1c0ccd001f9d774a831ef5f5ca687ce8fc1a83bc7e98d6/docutils-0.16b0.dev0-py2.py3-none-any.whl#sha256=f1bad547016f945f7b35b28d8bead307821822ca3f8d4f87a1bd2ad1a8faab51
Best match: docutils 0.16b0.dev0
Processing docutils-0.16b0.dev0-py2.py3-none-any.whl
Installing docutils-0.16b0.dev0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding docutils 0.16b0.dev0 to easy-install.pth file
Installing rst2pseudoxml.py script to /opt/conda/bin
Installing rst2latex.py script to /opt/conda/bin
Installing rst2xml.py script to /opt/conda/bin
Installing rst2odt.py script to /opt/conda/bin
Installing rst2s5.py script to /opt/conda/bin
Installing rst2html.py script to /opt/conda/bin
Installing rst2odt_prepstyles.py script to /opt/conda/bin
Installing rst2html4.py script to /opt/conda/bin
Installing rst2html5.py script to /opt/conda/bin
Installing rstpep2html.py script to /opt/conda/bin
Installing rst2man.py script to /opt/conda/bin
Installing rst2xetex.py script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/docutils-0.16b0.dev0-py3.7.egg
Searching for babel!=2.0,>=1.3
Reading https://pypi.org/simple/babel/
Downloading https://files.pythonhosted.org/packages/2c/60/f2af68eb046c5de5b1fe6dd4743bf42c074f7141fe7b2737d3061533b093/Babel-2.7.0-py2.py3-none-any.whl#sha256=af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab
Best match: Babel 2.7.0
Processing Babel-2.7.0-py2.py3-none-any.whl
Installing Babel-2.7.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Babel-2.7.0-py3.7.egg/EGG-INFO/requires.txt
Adding Babel 2.7.0 to easy-install.pth file
Installing pybabel script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Babel-2.7.0-py3.7.egg
Searching for alabaster<0.8,>=0.7
Reading https://pypi.org/simple/alabaster/
Downloading https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl#sha256=446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359
Best match: alabaster 0.7.12
Processing alabaster-0.7.12-py2.py3-none-any.whl
Installing alabaster-0.7.12-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding alabaster 0.7.12 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/alabaster-0.7.12-py3.7.egg
Searching for Pygments>=2.0
Reading https://pypi.org/simple/Pygments/
Downloading https://files.pythonhosted.org/packages/be/39/32da3184734730c0e4d3fa3b2b5872104668ad6dc1b5a73d8e477e5fe967/Pygments-2.5.2-py2.py3-none-any.whl#sha256=2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b
Best match: Pygments 2.5.2
Processing Pygments-2.5.2-py2.py3-none-any.whl
Installing Pygments-2.5.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding Pygments 2.5.2 to easy-install.pth file
Installing pygmentize script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Pygments-2.5.2-py3.7.egg
Searching for Jinja2>=2.3
Reading https://pypi.org/simple/Jinja2/
Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl#sha256=74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f
Best match: Jinja2 2.10.3
Processing Jinja2-2.10.3-py2.py3-none-any.whl
Installing Jinja2-2.10.3-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Jinja2-2.10.3-py3.7.egg/EGG-INFO/requires.txt
Adding Jinja2 2.10.3 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Jinja2-2.10.3-py3.7.egg
Searching for itsdangerous>=0.24
Reading https://pypi.org/simple/itsdangerous/
Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl#sha256=b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749
Best match: itsdangerous 1.1.0
Processing itsdangerous-1.1.0-py2.py3-none-any.whl
Installing itsdangerous-1.1.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding itsdangerous 1.1.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/itsdangerous-1.1.0-py3.7.egg
Searching for click>=5.1
Reading https://pypi.org/simple/click/
Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl#sha256=2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13
Best match: Click 7.0
Processing Click-7.0-py2.py3-none-any.whl
Installing Click-7.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding Click 7.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Click-7.0-py3.7.egg
Searching for Werkzeug>=0.15
Reading https://pypi.org/simple/Werkzeug/
Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl#sha256=e5f4a1f98b52b18a93da705a7458e55afb26f32bff83ff5d19189f92462d65c4
Best match: Werkzeug 0.16.0
Processing Werkzeug-0.16.0-py2.py3-none-any.whl
Installing Werkzeug-0.16.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Werkzeug-0.16.0-py3.7.egg/EGG-INFO/requires.txt
Adding Werkzeug 0.16.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Werkzeug-0.16.0-py3.7.egg
Searching for python-dateutil<2.8.1,>=2.1
Reading https://pypi.org/simple/python-dateutil/
Downloading https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whl#sha256=7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb
Best match: python-dateutil 2.8.0
Processing python_dateutil-2.8.0-py2.py3-none-any.whl
Installing python_dateutil-2.8.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/python_dateutil-2.8.0-py3.7.egg/EGG-INFO/requires.txt
Adding python-dateutil 2.8.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/python_dateutil-2.8.0-py3.7.egg
Searching for jmespath<1.0.0,>=0.7.1
Reading https://pypi.org/simple/jmespath/
Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl#sha256=3720a4b1bd659dd2eecad0666459b9788813e032b83e7ba58578e48254e0a0e6
Best match: jmespath 0.9.4
Processing jmespath-0.9.4-py2.py3-none-any.whl
Installing jmespath-0.9.4-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding jmespath 0.9.4 to easy-install.pth file
Installing jp.py script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/jmespath-0.9.4-py3.7.egg
 [91merror: docutils 0.16b0.dev0 is installed but docutils<0.16,>=0.10 is required by {'botocore'}
 [0m

Here is the log of building the image after the fix

Sending build context to Docker daemon  180.7kB

Step 1/11 : FROM continuumio/miniconda3
 ---> 406f2b43ea59
Step 2/11 : RUN apt-get update -y
 ---> Using cache
 ---> 4a3985202122
Step 3/11 : RUN apt-get -y install redis-server
 ---> Using cache
 ---> aa4b1851863b
Step 4/11 : RUN mkdir -p "/opt/docs/src/contrib/"
 ---> Using cache
 ---> 15b3f8e6cfc7
Step 5/11 : COPY . /opt/updoc/
 ---> 927a7674b481
Step 6/11 : WORKDIR /opt/updoc
 ---> Running in d140d128b7e3
Removing intermediate container d140d128b7e3
 ---> 6076f4fc9d75
Step 7/11 : RUN conda install docutils=0.15.2
 ---> Running in 6f8ebddc7f4e
Collecting package metadata (current_repodata.json): ...working... done
Solving environment: ...working... done

## Package Plan ##

  environment location: /opt/conda

  added / updated specs:
    - docutils=0.15.2


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2019.11.27 |                0         132 KB
    certifi-2019.11.28         |           py37_0         156 KB
    conda-4.8.0                |           py37_1         2.8 MB
    docutils-0.15.2            |           py37_0         660 KB
    openssl-1.1.1d             |       h7b6447c_3         3.7 MB
    ------------------------------------------------------------
                                           Total:         7.5 MB

The following NEW packages will be INSTALLED:

  docutils           pkgs/main/linux-64::docutils-0.15.2-py37_0

The following packages will be UPDATED:

  ca-certificates                               2019.8.28-0 --> 2019.11.27-0
  certifi                                  2019.9.11-py37_0 --> 2019.11.28-py37_0
  conda                                       4.7.12-py37_0 --> 4.8.0-py37_1
  openssl                                 1.1.1d-h7b6447c_2 --> 1.1.1d-h7b6447c_3


Proceed ([y]/n)? 

Downloading and Extracting Packages

docutils-0.15.2      | 660 KB    |            |   0% 
docutils-0.15.2      | 660 KB    | ########## | 100% 

conda-4.8.0          | 2.8 MB    |            |   0% 
conda-4.8.0          | 2.8 MB    | #####8     |  59% 
conda-4.8.0          | 2.8 MB    | ########## | 100% 

openssl-1.1.1d       | 3.7 MB    |            |   0% 
openssl-1.1.1d       | 3.7 MB    | ######2    |  63% 
openssl-1.1.1d       | 3.7 MB    | ########## | 100% 

certifi-2019.11.28   | 156 KB    |            |   0% 
certifi-2019.11.28   | 156 KB    | ########## | 100% 

ca-certificates-2019 | 132 KB    |            |   0% 
ca-certificates-2019 | 132 KB    | ########## | 100% 
Preparing transaction: ...working... done
Verifying transaction: ...working... done
Executing transaction: ...working... done
Removing intermediate container 6f8ebddc7f4e
 ---> 181d7b699b9b
Step 8/11 : RUN python setup.py install
 ---> Running in a3d0b7026e53
running install
running bdist_egg
running egg_info
creating docserver.egg-info
writing docserver.egg-info/PKG-INFO
writing dependency_links to docserver.egg-info/dependency_links.txt
writing requirements to docserver.egg-info/requires.txt
writing top-level names to docserver.egg-info/top_level.txt
writing manifest file 'docserver.egg-info/SOURCES.txt'
reading manifest file 'docserver.egg-info/SOURCES.txt'
writing manifest file 'docserver.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build
creating build/lib
creating build/lib/docserver
copying docserver/__init__.py -> build/lib/docserver
copying docserver/__version__.py -> build/lib/docserver
copying docserver/server.py -> build/lib/docserver
creating build/lib/docserver/utils
copying docserver/utils/__init__.py -> build/lib/docserver/utils
copying docserver/utils/_logging.py -> build/lib/docserver/utils
creating build/lib/docserver/storage
copying docserver/storage/_s3.py -> build/lib/docserver/storage
copying docserver/storage/__init__.py -> build/lib/docserver/storage
copying docserver/storage/_base.py -> build/lib/docserver/storage
copying docserver/storage/_local.py -> build/lib/docserver/storage
creating build/bdist.linux-x86_64
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/docserver
copying build/lib/docserver/__init__.py -> build/bdist.linux-x86_64/egg/docserver
creating build/bdist.linux-x86_64/egg/docserver/utils
copying build/lib/docserver/utils/__init__.py -> build/bdist.linux-x86_64/egg/docserver/utils
copying build/lib/docserver/utils/_logging.py -> build/bdist.linux-x86_64/egg/docserver/utils
creating build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/_s3.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/__init__.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/_base.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/storage/_local.py -> build/bdist.linux-x86_64/egg/docserver/storage
copying build/lib/docserver/__version__.py -> build/bdist.linux-x86_64/egg/docserver
copying build/lib/docserver/server.py -> build/bdist.linux-x86_64/egg/docserver
byte-compiling build/bdist.linux-x86_64/egg/docserver/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/utils/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/utils/_logging.py to _logging.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/_s3.py to _s3.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/__init__.py to __init__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/_base.py to _base.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/storage/_local.py to _local.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/__version__.py to __version__.cpython-37.pyc
byte-compiling build/bdist.linux-x86_64/egg/docserver/server.py to server.cpython-37.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying docserver.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating dist
creating 'dist/docserver-1.0.0-py3.7.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing docserver-1.0.0-py3.7.egg
creating /opt/conda/lib/python3.7/site-packages/docserver-1.0.0-py3.7.egg
Extracting docserver-1.0.0-py3.7.egg to /opt/conda/lib/python3.7/site-packages
Adding docserver 1.0.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/docserver-1.0.0-py3.7.egg
Processing dependencies for docserver==1.0.0
Searching for pillow
Reading https://pypi.org/simple/pillow/
Downloading https://files.pythonhosted.org/packages/89/3e/31c2e5385d7588016c6f7ac552e81c3fff2bef4bc61b6f82f8177752405c/Pillow-6.2.1-cp37-cp37m-manylinux1_x86_64.whl#sha256=0f66dc6c8a3cc319561a633b6aa82c44107f12594643efa37210d8c924fc1c71
Best match: Pillow 6.2.1
Processing Pillow-6.2.1-cp37-cp37m-manylinux1_x86_64.whl
Installing Pillow-6.2.1-cp37-cp37m-manylinux1_x86_64.whl to /opt/conda/lib/python3.7/site-packages
Adding Pillow 6.2.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Pillow-6.2.1-py3.7-linux-x86_64.egg
Searching for sphinxcontrib-websupport
Reading https://pypi.org/simple/sphinxcontrib-websupport/
Downloading https://files.pythonhosted.org/packages/2a/59/d64bda9b7480a84a3569be4dde267c0f6675b255ba63b4c8e84469940457/sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl#sha256=e02f717baf02d0b6c3dd62cf81232ffca4c9d5c331e03766982e3ff9f1d2bc3f
Best match: sphinxcontrib-websupport 1.1.2
Processing sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl
Installing sphinxcontrib_websupport-1.1.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_websupport-1.1.2-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-websupport 1.1.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_websupport-1.1.2-py3.7.egg
Searching for sphinxcontrib-programoutput
Reading https://pypi.org/simple/sphinxcontrib-programoutput/
Downloading https://files.pythonhosted.org/packages/34/22/c14806fa02f3a5dd9ebe21fcbd378555a7f0462689895c3fe4d61b9d1e1c/sphinxcontrib_programoutput-0.15-py2.py3-none-any.whl#sha256=8a15af67546c35404a02e0ad13c0a9ded0d587393fca5fa637a467bfee1222f0
Best match: sphinxcontrib-programoutput 0.15
Processing sphinxcontrib_programoutput-0.15-py2.py3-none-any.whl
Installing sphinxcontrib_programoutput-0.15-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_programoutput-0.15-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-programoutput 0.15 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_programoutput-0.15-py3.7.egg
Searching for sphinx-rtd-theme
Reading https://pypi.org/simple/sphinx-rtd-theme/
Downloading https://files.pythonhosted.org/packages/60/b4/4df37087a1d36755e3a3bfd2a30263f358d2dea21938240fa02313d45f51/sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl#sha256=00cf895504a7895ee433807c62094cf1e95f065843bf3acd17037c3e9a2becd4
Best match: sphinx-rtd-theme 0.4.3
Processing sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl
Installing sphinx_rtd_theme-0.4.3-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinx_rtd_theme-0.4.3-py3.7.egg/EGG-INFO/requires.txt
Adding sphinx-rtd-theme 0.4.3 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinx_rtd_theme-0.4.3-py3.7.egg
Searching for sphinxcontrib-napoleon
Reading https://pypi.org/simple/sphinxcontrib-napoleon/
Downloading https://files.pythonhosted.org/packages/75/f2/6b7627dfe7b4e418e295e254bb15c3a6455f11f8c0ad0d43113f678049c3/sphinxcontrib_napoleon-0.7-py2.py3-none-any.whl#sha256=711e41a3974bdf110a484aec4c1a556799eb0b3f3b897521a018ad7e2db13fef
Best match: sphinxcontrib-napoleon 0.7
Processing sphinxcontrib_napoleon-0.7-py2.py3-none-any.whl
Installing sphinxcontrib_napoleon-0.7-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_napoleon-0.7-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-napoleon 0.7 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_napoleon-0.7-py3.7.egg
Searching for sphinx
Reading https://pypi.org/simple/sphinx/
Downloading https://files.pythonhosted.org/packages/9e/f2/32b59bbca9292b9e1629041bac9bcbc028c321fa96f941a695eee7ed7211/Sphinx-2.3.0-py3-none-any.whl#sha256=138e39aa10f28d52aa5759fc6d1cba2be6a4b750010974047fa7d0e31addcf63
Best match: Sphinx 2.3.0
Processing Sphinx-2.3.0-py3-none-any.whl
Installing Sphinx-2.3.0-py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Sphinx-2.3.0-py3.7.egg/EGG-INFO/requires.txt
Adding Sphinx 2.3.0 to easy-install.pth file
Installing sphinx-apidoc script to /opt/conda/bin
Installing sphinx-autogen script to /opt/conda/bin
Installing sphinx-build script to /opt/conda/bin
Installing sphinx-quickstart script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Sphinx-2.3.0-py3.7.egg
Searching for redis
Reading https://pypi.org/simple/redis/
Downloading https://files.pythonhosted.org/packages/32/ae/28613a62eea0d53d3db3147f8715f90da07667e99baeedf1010eb400f8c0/redis-3.3.11-py2.py3-none-any.whl#sha256=3613daad9ce5951e426f460deddd5caf469e08a3af633e9578fc77d362becf62
Best match: redis 3.3.11
Processing redis-3.3.11-py2.py3-none-any.whl
Installing redis-3.3.11-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/redis-3.3.11-py3.7.egg/EGG-INFO/requires.txt
Adding redis 3.3.11 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/redis-3.3.11-py3.7.egg
Searching for gunicorn
Reading https://pypi.org/simple/gunicorn/
Downloading https://files.pythonhosted.org/packages/69/ca/926f7cd3a2014b16870086b2d0fdc84a9e49473c68a8dff8b57f7c156f43/gunicorn-20.0.4-py2.py3-none-any.whl#sha256=cd4a810dd51bf497552cf3f863b575dabd73d6ad6a91075b65936b151cbf4f9c
Best match: gunicorn 20.0.4
Processing gunicorn-20.0.4-py2.py3-none-any.whl
Installing gunicorn-20.0.4-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/gunicorn-20.0.4-py3.7.egg/EGG-INFO/requires.txt
Adding gunicorn 20.0.4 to easy-install.pth file
Installing gunicorn script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/gunicorn-20.0.4-py3.7.egg
Searching for flask
Reading https://pypi.org/simple/flask/
Downloading https://files.pythonhosted.org/packages/9b/93/628509b8d5dc749656a9641f4caf13540e2cdec85276964ff8f43bbb1d3b/Flask-1.1.1-py2.py3-none-any.whl#sha256=45eb5a6fd193d6cf7e0cf5d8a5b31f83d5faae0293695626f539a823e93b13f6
Best match: Flask 1.1.1
Processing Flask-1.1.1-py2.py3-none-any.whl
Installing Flask-1.1.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Flask-1.1.1-py3.7.egg/EGG-INFO/requires.txt
Adding Flask 1.1.1 to easy-install.pth file
Installing flask script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Flask-1.1.1-py3.7.egg
Searching for botocore
Reading https://pypi.org/simple/botocore/
Downloading https://files.pythonhosted.org/packages/49/f3/4280c60c707bbcab43e5d91fd74c1573455b68f483c3e2221eee18cc1a85/botocore-1.13.42-py2.py3-none-any.whl#sha256=f5e799a5d1f2f3d7d962e8a91c2cf637487a48fd153ab75537fddb7013b671ce
Best match: botocore 1.13.42
Processing botocore-1.13.42-py2.py3-none-any.whl
Installing botocore-1.13.42-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/botocore-1.13.42-py3.7.egg/EGG-INFO/requires.txt
Adding botocore 1.13.42 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/botocore-1.13.42-py3.7.egg
Searching for boto3
Reading https://pypi.org/simple/boto3/
Downloading https://files.pythonhosted.org/packages/56/7c/4961f6a8756face3a8b021848829c9431a3d367ee1ec77e0d9ba611c65cf/boto3-1.10.42-py2.py3-none-any.whl#sha256=420a00c1835a0a890c853ad89cb0cebbe8f4a9d0af9333cc013690b836c44714
Best match: boto3 1.10.42
Processing boto3-1.10.42-py2.py3-none-any.whl
Installing boto3-1.10.42-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/boto3-1.10.42-py3.7.egg/EGG-INFO/requires.txt
Adding boto3 1.10.42 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/boto3-1.10.42-py3.7.egg
Searching for pockets>=0.3
Reading https://pypi.org/simple/pockets/
Downloading https://files.pythonhosted.org/packages/e9/2f/a4583c70fbd8cd04910e2884bcc2bdd670e884061f7b4d70bc13e632a993/pockets-0.9.1-py2.py3-none-any.whl#sha256=68597934193c08a08eb2bf6a1d85593f627c22f9b065cc727a4f03f669d96d86
Best match: pockets 0.9.1
Processing pockets-0.9.1-py2.py3-none-any.whl
Installing pockets-0.9.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/pockets-0.9.1-py3.7.egg/EGG-INFO/requires.txt
Adding pockets 0.9.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/pockets-0.9.1-py3.7.egg
Searching for sphinxcontrib-serializinghtml
Reading https://pypi.org/simple/sphinxcontrib-serializinghtml/
Downloading https://files.pythonhosted.org/packages/57/b3/3648e48fa5682e61e9839d62de4e23af1795ceb738d68d73bd974257a95c/sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl#sha256=db6615af393650bf1151a6cd39120c29abaf93cc60db8c48eb2dddbfdc3a9768
Best match: sphinxcontrib-serializinghtml 1.1.3
Processing sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl
Installing sphinxcontrib_serializinghtml-1.1.3-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_serializinghtml-1.1.3-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-serializinghtml 1.1.3 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_serializinghtml-1.1.3-py3.7.egg
Searching for sphinxcontrib-qthelp
Reading https://pypi.org/simple/sphinxcontrib-qthelp/
Downloading https://files.pythonhosted.org/packages/ce/5b/4747c3ba98b3a3e21a66faa183d8f79b9ded70e74212a7988d236a6eb78a/sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl#sha256=513049b93031beb1f57d4daea74068a4feb77aa5630f856fcff2e50de14e9a20
Best match: sphinxcontrib-qthelp 1.0.2
Processing sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl
Installing sphinxcontrib_qthelp-1.0.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_qthelp-1.0.2-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-qthelp 1.0.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_qthelp-1.0.2-py3.7.egg
Searching for sphinxcontrib-jsmath
Reading https://pypi.org/simple/sphinxcontrib-jsmath/
Downloading https://files.pythonhosted.org/packages/c2/42/4c8646762ee83602e3fb3fbe774c2fac12f317deb0b5dbeeedd2d3ba4b77/sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl#sha256=2ec2eaebfb78f3f2078e73666b1415417a116cc848b72e5172e596c871103178
Best match: sphinxcontrib-jsmath 1.0.1
Processing sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl
Installing sphinxcontrib_jsmath-1.0.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_jsmath-1.0.1-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-jsmath 1.0.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_jsmath-1.0.1-py3.7.egg
Searching for sphinxcontrib-htmlhelp
Reading https://pypi.org/simple/sphinxcontrib-htmlhelp/
Downloading https://files.pythonhosted.org/packages/e4/35/80a67cc493f4a8a9634ab203a77aaa1b84d79ccb1c02eca72cb084d2c7f7/sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl#sha256=d4fd39a65a625c9df86d7fa8a2d9f3cd8299a3a4b15db63b50aac9e161d8eff7
Best match: sphinxcontrib-htmlhelp 1.0.2
Processing sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl
Installing sphinxcontrib_htmlhelp-1.0.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_htmlhelp-1.0.2-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-htmlhelp 1.0.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_htmlhelp-1.0.2-py3.7.egg
Searching for sphinxcontrib-devhelp
Reading https://pypi.org/simple/sphinxcontrib-devhelp/
Downloading https://files.pythonhosted.org/packages/b0/a3/fea98741f0b2f2902fbf6c35c8e91b22cd0dd13387291e81d457f9a93066/sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl#sha256=9512ecb00a2b0821a146736b39f7aeb90759834b07e81e8cc23a9c70bacb9981
Best match: sphinxcontrib-devhelp 1.0.1
Processing sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl
Installing sphinxcontrib_devhelp-1.0.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_devhelp-1.0.1-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-devhelp 1.0.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_devhelp-1.0.1-py3.7.egg
Searching for sphinxcontrib-applehelp
Reading https://pypi.org/simple/sphinxcontrib-applehelp/
Downloading https://files.pythonhosted.org/packages/13/9a/4428b3114d654cb1cd34d90d5e6fab938d5436f94a571155187ea1dd78b4/sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl#sha256=fb8dee85af95e5c30c91f10e7eb3c8967308518e0f7488a2828ef7bc191d0d5d
Best match: sphinxcontrib-applehelp 1.0.1
Processing sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl
Installing sphinxcontrib_applehelp-1.0.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/sphinxcontrib_applehelp-1.0.1-py3.7.egg/EGG-INFO/requires.txt
Adding sphinxcontrib-applehelp 1.0.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/sphinxcontrib_applehelp-1.0.1-py3.7.egg
Searching for snowballstemmer>=1.1
Reading https://pypi.org/simple/snowballstemmer/
Downloading https://files.pythonhosted.org/packages/7d/4b/cdf1113a0e88b641893b814e9c36f69a6fda28cd88b62c7f0d858cde3166/snowballstemmer-2.0.0-py2.py3-none-any.whl#sha256=209f257d7533fdb3cb73bdbd24f436239ca3b2fa67d56f6ff88e86be08cc5ef0
Best match: snowballstemmer 2.0.0
Processing snowballstemmer-2.0.0-py2.py3-none-any.whl
Installing snowballstemmer-2.0.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding snowballstemmer 2.0.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/snowballstemmer-2.0.0-py3.7.egg
Searching for packaging
Reading https://pypi.org/simple/packaging/
Downloading https://files.pythonhosted.org/packages/cf/94/9672c2d4b126e74c4496c6b3c58a8b51d6419267be9e70660ba23374c875/packaging-19.2-py2.py3-none-any.whl#sha256=d9551545c6d761f3def1677baf08ab2a3ca17c56879e70fecba2fc4dde4ed108
Best match: packaging 19.2
Processing packaging-19.2-py2.py3-none-any.whl
Installing packaging-19.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/packaging-19.2-py3.7.egg/EGG-INFO/requires.txt
Adding packaging 19.2 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/packaging-19.2-py3.7.egg
Searching for imagesize
Reading https://pypi.org/simple/imagesize/
Downloading https://files.pythonhosted.org/packages/fc/b6/aef66b4c52a6ad6ac18cf6ebc5731ed06d8c9ae4d3b2d9951f261150be67/imagesize-1.1.0-py2.py3-none-any.whl#sha256=3f349de3eb99145973fefb7dbe38554414e5c30abd0c8e4b970a7c9d09f3a1d8
Best match: imagesize 1.1.0
Processing imagesize-1.1.0-py2.py3-none-any.whl
Installing imagesize-1.1.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding imagesize 1.1.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/imagesize-1.1.0-py3.7.egg
Searching for babel!=2.0,>=1.3
Reading https://pypi.org/simple/babel/
Downloading https://files.pythonhosted.org/packages/2c/60/f2af68eb046c5de5b1fe6dd4743bf42c074f7141fe7b2737d3061533b093/Babel-2.7.0-py2.py3-none-any.whl#sha256=af92e6106cb7c55286b25b38ad7695f8b4efb36a90ba483d7f7a6628c46158ab
Best match: Babel 2.7.0
Processing Babel-2.7.0-py2.py3-none-any.whl
Installing Babel-2.7.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Babel-2.7.0-py3.7.egg/EGG-INFO/requires.txt
Adding Babel 2.7.0 to easy-install.pth file
Installing pybabel script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Babel-2.7.0-py3.7.egg
Searching for alabaster<0.8,>=0.7
Reading https://pypi.org/simple/alabaster/
Downloading https://files.pythonhosted.org/packages/10/ad/00b090d23a222943eb0eda509720a404f531a439e803f6538f35136cae9e/alabaster-0.7.12-py2.py3-none-any.whl#sha256=446438bdcca0e05bd45ea2de1668c1d9b032e1a9154c2c259092d77031ddd359
Best match: alabaster 0.7.12
Processing alabaster-0.7.12-py2.py3-none-any.whl
Installing alabaster-0.7.12-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding alabaster 0.7.12 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/alabaster-0.7.12-py3.7.egg
Searching for Pygments>=2.0
Reading https://pypi.org/simple/Pygments/
Downloading https://files.pythonhosted.org/packages/be/39/32da3184734730c0e4d3fa3b2b5872104668ad6dc1b5a73d8e477e5fe967/Pygments-2.5.2-py2.py3-none-any.whl#sha256=2a3fe295e54a20164a9df49c75fa58526d3be48e14aceba6d6b1e8ac0bfd6f1b
Best match: Pygments 2.5.2
Processing Pygments-2.5.2-py2.py3-none-any.whl
Installing Pygments-2.5.2-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding Pygments 2.5.2 to easy-install.pth file
Installing pygmentize script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/Pygments-2.5.2-py3.7.egg
Searching for Jinja2>=2.3
Reading https://pypi.org/simple/Jinja2/
Downloading https://files.pythonhosted.org/packages/65/e0/eb35e762802015cab1ccee04e8a277b03f1d8e53da3ec3106882ec42558b/Jinja2-2.10.3-py2.py3-none-any.whl#sha256=74320bb91f31270f9551d46522e33af46a80c3d619f4a4bf42b3164d30b5911f
Best match: Jinja2 2.10.3
Processing Jinja2-2.10.3-py2.py3-none-any.whl
Installing Jinja2-2.10.3-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Jinja2-2.10.3-py3.7.egg/EGG-INFO/requires.txt
Adding Jinja2 2.10.3 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Jinja2-2.10.3-py3.7.egg
Searching for itsdangerous>=0.24
Reading https://pypi.org/simple/itsdangerous/
Downloading https://files.pythonhosted.org/packages/76/ae/44b03b253d6fade317f32c24d100b3b35c2239807046a4c953c7b89fa49e/itsdangerous-1.1.0-py2.py3-none-any.whl#sha256=b12271b2047cb23eeb98c8b5622e2e5c5e9abd9784a153e9d8ef9cb4dd09d749
Best match: itsdangerous 1.1.0
Processing itsdangerous-1.1.0-py2.py3-none-any.whl
Installing itsdangerous-1.1.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding itsdangerous 1.1.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/itsdangerous-1.1.0-py3.7.egg
Searching for click>=5.1
Reading https://pypi.org/simple/click/
Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl#sha256=2335065e6395b9e67ca716de5f7526736bfa6ceead690adf616d925bdc622b13
Best match: Click 7.0
Processing Click-7.0-py2.py3-none-any.whl
Installing Click-7.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding Click 7.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Click-7.0-py3.7.egg
Searching for Werkzeug>=0.15
Reading https://pypi.org/simple/Werkzeug/
Downloading https://files.pythonhosted.org/packages/ce/42/3aeda98f96e85fd26180534d36570e4d18108d62ae36f87694b476b83d6f/Werkzeug-0.16.0-py2.py3-none-any.whl#sha256=e5f4a1f98b52b18a93da705a7458e55afb26f32bff83ff5d19189f92462d65c4
Best match: Werkzeug 0.16.0
Processing Werkzeug-0.16.0-py2.py3-none-any.whl
Installing Werkzeug-0.16.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/Werkzeug-0.16.0-py3.7.egg/EGG-INFO/requires.txt
Adding Werkzeug 0.16.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/Werkzeug-0.16.0-py3.7.egg
Searching for python-dateutil<2.8.1,>=2.1
Reading https://pypi.org/simple/python-dateutil/
Downloading https://files.pythonhosted.org/packages/41/17/c62faccbfbd163c7f57f3844689e3a78bae1f403648a6afb1d0866d87fbb/python_dateutil-2.8.0-py2.py3-none-any.whl#sha256=7e6584c74aeed623791615e26efd690f29817a27c73085b78e4bad02493df2fb
Best match: python-dateutil 2.8.0
Processing python_dateutil-2.8.0-py2.py3-none-any.whl
Installing python_dateutil-2.8.0-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/python_dateutil-2.8.0-py3.7.egg/EGG-INFO/requires.txt
Adding python-dateutil 2.8.0 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/python_dateutil-2.8.0-py3.7.egg
Searching for jmespath<1.0.0,>=0.7.1
Reading https://pypi.org/simple/jmespath/
Downloading https://files.pythonhosted.org/packages/83/94/7179c3832a6d45b266ddb2aac329e101367fbdb11f425f13771d27f225bb/jmespath-0.9.4-py2.py3-none-any.whl#sha256=3720a4b1bd659dd2eecad0666459b9788813e032b83e7ba58578e48254e0a0e6
Best match: jmespath 0.9.4
Processing jmespath-0.9.4-py2.py3-none-any.whl
Installing jmespath-0.9.4-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding jmespath 0.9.4 to easy-install.pth file
Installing jp.py script to /opt/conda/bin

Installed /opt/conda/lib/python3.7/site-packages/jmespath-0.9.4-py3.7.egg
Searching for s3transfer<0.3.0,>=0.2.0
Reading https://pypi.org/simple/s3transfer/
Downloading https://files.pythonhosted.org/packages/16/8a/1fc3dba0c4923c2a76e1ff0d52b305c44606da63f718d14d3231e21c51b0/s3transfer-0.2.1-py2.py3-none-any.whl#sha256=b780f2411b824cb541dbcd2c713d0cb61c7d1bcadae204cdddda2b35cef493ba
Best match: s3transfer 0.2.1
Processing s3transfer-0.2.1-py2.py3-none-any.whl
Installing s3transfer-0.2.1-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
writing requirements to /opt/conda/lib/python3.7/site-packages/s3transfer-0.2.1-py3.7.egg/EGG-INFO/requires.txt
Adding s3transfer 0.2.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/s3transfer-0.2.1-py3.7.egg
Searching for pyparsing>=2.0.2
Reading https://pypi.org/simple/pyparsing/
Downloading https://files.pythonhosted.org/packages/c0/0c/fc2e007d9a992d997f04a80125b0f183da7fb554f1de701bbb70a8e7d479/pyparsing-2.4.5-py2.py3-none-any.whl#sha256=20f995ecd72f2a1f4bf6b072b63b22e2eb457836601e76d6e5dfcd75436acc1f
Best match: pyparsing 2.4.5
Processing pyparsing-2.4.5-py2.py3-none-any.whl
Installing pyparsing-2.4.5-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding pyparsing 2.4.5 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/pyparsing-2.4.5-py3.7.egg
Searching for pytz>=2015.7
Reading https://pypi.org/simple/pytz/
Downloading https://files.pythonhosted.org/packages/e7/f9/f0b53f88060247251bf481fa6ea62cd0d25bf1b11a87888e53ce5b7c8ad2/pytz-2019.3-py2.py3-none-any.whl#sha256=1c557d7d0e871de1f5ccd5833f60fb2550652da6be2693c1e02300743d21500d
Best match: pytz 2019.3
Processing pytz-2019.3-py2.py3-none-any.whl
Installing pytz-2019.3-py2.py3-none-any.whl to /opt/conda/lib/python3.7/site-packages
Adding pytz 2019.3 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/pytz-2019.3-py3.7.egg
Searching for MarkupSafe>=0.23
Reading https://pypi.org/simple/MarkupSafe/
Downloading https://files.pythonhosted.org/packages/98/7b/ff284bd8c80654e471b769062a9b43cc5d03e7a615048d96f4619df8d420/MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl#sha256=ba59edeaa2fc6114428f1637ffff42da1e311e29382d81b339c1817d37ec93c6
Best match: MarkupSafe 1.1.1
Processing MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl
Installing MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl to /opt/conda/lib/python3.7/site-packages
Adding MarkupSafe 1.1.1 to easy-install.pth file

Installed /opt/conda/lib/python3.7/site-packages/MarkupSafe-1.1.1-py3.7-linux-x86_64.egg
Searching for six==1.12.0
Best match: six 1.12.0
Adding six 1.12.0 to easy-install.pth file

Using /opt/conda/lib/python3.7/site-packages
Searching for setuptools==41.4.0
Best match: setuptools 41.4.0
Adding setuptools 41.4.0 to easy-install.pth file
Installing easy_install script to /opt/conda/bin

Using /opt/conda/lib/python3.7/site-packages
Searching for requests==2.22.0
Best match: requests 2.22.0
Adding requests 2.22.0 to easy-install.pth file

Using /opt/conda/lib/python3.7/site-packages
Searching for docutils==0.15.2
Best match: docutils 0.15.2
Adding docutils 0.15.2 to easy-install.pth file

Using /opt/conda/lib/python3.7/site-packages
Searching for urllib3==1.24.2
Best match: urllib3 1.24.2
Adding urllib3 1.24.2 to easy-install.pth file

Using /opt/conda/lib/python3.7/site-packages
Searching for idna==2.8
Best match: idna 2.8
Adding idna 2.8 to easy-install.pth file

Using /opt/conda/lib/python3.7/site-packages
Searching for chardet==3.0.4
Best match: chardet 3.0.4
Adding chardet 3.0.4 to easy-install.pth file
Installing chardetect script to /opt/conda/bin

Using /opt/conda/lib/python3.7/site-packages
Searching for certifi==2019.11.28
Best match: certifi 2019.11.28
Adding certifi 2019.11.28 to easy-install.pth file

Using /opt/conda/lib/python3.7/site-packages
Finished processing dependencies for docserver==1.0.0
Removing intermediate container a3d0b7026e53
 ---> 34ce4578c480
Step 9/11 : RUN cd docs &&     python -msphinx -M html . _build/ &&     mv /opt/updoc/docs/_build/html /opt/updoc/docs/_build/readme &&     mv /opt/updoc/docs/_build/readme /opt/updoc/docserver/static
 ---> Running in 5be63f7ed2ce
Running Sphinx v2.3.0
making output directory... done
loading intersphinx inventory from https://docs.python.org/objects.inv...
intersphinx inventory has moved: https://docs.python.org/objects.inv -> https://docs.python.org/3/objects.inv
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 4 source files that are out of date
updating environment: [new config] 4 added, 0 changed, 0 removed
reading sources... [ 25%] index
reading sources... [ 50%] modules
reading sources... [ 75%] storage
reading sources... [100%] utils

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [ 25%] index
writing output... [ 50%] modules
writing output... [ 75%] storage
writing output... [100%] utils

generating indices...  genindex py-modindexdone
highlighting module code... [ 20%] collections.abc
highlighting module code... [ 40%] docserver.storage._base
highlighting module code... [ 60%] docserver.storage._local
highlighting module code... [ 80%] docserver.storage._s3
highlighting module code... [100%] docserver.utils._logging

writing additional pages...  searchdone
copying static files... ... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.

The HTML pages are in _build/html.
 [91m/opt/conda/lib/python3.7/site-packages/sphinx_rtd_theme-0.4.3-py3.7.egg/sphinx_rtd_theme/search.html:20: RemovedInSphinx30Warning: To modify script_files in the theme is deprecated. Please insert a <script> tag directly in your theme instead.
  {{ super() }}
 [0mRemoving intermediate container 5be63f7ed2ce
 ---> 65ec75bd7f06
Step 10/11 : EXPOSE 8000
 ---> Running in 2f310bf58a07
Removing intermediate container 2f310bf58a07
 ---> 6b908eaca9a9
Step 11/11 : CMD redis-server & gunicorn --preload -w 4 -b "0.0.0.0:80" --timeout 1800 docserver.server:app
 ---> Running in 239446ed5399
Removing intermediate container 239446ed5399
 ---> b35e886ee6db
Successfully built b35e886ee6db
Successfully tagged updoc:latest

CI Setup

You should setup an integration with Travis CI so PRs will be tested. @ me on the PR when you do it, I can flip the switch on the UptakeOpenSource Travis account.

Take a look at how we did this on cran-server for inspiration.

Usage patterns for private documentation and team collaboration?

What are the practical usage patterns for a team that needs to share private documentation?

Some thoughts:

Host application on private network

Probably the ideal case, but requires a private network, which not all teams may have access to.

Each user runs application locally but configured with same private S3 backend

It seems like this should work? The S3 bucket will be private, but users can configure their local applications with necessary credentials. The local app instances will fetch from the centralized backend storage.

Add screenshot to README

I think a screenshot would be helpful to demonstrate to people what the app does and looks like.

Unit test framework

This project currently has no unit tests. To close this issue, just PR in a basic framework for testing (i.e. the basic structure and some minimal tests).

Issue backlog

@kszela24 could you take some time in the next few weeks to lay out things you'd like to do / like help on in this project's issues backlog?

I think it's an exciting project and I want to invite people to contribute on it, but right now they won't find much to work on.

FWIW, on pkgnet we've found the "Milestones" functionality for grouping issues into higher-level bundles of features. https://github.com/UptakeOpenSource/pkgnet/milestones

I recently set up milestones on one of my side projects and I found that it made the future of the project a lot clearer: https://github.com/jameslamb/doppel-cli/milestones

A good place to start is usually just git grep -i 'todo', pulling out all of the TODOs in code and writing them down in issues.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.