From 15e643b3d010176b1609a9d02b663f53d26876ba Mon Sep 17 00:00:00 2001 From: Nicholas Bollweg Date: Wed, 24 Feb 2021 19:24:13 -0500 Subject: [PATCH] update rtd with generated environment --- CONTRIBUTING.md | 23 +++++ docs/environment.yml | 236 +++++++++++++++++++++++++++++++++++++++++-- docs/update_env.py | 41 ++++++++ readthedocs.yml | 2 +- setup.py | 5 +- 5 files changed, 295 insertions(+), 12 deletions(-) create mode 100644 docs/update_env.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 026ae5af..3b71beaf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -92,6 +92,29 @@ cd docs make html ``` +#### Updating the ReadTheDocs env + +Due to some heavyweight dependencies, the `conda` environment is pre-solved and +checked in, based on `.binder/environment.yml`. To update this environment, +install `conda-lock` with `pip`: + +```bash +pip install .[lock] +``` + +or `conda`: + +```bash +conda install -c conda-forge 'conda-lock>=0.8.0' +``` + +And then: + +```bash +cd docs +python update_env.py +``` + ### Explore the examples ```bash diff --git a/docs/environment.yml b/docs/environment.yml index 2753e796..516ef914 100644 --- a/docs/environment.yml +++ b/docs/environment.yml @@ -1,13 +1,229 @@ +### please do not edit by hand +### this file is autogenerated for ReadTheDocs from ../.binder/environment.yml +### +# +# name: pythreejs-binder +# +# channels: +# - conda-forge +# - nodefaults +# +# dependencies: +# # runtimes +# - nodejs >=12,!=13,<15 # prefer LTS +# - pip +# - python >=3.6,<3.10 +# - yarn <2 +# # packaging dependencies +# - wheel +# - setuptools +# # dependencies +# - ipydatawidgets >=1.1.1 +# - ipywidgets >=7.2.1 +# - numpy >=1.14 +# # clients +# - jupyterlab >=3,<4 +# - jupyterlab-classic +# # dev +# - nbval +# - pytest-check-links +# # examples +# - ipympl +# - ipywebrtc +# - matplotlib-base +# - scikit-image +# - scipy +# # docs +# - nbsphinx >=0.2.13 +# - nbsphinx-link +# - sphinx >=1.5 +# - sphinx_rtd_theme + +name: pythreejs-docs -name: pythreejs_docs channels: - - conda-forge + # the most minimal channel + - nodefaults + dependencies: -- python=3.5 -- nodejs -- numpy -- scipy -- matplotlib -- scikit-image -- sphinx -- nbsphinx + - https://conda.anaconda.org/conda-forge/linux-64/_libgcc_mutex-0.1-conda_forge.tar.bz2#d7c89558ba9fa0495403155b64376d81 + - https://conda.anaconda.org/conda-forge/linux-64/ca-certificates-2020.12.5-ha878542_0.tar.bz2#7eb5d4ffeee663caa1635cd67071bc1b + - https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.35.1-hea4e1c9_2.tar.bz2#83610dba766a186bdc7a116053b782a4 + - https://conda.anaconda.org/conda-forge/linux-64/libgfortran5-9.3.0-hff62375_18.tar.bz2#86a1cade1bc2b99a6419ba980f730bff + - https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-9.3.0-h6de172a_18.tar.bz2#2f03cd1e5c966d4af5822c7ae089ab03 + - https://conda.anaconda.org/conda-forge/linux-64/pandoc-2.11.4-h7f98852_0.tar.bz2#1c827fa4db40e5e92c2619ba8fe30500 + - https://conda.anaconda.org/conda-forge/noarch/tzdata-2021a-he74cb21_0.tar.bz2#6f36861f102249fc54861ff9343c3fdd + - https://conda.anaconda.org/conda-forge/linux-64/libgfortran-ng-9.3.0-hff62375_18.tar.bz2#db417845fae12a62b6720f09f51ab6a7 + - https://conda.anaconda.org/conda-forge/linux-64/libgomp-9.3.0-h2828fa1_18.tar.bz2#fc7a2a7e6a741c8afdd764715ac7039d + - https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-1_gnu.tar.bz2#561e277319a41d4f24f5c05a9ef63c04 + - https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-9.3.0-h2828fa1_18.tar.bz2#5a9490c49a3505a6d19bda012cde6ad3 + - https://conda.anaconda.org/conda-forge/linux-64/blosc-1.21.0-h9c3ff4c_0.tar.bz2#5e815e5126c6f7e34ab4496fa1b48dca + - https://conda.anaconda.org/conda-forge/linux-64/brotli-1.0.9-h9c3ff4c_4.tar.bz2#f4f75dc7038aaeb6eaae16a5ef5350b3 + - https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-h7f98852_4.tar.bz2#a1fd65c7ccbf10880423d82bca54eb54 + - https://conda.anaconda.org/conda-forge/linux-64/charls-2.2.0-h9c3ff4c_0.tar.bz2#bc0a1a5c99af57d2821914ab074797f9 + - https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.1-h36c2ea0_2.tar.bz2#626e68ae9cc5912d6adb79d318cf962d + - https://conda.anaconda.org/conda-forge/linux-64/icu-68.1-h58526e2_0.tar.bz2#fc7a4271dc2a7f4fd78cd63695baf7c3 + - https://conda.anaconda.org/conda-forge/linux-64/jpeg-9d-h36c2ea0_0.tar.bz2#ea02ce6037dbe81803ae6123e5ba1568 + - https://conda.anaconda.org/conda-forge/linux-64/jxrlib-1.1-h7f98852_2.tar.bz2#8e787b08fe19986d99d034b839df2961 + - https://conda.anaconda.org/conda-forge/linux-64/lerc-2.2.1-h9c3ff4c_0.tar.bz2#ea833dcaeb9e7ac4fac521f1a7abec82 + - https://conda.anaconda.org/conda-forge/linux-64/libaec-1.0.4-h9c3ff4c_1.tar.bz2#90dbd3066828b76fa810578e49cef920 + - https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.7-h7f98852_5.tar.bz2#10e242842cd30c59c12d79371dc0f583 + - https://conda.anaconda.org/conda-forge/linux-64/libffi-3.3-h58526e2_2.tar.bz2#665369991d8dd290ac5ee92fce3e6bf5 + - https://conda.anaconda.org/conda-forge/linux-64/libopenblas-0.3.12-pthreads_h4812303_1.tar.bz2#2c7126a584f05e7bc8885d64dad3d21a + - https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.18-h36c2ea0_1.tar.bz2#c3788462a6fbddafdb413a9f9053e58d + - https://conda.anaconda.org/conda-forge/linux-64/libuv-1.41.0-h7f98852_0.tar.bz2#808b41ebae1d9bd4aa8ffbc365d468c6 + - https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.2.0-h7f98852_0.tar.bz2#747d8f09e5340bc40480eb765903ec97 + - https://conda.anaconda.org/conda-forge/linux-64/libzopfli-1.0.3-h9c3ff4c_0.tar.bz2#c66fe2d123249af7651ebde8984c51c2 + - https://conda.anaconda.org/conda-forge/linux-64/lz4-c-1.9.3-h9c3ff4c_0.tar.bz2#4eb64ee0d5cd43096ffcf843c76b05d4 + - https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.2-h58526e2_4.tar.bz2#509f2a21c4a09214cd737a480dfd80c9 + - https://conda.anaconda.org/conda-forge/linux-64/openssl-1.1.1j-h7f98852_0.tar.bz2#f91545bee2ac8cf86f1dc53e55a7bb2b + - https://conda.anaconda.org/conda-forge/linux-64/snappy-1.1.8-he1b5a44_3.tar.bz2#83f1dc295c711bdbaf97e1f3bedf2f52 + - https://conda.anaconda.org/conda-forge/linux-64/xz-5.2.5-h516909a_1.tar.bz2#33f601066901f3e1a85af3522a8113f9 + - https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h516909a_0.tar.bz2#03a530e925414902547cf48da7756db8 + - https://conda.anaconda.org/conda-forge/linux-64/zfp-0.5.5-h9c3ff4c_4.tar.bz2#d93d7bb8ec66c5530ee3b6b4ec52b354 + - https://conda.anaconda.org/conda-forge/linux-64/zlib-1.2.11-h516909a_1010.tar.bz2#339cc5584e6d26bc73a875ba900028c3 + - https://conda.anaconda.org/conda-forge/linux-64/brunsli-0.1-h9c3ff4c_0.tar.bz2#c1ac6229d0bfd14f8354ff9ad2a26cad + - https://conda.anaconda.org/conda-forge/linux-64/libblas-3.9.0-8_openblas.tar.bz2#95cee6371a5b901797075040941171f3 + - https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.37-h21135ba_2.tar.bz2#b6acf807307d033d4b7e758b4f44b036 + - https://conda.anaconda.org/conda-forge/linux-64/nodejs-14.15.4-h92b4a50_0.tar.bz2#1c5cdf8b0b562a1afd5b17f9ff0e8612 + - https://conda.anaconda.org/conda-forge/linux-64/readline-8.0-he28a2e2_2.tar.bz2#4d0ae8d473f863696088f76800ef9d38 + - https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.10-h21135ba_1.tar.bz2#c647f70aa7e3d4cc4e029cc1c9a99953 + - https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.4-h9c3ff4c_0.tar.bz2#9105c7da67ebfb39ff08e2a8ea72bb71 + - https://conda.anaconda.org/conda-forge/linux-64/zstd-1.4.8-ha95c52a_1.tar.bz2#ed4dbbaf7d81423678632bf982f45ede + - https://conda.anaconda.org/conda-forge/linux-64/freetype-2.10.4-h0708190_1.tar.bz2#4a06f2ac2e5bfae7b6b245171c3f07aa + - https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.9.0-8_openblas.tar.bz2#d8e2151683bc12acffedea26eba27e0f + - https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.9.0-8_openblas.tar.bz2#9a860887c77e923c2807c715a7731fb8 + - https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.2.0-hdc55705_0.tar.bz2#f1406324f1d02fa26447a0a0f2dd0107 + - https://conda.anaconda.org/conda-forge/linux-64/sqlite-3.34.0-h74cdb3f_0.tar.bz2#0a83e21e8c1929cc9a1e21ebb2459fc5 + - https://conda.anaconda.org/conda-forge/linux-64/yarn-1.22.10-ha770c72_0.tar.bz2#795d11f9767d98354f80c667cedaf485 + - https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.12-hddcbb42_0.tar.bz2#797117394a4aa588de6d741b06fad80f + - https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.4.0-hf7af979_0.tar.bz2#f677c4652b03ed5d1352bf976be7192c + - https://conda.anaconda.org/conda-forge/linux-64/python-3.9.2-hffdb5ce_0_cpython.tar.bz2#1d42ab08338d49f54800522a89ca3602 + - https://conda.anaconda.org/conda-forge/noarch/alabaster-0.7.12-py_0.tar.bz2#2489a97287f90176ecdc3ca982b4b0a0 + - https://conda.anaconda.org/conda-forge/noarch/appdirs-1.4.4-pyh9f0ad1d_0.tar.bz2#5f095bc6454094e96f146491fd03633b + - https://conda.anaconda.org/conda-forge/noarch/async_generator-1.10-py_0.tar.bz2#d56c596e61b1c4952acf0a9920856c12 + - https://conda.anaconda.org/conda-forge/noarch/attrs-20.3.0-pyhd3deb0d_0.tar.bz2#5b319abb055eefcfa344bc21378ca23f + - https://conda.anaconda.org/conda-forge/noarch/backcall-0.2.0-pyh9f0ad1d_0.tar.bz2#6006a6d08a3fa99268a2681c7fb55213 + - https://conda.anaconda.org/conda-forge/noarch/backports-1.0-py_2.tar.bz2#0da16b293affa6ac31812376f8eb79dd + - https://conda.anaconda.org/conda-forge/noarch/cloudpickle-1.6.0-py_0.tar.bz2#76d764d8881719e305f6fa368dc2b65e + - https://conda.anaconda.org/conda-forge/noarch/colorama-0.4.4-pyh9f0ad1d_0.tar.bz2#c08b4c1326b880ed44f3ffb04803332f + - https://conda.anaconda.org/conda-forge/noarch/decorator-4.4.2-py_0.tar.bz2#d2eabb9cabd212e1ec6a9463bd846243 + - https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.6.0-py_0.tar.bz2#37e1033daee0e2edaa5ff42584c52b21 + - https://conda.anaconda.org/conda-forge/noarch/entrypoints-0.3-pyhd8ed1ab_1003.tar.bz2#bbf9a201f6ce99a506f4955374d9a9f4 + - https://conda.anaconda.org/conda-forge/noarch/idna-2.10-pyh9f0ad1d_0.tar.bz2#f95a12b4f435aae6680fe55ae2eb1b06 + - https://conda.anaconda.org/conda-forge/noarch/imagesize-1.2.0-py_0.tar.bz2#5879bd2c4b399a5072468e5fe587bf1b + - https://conda.anaconda.org/conda-forge/noarch/iniconfig-1.1.1-pyh9f0ad1d_0.tar.bz2#39161f81cc5e5ca45b8226fbb06c6905 + - https://conda.anaconda.org/conda-forge/noarch/ipython_genutils-0.2.0-py_1.tar.bz2#5071c982548b3a20caf70462f04f5287 + - https://conda.anaconda.org/conda-forge/noarch/json5-0.9.5-pyh9f0ad1d_0.tar.bz2#10759827a94e6b14996e81fb002c0bda + - https://conda.anaconda.org/conda-forge/noarch/jupyterlab_widgets-1.0.0-pyhd8ed1ab_1.tar.bz2#f8da92114c8fbe1d951b0efaf54dd14b + - https://conda.anaconda.org/conda-forge/noarch/more-itertools-8.7.0-pyhd8ed1ab_0.tar.bz2#3be1ba5a28d394d78f3d692fb9e5c1c2 + - https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.4.3-pyhd8ed1ab_0.tar.bz2#a1f2fda4d88c624810bf2029aa4c0827 + - https://conda.anaconda.org/conda-forge/noarch/olefile-0.46-pyh9f0ad1d_1.tar.bz2#0b2e68acc8c78c8cc392b90983481f58 + - https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.4.2-py_1.tar.bz2#ba6f4a308f1ea22abe1d72e72544af76 + - https://conda.anaconda.org/conda-forge/noarch/parso-0.8.1-pyhd8ed1ab_0.tar.bz2#8b0a19d867a59005c1ae631d61a12194 + - https://conda.anaconda.org/conda-forge/noarch/pickleshare-0.7.5-py_1003.tar.bz2#415f0ebb6198cc2801c73438a9fb5761 + - https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.9.0-pyhd3deb0d_0.tar.bz2#c7af95daf5bae22ead34151e0ab9d041 + - https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd3deb0d_0.tar.bz2#359eeb6536da0e687af562ed265ec263 + - https://conda.anaconda.org/conda-forge/noarch/py-1.10.0-pyhd3deb0d_0.tar.bz2#88ca1328ecc79a070214aa24911bace8 + - https://conda.anaconda.org/conda-forge/noarch/pycparser-2.20-pyh9f0ad1d_2.tar.bz2#aa798d50ffd182a0f6f31478c7f434f6 + - https://conda.anaconda.org/conda-forge/noarch/pyparsing-2.4.7-pyh9f0ad1d_0.tar.bz2#626c4f20d5bf06dcec9cf2eaa31725c7 + - https://conda.anaconda.org/conda-forge/linux-64/python_abi-3.9-1_cp39.tar.bz2#9ee3692d976902241a3392495768fe98 + - https://conda.anaconda.org/conda-forge/noarch/pytz-2021.1-pyhd8ed1ab_0.tar.bz2#3af2e9424d5eb0063824a3f9b850d411 + - https://conda.anaconda.org/conda-forge/noarch/send2trash-1.5.0-py_0.tar.bz2#c3779037a635e1150f1c53c28b875949 + - https://conda.anaconda.org/conda-forge/noarch/six-1.15.0-pyh9f0ad1d_0.tar.bz2#1eec421f0f1f39e579e44e4a5ce646a2 + - https://conda.anaconda.org/conda-forge/noarch/snowballstemmer-2.1.0-pyhd8ed1ab_0.tar.bz2#f1d64c0cf0eedf655a96ccdc1573c05a + - https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-applehelp-1.0.2-py_0.tar.bz2#20b2eaeaeea4ef9a9a0d99770620fd09 + - https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-devhelp-1.0.2-py_0.tar.bz2#68e01cac9d38d0e717cd5c87bc3d2cc9 + - https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-htmlhelp-1.0.3-py_0.tar.bz2#4508a40465ebf0105e52f7194f299411 + - https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-jsmath-1.0.1-py_0.tar.bz2#67cd9d9c0382d37479b4d306c369a2d4 + - https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-qthelp-1.0.3-py_0.tar.bz2#d01180388e6d1838c3e1ad029590aa7a + - https://conda.anaconda.org/conda-forge/noarch/sphinxcontrib-serializinghtml-1.1.4-py_0.tar.bz2#8ea6a8036e28dba8827d35c764709358 + - https://conda.anaconda.org/conda-forge/noarch/testpath-0.4.4-py_0.tar.bz2#3b98fff4d5342bebde2ecaa314f796f9 + - https://conda.anaconda.org/conda-forge/noarch/toml-0.10.2-pyhd8ed1ab_0.tar.bz2#f832c45a477c78bebd107098db465095 + - https://conda.anaconda.org/conda-forge/noarch/toolz-0.11.1-py_0.tar.bz2#d1e66b58cb00b3817ad9f05eec098c00 + - https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-py_1.tar.bz2#3563be4c5611a44210d9ba0c16113136 + - https://conda.anaconda.org/conda-forge/noarch/wheel-0.36.2-pyhd3deb0d_0.tar.bz2#768bfbe026426d0e76b377997d1f2b98 + - https://conda.anaconda.org/conda-forge/noarch/zipp-3.4.0-py_0.tar.bz2#0df927d2e46244cef8fd75d7ec2ba51c + - https://conda.anaconda.org/conda-forge/noarch/babel-2.9.0-pyhd3deb0d_0.tar.bz2#1cb532c9a6fd4e56a9f0906b87c17b76 + - https://conda.anaconda.org/conda-forge/linux-64/certifi-2020.12.5-py39hf3d152e_1.tar.bz2#83afa403caafd7ef3162385cca9bce13 + - https://conda.anaconda.org/conda-forge/linux-64/cffi-1.14.5-py39he32792d_0.tar.bz2#b561e1fad1fc8bb343064bd5497444bb + - https://conda.anaconda.org/conda-forge/linux-64/chardet-4.0.0-py39hf3d152e_1.tar.bz2#d0da429a3428ffcacaad25595b96a648 + - https://conda.anaconda.org/conda-forge/linux-64/coverage-5.4-py39h3811e60_0.tar.bz2#49f9119c983109cf43bcd7ce5f3f4992 + - https://conda.anaconda.org/conda-forge/noarch/cycler-0.10.0-py_2.tar.bz2#f6d7c7e6d8f42cbbec7e07a8d879f91c + - https://conda.anaconda.org/conda-forge/linux-64/cytoolz-0.11.0-py39h3811e60_3.tar.bz2#b2acd01289447c022fde78c3b91e6e39 + - https://conda.anaconda.org/conda-forge/linux-64/docutils-0.16-py39hf3d152e_3.tar.bz2#4f0fa7459a1f40a969aaad418b1c428c + - https://conda.anaconda.org/conda-forge/noarch/html5lib-1.1-pyh9f0ad1d_0.tar.bz2#b2355343d6315c892543200231d7154a + - https://conda.anaconda.org/conda-forge/linux-64/importlib-metadata-3.7.0-py39hf3d152e_0.tar.bz2#4e9c8d35a0fbb23e4f239fc6c171fdef + - https://conda.anaconda.org/conda-forge/linux-64/jedi-0.18.0-py39hf3d152e_2.tar.bz2#cb9b5c105fb10e59bf5a263880735235 + - https://conda.anaconda.org/conda-forge/linux-64/kiwisolver-1.3.1-py39h1a9c180_1.tar.bz2#c5d6241b3ec5d02c316a5f66f14024c7 + - https://conda.anaconda.org/conda-forge/linux-64/markupsafe-1.1.1-py39h3811e60_3.tar.bz2#ba89fd2d0e9871ac81116e3008c830b4 + - https://conda.anaconda.org/conda-forge/linux-64/mistune-0.8.4-py39h3811e60_1003.tar.bz2#716b1f4d19fdedf318dd100682399a76 + - https://conda.anaconda.org/conda-forge/linux-64/numpy-1.20.1-py39hdbf815f_0.tar.bz2#7d9a2aefb8964c83b707c20b9577c584 + - https://conda.anaconda.org/conda-forge/noarch/packaging-20.9-pyh44b312d_0.tar.bz2#be69a38e912054a62dc82cc3c7711a64 + - https://conda.anaconda.org/conda-forge/noarch/pexpect-4.8.0-pyh9f0ad1d_2.tar.bz2#5909e7b978141dd80d28dbf9de627827 + - https://conda.anaconda.org/conda-forge/linux-64/pillow-8.1.0-py39hf95b381_2.tar.bz2#63fac55915814bbbb526e9f1558d7207 + - https://conda.anaconda.org/conda-forge/linux-64/pluggy-0.13.1-py39hf3d152e_4.tar.bz2#4d5bb60996f07fe6781efc7b476a7e2c + - https://conda.anaconda.org/conda-forge/linux-64/pyrsistent-0.17.3-py39h3811e60_2.tar.bz2#4ec88cc4b941bc447fd97cadd76e32de + - https://conda.anaconda.org/conda-forge/linux-64/pysocks-1.7.1-py39hf3d152e_3.tar.bz2#f7e7fdc66f2362bebc407f1ab7d10f63 + - https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.8.1-py_0.tar.bz2#0d0150ed9c2d25817f5324108d3f7571 + - https://conda.anaconda.org/conda-forge/linux-64/pyyaml-5.4.1-py39h3811e60_0.tar.bz2#6451ed66b3b438134626894c821dc5fa + - https://conda.anaconda.org/conda-forge/linux-64/pyzmq-22.0.3-py39hea8fd45_0.tar.bz2#819515cfc415b20de4695027f9e30c25 + - https://conda.anaconda.org/conda-forge/linux-64/sniffio-1.2.0-py39hf3d152e_1.tar.bz2#a620158b380f03f82e8ceac1397270b7 + - https://conda.anaconda.org/conda-forge/linux-64/tornado-6.1-py39h3811e60_1.tar.bz2#763597c8b91b69789ab0f6002439c32b + - https://conda.anaconda.org/conda-forge/noarch/traitlets-5.0.5-py_0.tar.bz2#99618ee9ab1323e40f231acdab92fe60 + - https://conda.anaconda.org/conda-forge/linux-64/anyio-2.1.0-py39hf3d152e_0.tar.bz2#73b831b4d20c8cac7d6da847ea6b4e6d + - https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-20.1.0-py39h3811e60_2.tar.bz2#9e69a6cedbffc71321daf4895b9db5bf + - https://conda.anaconda.org/conda-forge/linux-64/brotlipy-0.7.0-py39h3811e60_1001.tar.bz2#35ad78e61aec955783acfd00f3c6bcde + - https://conda.anaconda.org/conda-forge/linux-64/cryptography-3.4.4-py39h95dcef6_0.tar.bz2#43dcf8bc5342d18e888f241d39810961 + - https://conda.anaconda.org/conda-forge/noarch/dask-core-2021.2.0-pyhd8ed1ab_0.tar.bz2#55e9ec3fa2b40d163f062977c7fee870 + - https://conda.anaconda.org/conda-forge/linux-64/imagecodecs-2021.1.28-py39h559889c_0.tar.bz2#6661f6271f7f76cd0922673de95a631a + - https://conda.anaconda.org/conda-forge/noarch/imageio-2.9.0-py_0.tar.bz2#62ad9e579278e777d4abaa8c9312b6a7 + - https://conda.anaconda.org/conda-forge/noarch/importlib_metadata-3.7.0-hd8ed1ab_0.tar.bz2#d9eb59a3cafc09132ea0932247a20e39 + - https://conda.anaconda.org/conda-forge/linux-64/jupyter_core-4.7.1-py39hf3d152e_0.tar.bz2#6bddb50072e5c769100295b967b7b212 + - https://conda.anaconda.org/conda-forge/linux-64/pytest-6.2.2-py39hf3d152e_0.tar.bz2#2db183378c7cd9150100e848b1d7b3f9 + - https://conda.anaconda.org/conda-forge/linux-64/pywavelets-1.1.1-py39hce5d2b2_3.tar.bz2#f7a190c04f6eaae55c988df082c8f80a + - https://conda.anaconda.org/conda-forge/linux-64/scipy-1.6.0-py39hee8e79c_0.tar.bz2#3afcb78281836e61351a2924f3230060 + - https://conda.anaconda.org/conda-forge/linux-64/setuptools-49.6.0-py39hf3d152e_3.tar.bz2#4397280abb201d7adff59099e12e7ddd + - https://conda.anaconda.org/conda-forge/linux-64/terminado-0.9.2-py39hf3d152e_0.tar.bz2#be4a43825c2a6ca3638cbdcceeb7977d + - https://conda.anaconda.org/conda-forge/noarch/traittypes-0.2.1-pyh9f0ad1d_2.tar.bz2#7d32ccb5334a6822c28af3e864550618 + - https://conda.anaconda.org/conda-forge/noarch/backports.functools_lru_cache-1.6.1-py_0.tar.bz2#d36df15eaef96549ce6231e3088fba54 + - https://conda.anaconda.org/conda-forge/noarch/bleach-3.3.0-pyh44b312d_0.tar.bz2#abf6b76c39358ca36ca706c46f054f2a + - https://conda.anaconda.org/conda-forge/noarch/jinja2-2.11.3-pyh44b312d_0.tar.bz2#1d4c3605d85a3655b1595e0694138eb6 + - https://conda.anaconda.org/conda-forge/noarch/jsonschema-3.2.0-py_2.tar.bz2#a17aa962de6145d08e1008cb37c20161 + - https://conda.anaconda.org/conda-forge/noarch/jupyter-packaging-0.7.12-pyhd8ed1ab_0.tar.bz2#ab2fd67d07b63afe5ea6db6c5f32b5fd + - https://conda.anaconda.org/conda-forge/noarch/jupyter_client-6.1.11-pyhd8ed1ab_1.tar.bz2#0fcd80df6d4e0558754c39453ffa3110 + - https://conda.anaconda.org/conda-forge/linux-64/matplotlib-base-3.3.4-py39h2fa2bec_0.tar.bz2#9ec0b2186fab9121c54f4844f93ee5b7 + - https://conda.anaconda.org/conda-forge/noarch/networkx-2.5-py_0.tar.bz2#d836ad8453c22192357707026ca21653 + - https://conda.anaconda.org/conda-forge/noarch/pip-21.0.1-pyhd8ed1ab_0.tar.bz2#849477e10d78cbc283c78fd53bfbb567 + - https://conda.anaconda.org/conda-forge/noarch/pygments-2.8.0-pyhd8ed1ab_0.tar.bz2#226cd14ba0554ca2648fecd11090f473 + - https://conda.anaconda.org/conda-forge/noarch/pyopenssl-20.0.1-pyhd8ed1ab_0.tar.bz2#92371c25994d0f5d28a01c1fb75ebf86 + - https://conda.anaconda.org/conda-forge/noarch/tifffile-2021.2.1-pyhd8ed1ab_0.tar.bz2#b7d06b595056cfe6fae98488e1f9239d + - https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.1.2-pyh9f0ad1d_0.tar.bz2#2cbd910890bb328e8959246a1e16fac7 + - https://conda.anaconda.org/conda-forge/noarch/nbformat-5.1.2-pyhd8ed1ab_1.tar.bz2#9633dbb668ac1f9266427672816899dc + - https://conda.anaconda.org/conda-forge/noarch/urllib3-1.26.3-pyhd8ed1ab_0.tar.bz2#25573e57774dd54cfa848e5dd44503ed + - https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.2.5-pyh9f0ad1d_2.tar.bz2#5266fcd697043c59621fda522b3d78ee + - https://conda.anaconda.org/conda-forge/noarch/nbclient-0.5.2-pyhd8ed1ab_0.tar.bz2#06970c2047dd29a7d320b0a765f9b1e4 + - https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.16-pyha770c72_0.tar.bz2#1a7cec3da4a94cd23d3de4155bff4941 + - https://conda.anaconda.org/conda-forge/noarch/requests-2.25.1-pyhd3deb0d_0.tar.bz2#ae687aba31a1c400192a86a2e993ffdc + - https://conda.anaconda.org/conda-forge/linux-64/ipython-7.20.0-py39hef51801_2.tar.bz2#258fe730f2dbaf2b3d5b15b934b975eb + - https://conda.anaconda.org/conda-forge/linux-64/nbconvert-6.0.7-py39hf3d152e_3.tar.bz2#5f914e1113c7a926798c7659efbcd6a3 + - https://conda.anaconda.org/conda-forge/noarch/pooch-1.3.0-pyhd8ed1ab_0.tar.bz2#7041d42601fe3de878565ca84c952237 + - https://conda.anaconda.org/conda-forge/noarch/sphinx-3.5.1-pyhd8ed1ab_0.tar.bz2#c9740de39c0c595a835da6f8eb6941e1 + - https://conda.anaconda.org/conda-forge/linux-64/ipykernel-5.5.0-py39hef51801_1.tar.bz2#7fdf48a376b83e4511b550410482c806 + - https://conda.anaconda.org/conda-forge/linux-64/jupyter_server-1.4.1-py39hf3d152e_0.tar.bz2#e5e99c96e60344439ad559e9fa9111e5 + - https://conda.anaconda.org/conda-forge/noarch/nbsphinx-0.8.1-pyh44b312d_0.tar.bz2#4cd9c81db93ea4a9f68abb16a53e1e3c + - https://conda.anaconda.org/conda-forge/noarch/pytest-check-links-0.4.4-pyhd8ed1ab_0.tar.bz2#adf9f0c2f01015fdf6ea9e0d885a8998 + - https://conda.anaconda.org/conda-forge/linux-64/scikit-image-0.18.1-py39hde0f152_0.tar.bz2#41a332b7d05cedf45806270d3ca60d86 + - https://conda.anaconda.org/conda-forge/noarch/sphinx_rtd_theme-0.5.1-pyhd3deb0d_0.tar.bz2#c050f3a32c6e361917a54d10259b41bc + - https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.3.0-pyhd8ed1ab_0.tar.bz2#e1ab43655ba7ede6917e2daa37c7b217 + - https://conda.anaconda.org/conda-forge/noarch/nbsphinx-link-1.3.0-pyh9f0ad1d_0.tar.bz2#9462b1d21134ad3053aef08599925f25 + - https://conda.anaconda.org/conda-forge/noarch/nbval-0.9.6-pyh9f0ad1d_0.tar.bz2#b627e05284e7affc46b6e4878aa1d96b + - https://conda.anaconda.org/conda-forge/linux-64/notebook-6.2.0-py39hf3d152e_0.tar.bz2#b41aa687fbe881f4941707dc8646bdfc + - https://conda.anaconda.org/conda-forge/noarch/nbclassic-0.2.6-pyhd8ed1ab_0.tar.bz2#49be35e31b49012ea91fcd667ebdf4ad + - https://conda.anaconda.org/conda-forge/linux-64/widgetsnbextension-3.5.1-py39hf3d152e_4.tar.bz2#ae54c7d751b678c0021929892d598ecd + - https://conda.anaconda.org/conda-forge/noarch/ipywidgets-7.6.3-pyhd3deb0d_0.tar.bz2#536a9ed6d9e740f2b83d1a3c388e4388 + - https://conda.anaconda.org/conda-forge/noarch/jupyterlab-3.0.9-pyhd8ed1ab_0.tar.bz2#083a50575417a6148ce09133f6d4d63d + - https://conda.anaconda.org/conda-forge/noarch/ipydatawidgets-4.2.0-pyhd3deb0d_0.tar.bz2#2fa9972333df26f1cedfb659468f1b1e + - https://conda.anaconda.org/conda-forge/noarch/ipympl-0.6.3-pyhd8ed1ab_0.tar.bz2#b51fa137e7c55774dad0687e22b9d73b + - https://conda.anaconda.org/conda-forge/linux-64/ipywebrtc-0.5.0-py39hde42818_1.tar.bz2#8c1fe672ae6840d2d9799fa748f2cdb7 + - https://conda.anaconda.org/conda-forge/noarch/jupyterlab-classic-0.1.6-pyhd8ed1ab_0.tar.bz2#06ac66f14a75aea05f7510c367e9664c \ No newline at end of file diff --git a/docs/update_env.py b/docs/update_env.py new file mode 100644 index 00000000..70905a2d --- /dev/null +++ b/docs/update_env.py @@ -0,0 +1,41 @@ +"""resolve the readthedocs environment""" +import subprocess +import jinja2 +import tempfile +import pathlib + +HERE = pathlib.Path(__file__).parent +IN_FILE = HERE.parent / ".binder/environment.yml" +OUT_FILE = HERE / "environment.yml" +ENV_TMPL = jinja2.Template("""### please do not edit by hand +### this file is autogenerated for ReadTheDocs from ../.binder/environment.yml +### +#{% for line in in_text.splitlines() %} +# {{ line }}{% endfor %} + +name: pythreejs-docs + +channels: + # the most minimal channel + - nodefaults + +dependencies:{% for url in urls %} + - {{ url }}{% endfor %} +""") + +def update_lock(): + with tempfile.TemporaryDirectory() as td: + tdp = pathlib.Path(td) + tmp_lock = tdp / "conda-linux-64.lock" + args = ["conda-lock", "-f", IN_FILE, "-p", "linux-64"] + subprocess.check_call(list(map(str, args)), cwd=td) + lock = tmp_lock.read_text(encoding="utf-8") + + urls = lock.split("@EXPLICIT")[1].strip().splitlines() + in_text = IN_FILE.read_text(encoding="utf-8") + + OUT_FILE.write_text(ENV_TMPL.render(urls=urls, in_text=in_text), encoding="utf-8") + + +if __name__ == "__main__": + update_lock() diff --git a/readthedocs.yml b/readthedocs.yml index c972d9cc..e34460f0 100644 --- a/readthedocs.yml +++ b/readthedocs.yml @@ -1,6 +1,6 @@ type: sphinx python: - version: 3.5 + version: 3.9 pip_install: true extra_requirements: - examples diff --git a/setup.py b/setup.py index 6de136eb..8ac32f4a 100644 --- a/setup.py +++ b/setup.py @@ -84,7 +84,10 @@ 'nbsphinx>=0.2.13', 'nbsphinx-link', 'sphinx-rtd-theme', - ] + ], + 'lock': [ + 'conda-lock>=0.8.0' + ], }, 'packages': [name], # Manually specify here, update after autogen 'zip_safe': False,