diff --git a/.gitignore b/.gitignore index 166646d1..69fa4ffa 100644 --- a/.gitignore +++ b/.gitignore @@ -25,8 +25,5 @@ include/ generated/ test_file_text.txt -# Untracked artifacts from the conda script -repo2docker/buildpacks/conda/environment.py-3.5.yml -repo2docker/buildpacks/conda/environment.py-3.6.yml \.vscode/ diff --git a/repo2docker/buildpacks/conda/environment.frozen.yml b/repo2docker/buildpacks/conda/environment.frozen.yml index b6333ff2..d112c7f5 100644 --- a/repo2docker/buildpacks/conda/environment.frozen.yml +++ b/repo2docker/buildpacks/conda/environment.frozen.yml @@ -1,5 +1,5 @@ # AUTO GENERATED FROM environment.py-3.6.yml, DO NOT MANUALLY MODIFY -# Frozen on 2018-11-12 20:48:01 UTC +# Frozen on 2018-12-11 21:19:13 UTC name: r2d channels: - conda-forge @@ -9,20 +9,20 @@ dependencies: - attrs=18.2.0=py_0 - backcall=0.1.0=py_0 - bleach=3.0.2=py_0 - - ca-certificates=2018.10.15=ha4d7672_0 - - certifi=2018.10.15=py36_1000 + - ca-certificates=2018.11.29=ha4d7672_0 + - certifi=2018.11.29=py36_1000 - decorator=4.3.0=py_0 - defusedxml=0.5.0=py_1 - entrypoints=0.2.3=py36_1002 - gmp=6.1.2=hfc679d8_0 - ipykernel=5.1.0=py36h24bf2e0_1001 - - ipython=7.1.1=py36h24bf2e0_1000 + - ipython=7.2.0=py36h24bf2e0_1000 - ipython_genutils=0.2.0=py_1 - ipywidgets=7.2.1=py36_1 - jedi=0.13.1=py36_1000 - jinja2=2.10=py_1 - jsonschema=3.0.0a3=py36_1000 - - jupyter_client=5.2.3=py_1 + - jupyter_client=5.2.4=py_0 - jupyter_core=4.4.0=py_0 - jupyterlab=0.34.9=py36_0 - jupyterlab_launcher=0.13.1=py_2 @@ -34,8 +34,8 @@ dependencies: - mistune=0.8.4=py36h470a237_0 - nbconvert=5.4.0=1 - nbformat=4.4.0=py_1 - - ncurses=6.1=hfc679d8_1 - - notebook=5.6.0=py36_1 + - ncurses=6.1=hfc679d8_2 + - notebook=5.7.2=py36_1000 - openssl=1.0.2p=h470a237_1 - pandoc=1.19.2=0 - pandocfilters=1.4.2=py_1 @@ -43,43 +43,43 @@ dependencies: - pexpect=4.6.0=py36_1000 - pickleshare=0.7.5=py36_1000 - pip=18.1=py36_1000 - - prometheus_client=0.4.2=py_0 + - prometheus_client=0.5.0=py_0 - prompt_toolkit=2.0.7=py_0 - ptyprocess=0.6.0=py36_1000 - - pygments=2.2.0=py_1 - - pyrsistent=0.14.5=py36h470a237_1 - - python=3.6.6=h5001a0f_3 + - pygments=2.3.0=py_0 + - pyrsistent=0.14.7=py36h470a237_0 + - python=3.6.7=h5001a0f_1 - python-dateutil=2.7.5=py_0 - pyzmq=17.1.2=py36hae99301_1 - readline=7.0=haf1bffa_1 - send2trash=1.5.0=py_0 - - setuptools=40.5.0=py36_0 - - six=1.11.0=py36_1001 - - sqlite=3.25.3=hb1c47c0_0 + - setuptools=40.6.2=py36_0 + - six=1.12.0=py36_1000 + - sqlite=3.26.0=hb1c47c0_0 - terminado=0.8.1=py36_1001 - testpath=0.4.2=py36_1000 - - tk=8.6.8=ha92aebf_0 - - tornado=4.5.3=py36_0 + - tk=8.6.9=ha92aebf_0 + - tornado=5.1.1=py36h470a237_0 - traitlets=4.3.2=py36_1000 - wcwidth=0.1.7=py_1 - webencodings=0.5.1=py_1 - - wheel=0.32.2=py36_0 + - wheel=0.32.3=py36_0 - widgetsnbextension=3.2.1=py36_1 - xz=5.2.4=h470a237_1 - zeromq=4.2.5=hfc679d8_6 - zlib=1.2.11=h470a237_3 - pip: - - alembic==1.0.2 + - alembic==1.0.5 - async-generator==1.10 - chardet==3.0.4 - - idna==2.7 + - idna==2.8 - jupyterhub==0.9.4 - mako==1.0.7 - nteract-on-jupyter==1.9.6 - pamela==0.3.0 - python-editor==1.0.3 - python-oauth2==1.1.0 - - requests==2.20.1 + - requests==2.21.0 - sqlalchemy==1.2.14 - urllib3==1.24.1 prefix: /opt/conda/envs/r2d diff --git a/repo2docker/buildpacks/conda/environment.py-2.7.frozen.yml b/repo2docker/buildpacks/conda/environment.py-2.7.frozen.yml index 73314907..3a40c19d 100644 --- a/repo2docker/buildpacks/conda/environment.py-2.7.frozen.yml +++ b/repo2docker/buildpacks/conda/environment.py-2.7.frozen.yml @@ -1,5 +1,5 @@ # AUTO GENERATED FROM environment.py-2.7.yml, DO NOT MANUALLY MODIFY -# Frozen on 2018-11-12 20:35:26 UTC +# Frozen on 2018-12-11 21:15:11 UTC name: r2d channels: - conda-forge @@ -9,47 +9,45 @@ dependencies: - backports=1.0=py_2 - backports.shutil_get_terminal_size=1.0.0=py_3 - backports_abc=0.5=py_1 - - ca-certificates=2018.10.15=ha4d7672_0 - - certifi=2018.10.15=py27_1000 + - ca-certificates=2018.11.29=ha4d7672_0 + - certifi=2018.11.29=py27_1000 - decorator=4.3.0=py_0 - enum34=1.1.6=py27_1001 + - futures=3.2.0=py27_1000 - ipykernel=4.8.2=py27_0 - ipython=5.8.0=py27_0 - ipython_genutils=0.2.0=py_1 - - jupyter_client=5.2.3=py_1 + - jupyter_client=5.2.4=py_0 - jupyter_core=4.4.0=py_0 - libffi=3.2.1=hfc679d8_5 - libgcc-ng=7.2.0=hdf63c60_3 - libsodium=1.0.16=h470a237_1 - libstdcxx-ng=7.2.0=hdf63c60_3 - - ncurses=6.1=hfc679d8_1 + - ncurses=6.1=hfc679d8_2 - openssl=1.0.2p=h470a237_1 - - pathlib2=2.3.2=py27_1000 + - pathlib2=2.3.3=py27_1000 - pexpect=4.6.0=py27_1000 - pickleshare=0.7.5=py27_1000 - pip=18.1=py27_1000 - prompt_toolkit=1.0.15=py_1 - ptyprocess=0.6.0=py27_1000 - - pygments=2.2.0=py_1 - - python=2.7.15=h33da82c_4 + - pygments=2.3.0=py_0 + - python=2.7.15=h33da82c_6 - python-dateutil=2.7.5=py_0 - pyzmq=17.1.2=py27hae99301_1 - readline=7.0=haf1bffa_1 - scandir=1.9.0=py27h470a237_0 - - setuptools=40.5.0=py27_0 + - setuptools=40.6.2=py27_0 - simplegeneric=0.8.1=py_1 - singledispatch=3.4.0.3=py27_1000 - - six=1.11.0=py27_1001 - - sqlite=3.25.3=hb1c47c0_0 - - ssl_match_hostname=3.5.0.1=py27_1001 - - tk=8.6.8=ha92aebf_0 - - tornado=4.5.3=py27_0 + - six=1.12.0=py27_1000 + - sqlite=3.26.0=hb1c47c0_0 + - tk=8.6.9=ha92aebf_0 + - tornado=5.1.1=py27h470a237_0 - traitlets=4.3.2=py27_1000 - wcwidth=0.1.7=py_1 - - wheel=0.32.2=py27_0 + - wheel=0.32.3=py27_0 - zeromq=4.2.5=hfc679d8_6 - zlib=1.2.11=h470a237_3 - - pip: - - backports.ssl-match-hostname==3.5.0.1 prefix: /opt/conda/envs/r2d diff --git a/repo2docker/buildpacks/conda/environment.py-2.7.yml b/repo2docker/buildpacks/conda/environment.py-2.7.yml index e6c5bd26..9e1ecfaa 100644 --- a/repo2docker/buildpacks/conda/environment.py-2.7.yml +++ b/repo2docker/buildpacks/conda/environment.py-2.7.yml @@ -1,4 +1,3 @@ dependencies: - python=2.7.* - ipykernel==4.8.2 -- tornado==4.5.3 diff --git a/repo2docker/buildpacks/conda/environment.py-3.5.frozen.yml b/repo2docker/buildpacks/conda/environment.py-3.5.frozen.yml index 6f774c78..dbed38c4 100644 --- a/repo2docker/buildpacks/conda/environment.py-3.5.frozen.yml +++ b/repo2docker/buildpacks/conda/environment.py-3.5.frozen.yml @@ -1,5 +1,6 @@ -# AUTO GENERATED FROM environment.py-3.5.yml, DO NOT MANUALLY MODIFY -# Frozen on 2018-11-12 20:43:21 UTC +# py3.5 conda packages are no longer being updated as of 12/2018 +# this file is hand-maintained now +# and should only receive security fixes, no new features name: r2d channels: - conda-forge @@ -35,7 +36,6 @@ dependencies: - nbconvert=5.4.0=1 - nbformat=4.4.0=py_1 - ncurses=6.1=hfc679d8_1 - - notebook=5.6.0=py35_1 - openssl=1.0.2p=h470a237_1 - pandoc=1.19.2=0 - pandocfilters=1.4.2=py_1 @@ -58,8 +58,8 @@ dependencies: - sqlite=3.25.3=hb1c47c0_0 - terminado=0.8.1=py35_1 - testpath=0.3.1=py35_1 - - tk=8.6.8=ha92aebf_0 - - tornado=4.5.3=py35_0 + - tk=8.6.9=ha92aebf_0 + - tornado=5.1.1=py35h470a237_0 - traitlets=4.3.2=py35_0 - wcwidth=0.1.7=py_1 - webencodings=0.5.1=py_1 @@ -69,12 +69,13 @@ dependencies: - zeromq=4.2.5=hfc679d8_6 - zlib=1.2.11=h470a237_3 - pip: - - alembic==1.0.2 + - alembic==1.0.3 - async-generator==1.10 - chardet==3.0.4 - idna==2.7 - jupyterhub==0.9.4 - mako==1.0.7 + - notebook==5.7.2 - nteract-on-jupyter==1.9.6 - pamela==0.3.0 - python-editor==1.0.3 @@ -83,4 +84,3 @@ dependencies: - sqlalchemy==1.2.14 - urllib3==1.24.1 prefix: /opt/conda/envs/r2d - diff --git a/repo2docker/buildpacks/conda/environment.py-3.5.yml b/repo2docker/buildpacks/conda/environment.py-3.5.yml new file mode 100644 index 00000000..944ff841 --- /dev/null +++ b/repo2docker/buildpacks/conda/environment.py-3.5.yml @@ -0,0 +1,2 @@ +# py3.5 is not being auto-generated from this file anymore +# update environment.py-3.5.frozen.yml directly diff --git a/repo2docker/buildpacks/conda/environment.py-3.6.frozen.yml b/repo2docker/buildpacks/conda/environment.py-3.6.frozen.yml index b6333ff2..d112c7f5 100644 --- a/repo2docker/buildpacks/conda/environment.py-3.6.frozen.yml +++ b/repo2docker/buildpacks/conda/environment.py-3.6.frozen.yml @@ -1,5 +1,5 @@ # AUTO GENERATED FROM environment.py-3.6.yml, DO NOT MANUALLY MODIFY -# Frozen on 2018-11-12 20:48:01 UTC +# Frozen on 2018-12-11 21:19:13 UTC name: r2d channels: - conda-forge @@ -9,20 +9,20 @@ dependencies: - attrs=18.2.0=py_0 - backcall=0.1.0=py_0 - bleach=3.0.2=py_0 - - ca-certificates=2018.10.15=ha4d7672_0 - - certifi=2018.10.15=py36_1000 + - ca-certificates=2018.11.29=ha4d7672_0 + - certifi=2018.11.29=py36_1000 - decorator=4.3.0=py_0 - defusedxml=0.5.0=py_1 - entrypoints=0.2.3=py36_1002 - gmp=6.1.2=hfc679d8_0 - ipykernel=5.1.0=py36h24bf2e0_1001 - - ipython=7.1.1=py36h24bf2e0_1000 + - ipython=7.2.0=py36h24bf2e0_1000 - ipython_genutils=0.2.0=py_1 - ipywidgets=7.2.1=py36_1 - jedi=0.13.1=py36_1000 - jinja2=2.10=py_1 - jsonschema=3.0.0a3=py36_1000 - - jupyter_client=5.2.3=py_1 + - jupyter_client=5.2.4=py_0 - jupyter_core=4.4.0=py_0 - jupyterlab=0.34.9=py36_0 - jupyterlab_launcher=0.13.1=py_2 @@ -34,8 +34,8 @@ dependencies: - mistune=0.8.4=py36h470a237_0 - nbconvert=5.4.0=1 - nbformat=4.4.0=py_1 - - ncurses=6.1=hfc679d8_1 - - notebook=5.6.0=py36_1 + - ncurses=6.1=hfc679d8_2 + - notebook=5.7.2=py36_1000 - openssl=1.0.2p=h470a237_1 - pandoc=1.19.2=0 - pandocfilters=1.4.2=py_1 @@ -43,43 +43,43 @@ dependencies: - pexpect=4.6.0=py36_1000 - pickleshare=0.7.5=py36_1000 - pip=18.1=py36_1000 - - prometheus_client=0.4.2=py_0 + - prometheus_client=0.5.0=py_0 - prompt_toolkit=2.0.7=py_0 - ptyprocess=0.6.0=py36_1000 - - pygments=2.2.0=py_1 - - pyrsistent=0.14.5=py36h470a237_1 - - python=3.6.6=h5001a0f_3 + - pygments=2.3.0=py_0 + - pyrsistent=0.14.7=py36h470a237_0 + - python=3.6.7=h5001a0f_1 - python-dateutil=2.7.5=py_0 - pyzmq=17.1.2=py36hae99301_1 - readline=7.0=haf1bffa_1 - send2trash=1.5.0=py_0 - - setuptools=40.5.0=py36_0 - - six=1.11.0=py36_1001 - - sqlite=3.25.3=hb1c47c0_0 + - setuptools=40.6.2=py36_0 + - six=1.12.0=py36_1000 + - sqlite=3.26.0=hb1c47c0_0 - terminado=0.8.1=py36_1001 - testpath=0.4.2=py36_1000 - - tk=8.6.8=ha92aebf_0 - - tornado=4.5.3=py36_0 + - tk=8.6.9=ha92aebf_0 + - tornado=5.1.1=py36h470a237_0 - traitlets=4.3.2=py36_1000 - wcwidth=0.1.7=py_1 - webencodings=0.5.1=py_1 - - wheel=0.32.2=py36_0 + - wheel=0.32.3=py36_0 - widgetsnbextension=3.2.1=py36_1 - xz=5.2.4=h470a237_1 - zeromq=4.2.5=hfc679d8_6 - zlib=1.2.11=h470a237_3 - pip: - - alembic==1.0.2 + - alembic==1.0.5 - async-generator==1.10 - chardet==3.0.4 - - idna==2.7 + - idna==2.8 - jupyterhub==0.9.4 - mako==1.0.7 - nteract-on-jupyter==1.9.6 - pamela==0.3.0 - python-editor==1.0.3 - python-oauth2==1.1.0 - - requests==2.20.1 + - requests==2.21.0 - sqlalchemy==1.2.14 - urllib3==1.24.1 prefix: /opt/conda/envs/r2d diff --git a/repo2docker/buildpacks/conda/environment.py-3.6.yml b/repo2docker/buildpacks/conda/environment.py-3.6.yml new file mode 100644 index 00000000..5ad971c2 --- /dev/null +++ b/repo2docker/buildpacks/conda/environment.py-3.6.yml @@ -0,0 +1,11 @@ +# AUTO GENERATED FROM environment.yml, DO NOT MANUALLY MODIFY +# Generated on 2018-12-11 21:19:13 UTC +dependencies: +- python=3.6.* +- ipywidgets==7.2.1 +- jupyterlab==0.34.9 +- nbconvert==5.4.0 +- notebook==5.7.2 +- pip: + - nteract_on_jupyter==1.9.6 + - jupyterhub==0.9.4 diff --git a/repo2docker/buildpacks/conda/environment.py-3.7.frozen.yml b/repo2docker/buildpacks/conda/environment.py-3.7.frozen.yml index 00d996c7..a97915ba 100644 --- a/repo2docker/buildpacks/conda/environment.py-3.7.frozen.yml +++ b/repo2docker/buildpacks/conda/environment.py-3.7.frozen.yml @@ -1,5 +1,5 @@ # AUTO GENERATED FROM environment.py-3.7.yml, DO NOT MANUALLY MODIFY -# Frozen on 2018-11-12 20:38:27 UTC +# Frozen on 2018-12-11 21:16:37 UTC name: r2d channels: - conda-forge @@ -10,19 +10,19 @@ dependencies: - backcall=0.1.0=py_0 - bleach=3.0.2=py_0 - bzip2=1.0.6=h470a237_2 - - ca-certificates=2018.10.15=ha4d7672_0 - - certifi=2018.10.15=py37_1000 + - ca-certificates=2018.11.29=ha4d7672_0 + - certifi=2018.11.29=py37_1000 - decorator=4.3.0=py_0 - defusedxml=0.5.0=py_1 - entrypoints=0.2.3=py37_1002 - gmp=6.1.2=hfc679d8_0 - ipykernel=5.1.0=py37h24bf2e0_1001 - - ipython=7.1.1=py37h24bf2e0_1000 + - ipython=7.2.0=py37h24bf2e0_1000 - ipython_genutils=0.2.0=py_1 - jedi=0.13.1=py37_1000 - jinja2=2.10=py_1 - jsonschema=3.0.0a3=py37_1000 - - jupyter_client=5.2.3=py_1 + - jupyter_client=5.2.4=py_0 - jupyter_core=4.4.0=py_0 - jupyterlab_launcher=0.13.1=py_2 - libffi=3.2.1=hfc679d8_5 @@ -33,8 +33,8 @@ dependencies: - mistune=0.8.4=py37h470a237_0 - nbconvert=5.4.0=1 - nbformat=4.4.0=py_1 - - ncurses=6.1=hfc679d8_1 - - notebook=5.6.0=py37_1 + - ncurses=6.1=hfc679d8_2 + - notebook=5.7.2=py37_1000 - openssl=1.0.2p=h470a237_1 - pandoc=1.19.2=0 - pandocfilters=1.4.2=py_1 @@ -42,45 +42,46 @@ dependencies: - pexpect=4.6.0=py37_1000 - pickleshare=0.7.5=py37_1000 - pip=18.1=py37_1000 - - prometheus_client=0.4.2=py_0 + - prometheus_client=0.5.0=py_0 - prompt_toolkit=2.0.7=py_0 - ptyprocess=0.6.0=py37_1000 - - pygments=2.2.0=py_1 - - pyrsistent=0.14.5=py37h470a237_1 - - python=3.7.0=h5001a0f_6 + - pygments=2.3.0=py_0 + - pyrsistent=0.14.7=py37h470a237_0 + - python=3.7.1=h5001a0f_0 - python-dateutil=2.7.5=py_0 - pyzmq=17.1.2=py37hae99301_1 - readline=7.0=haf1bffa_1 - send2trash=1.5.0=py_0 - - setuptools=40.5.0=py37_0 - - six=1.11.0=py37_1001 - - sqlite=3.25.3=hb1c47c0_0 + - setuptools=40.6.2=py37_0 + - six=1.12.0=py37_1000 + - sqlite=3.26.0=hb1c47c0_0 - terminado=0.8.1=py37_1001 - testpath=0.4.2=py37_1000 - - tk=8.6.8=ha92aebf_0 + - tk=8.6.9=ha92aebf_0 + - tornado=5.1.1=py37h470a237_0 - traitlets=4.3.2=py37_1000 - wcwidth=0.1.7=py_1 - webencodings=0.5.1=py_1 - - wheel=0.32.2=py37_0 + - wheel=0.32.3=py37_0 - widgetsnbextension=3.4.2=py37_1000 - xz=5.2.4=h470a237_1 - zeromq=4.2.5=hfc679d8_6 - zlib=1.2.11=h470a237_3 - ipywidgets=7.2.1=py37_0 - jupyterlab=0.34.9=py37_0 - - tornado=4.5.3=py37_0 - pip: - - alembic==1.0.2 + - alembic==1.0.5 - async-generator==1.10 - chardet==3.0.4 - - idna==2.7 + - idna==2.8 - jupyterhub==0.9.4 - mako==1.0.7 - nteract-on-jupyter==1.9.6 - pamela==0.3.0 - python-editor==1.0.3 - python-oauth2==1.1.0 - - requests==2.20.1 + - requests==2.21.0 - sqlalchemy==1.2.14 - urllib3==1.24.1 prefix: /opt/conda/envs/r2d + diff --git a/repo2docker/buildpacks/conda/environment.py-3.7.yml b/repo2docker/buildpacks/conda/environment.py-3.7.yml index f9245add..9e7b09ae 100644 --- a/repo2docker/buildpacks/conda/environment.py-3.7.yml +++ b/repo2docker/buildpacks/conda/environment.py-3.7.yml @@ -1,12 +1,11 @@ # AUTO GENERATED FROM environment.yml, DO NOT MANUALLY MODIFY -# Generated on 2018-11-12 20:38:27 UTC +# Generated on 2018-12-11 21:16:37 UTC dependencies: - python=3.7.* - ipywidgets==7.2.1 - jupyterlab==0.34.9 - nbconvert==5.4.0 -- tornado==4.5.3 -- notebook==5.6.0 +- notebook==5.7.2 - pip: - nteract_on_jupyter==1.9.6 - jupyterhub==0.9.4 diff --git a/repo2docker/buildpacks/conda/environment.yml b/repo2docker/buildpacks/conda/environment.yml index 71ee2a44..9af58159 100644 --- a/repo2docker/buildpacks/conda/environment.yml +++ b/repo2docker/buildpacks/conda/environment.yml @@ -3,8 +3,7 @@ dependencies: - ipywidgets==7.2.1 - jupyterlab==0.34.9 - nbconvert==5.4.0 - - tornado==4.5.3 - - notebook==5.6.0 + - notebook==5.7.2 - pip: - nteract_on_jupyter==1.9.6 - jupyterhub==0.9.4 diff --git a/repo2docker/buildpacks/conda/freeze.py b/repo2docker/buildpacks/conda/freeze.py index 9dbeeb05..34c8cddd 100755 --- a/repo2docker/buildpacks/conda/freeze.py +++ b/repo2docker/buildpacks/conda/freeze.py @@ -45,9 +45,16 @@ def freeze(env_file, frozen_file): Result will be stored in frozen_file """ + frozen_dest = HERE / frozen_file + if frozen_dest.exists(): + with frozen_dest.open('r') as f: + line = f.readline() + if 'GENERATED' not in line: + print(f"{frozen_file} not autogenerated, not refreezing") + return print(f"Freezing {env_file} -> {frozen_file}") - with open(HERE / frozen_file, 'w') as f: + with frozen_dest.open('w') as f: f.write(f"# AUTO GENERATED FROM {env_file}, DO NOT MANUALLY MODIFY\n") f.write(f"# Frozen on {datetime.utcnow():%Y-%m-%d %H:%M:%S UTC}\n") @@ -78,8 +85,8 @@ def set_python(py_env_file, py): if os.path.exists(py_env_file): # only clobber auto-generated files with open(py_env_file) as f: - text = f.read() - if text and 'GENERATED' not in text: + text = f.readline() + if 'GENERATED' not in text: return print(f"Regenerating {py_env_file} from {ENV_FILE}")