# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/python-3/.devcontainer/base.Dockerfile

# [Choice] Python version: 3, 3.8, 3.7, 3.6
ARG VARIANT="3"
FROM mcr.microsoft.com/vscode/devcontainers/python:0-${VARIANT}

# [Option] Install Node.js
ARG INSTALL_NODE="true"
ARG NODE_VERSION="lts/*"
RUN if [ "${INSTALL_NODE}" = "true" ]; then su vscode -c "source /usr/local/share/nvm/nvm.sh && nvm install ${NODE_VERSION} 2>&1"; fi

# [Optional] If your pip requirements rarely change, uncomment this section to add them to the image.
# COPY requirements.txt /tmp/pip-tmp/
# RUN pip3 --disable-pip-version-check --no-cache-dir install -r /tmp/pip-tmp/requirements.txt \
#    && rm -rf /tmp/pip-tmp
RUN pip3 --disable-pip-version-check --no-cache-dir install twine black coloredlogs pyscaffold[all]

# [Optional] Uncomment this section to install additional OS packages.
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
    && apt-get -y install --no-install-recommends gpg && \
    ln -s /usr/bin/gpg /usr/local/bin/gpg

# Install Kite
ADD --chown=vscode https://linux.kite.com/dls/linux/current /opt/kite/install.sh
RUN chown -R vscode:vscode /opt/kite /usr/local/bin && \
    chmod 755 /opt/kite/install.sh && \
    cd /opt/kite && \
    echo -e "\n\n" | su vscode -c "/opt/kite/install.sh"

# [Optional] Uncomment this line to install global node packages.
# RUN su vscode -c "source /usr/local/share/nvm/nvm.sh && npm install -g <your-package-here>" 2>&1

RUN chown -R vscode:vscode /usr/local/lib/python3.8/site-packages