Anthony Truchet commited on
Commit ·
d9c9597
1
Parent(s): 531597e
feat: add jupyter lab
Browse filesTODO: The binding is not yet OK for exposition on MacOS with colima
TODO: enable Docker caching for ~/.cache
- .gitattributes +34 -0
- Dockerfile +64 -21
- README.md +1 -1
- on_startup.sh +5 -0
- poetry.lock +124 -322
- pyproject.toml +5 -3
- requirements.txt +79 -3
- scripts/build-run-local-docker.sh +2 -2
- start_jupyter.sh +16 -0
- start_server.sh +4 -0
- start_streamlit.sh +9 -0
.gitattributes
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
*.7z filter=lfs diff=lfs merge=lfs -text
|
| 2 |
+
*.arrow filter=lfs diff=lfs merge=lfs -text
|
| 3 |
+
*.bin filter=lfs diff=lfs merge=lfs -text
|
| 4 |
+
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
| 5 |
+
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
| 6 |
+
*.ftz filter=lfs diff=lfs merge=lfs -text
|
| 7 |
+
*.gz filter=lfs diff=lfs merge=lfs -text
|
| 8 |
+
*.h5 filter=lfs diff=lfs merge=lfs -text
|
| 9 |
+
*.joblib filter=lfs diff=lfs merge=lfs -text
|
| 10 |
+
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
| 11 |
+
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
| 12 |
+
*.model filter=lfs diff=lfs merge=lfs -text
|
| 13 |
+
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
| 14 |
+
*.npy filter=lfs diff=lfs merge=lfs -text
|
| 15 |
+
*.npz filter=lfs diff=lfs merge=lfs -text
|
| 16 |
+
*.onnx filter=lfs diff=lfs merge=lfs -text
|
| 17 |
+
*.ot filter=lfs diff=lfs merge=lfs -text
|
| 18 |
+
*.parquet filter=lfs diff=lfs merge=lfs -text
|
| 19 |
+
*.pb filter=lfs diff=lfs merge=lfs -text
|
| 20 |
+
*.pickle filter=lfs diff=lfs merge=lfs -text
|
| 21 |
+
*.pkl filter=lfs diff=lfs merge=lfs -text
|
| 22 |
+
*.pt filter=lfs diff=lfs merge=lfs -text
|
| 23 |
+
*.pth filter=lfs diff=lfs merge=lfs -text
|
| 24 |
+
*.rar filter=lfs diff=lfs merge=lfs -text
|
| 25 |
+
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
| 26 |
+
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
| 27 |
+
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
| 28 |
+
*.tflite filter=lfs diff=lfs merge=lfs -text
|
| 29 |
+
*.tgz filter=lfs diff=lfs merge=lfs -text
|
| 30 |
+
*.wasm filter=lfs diff=lfs merge=lfs -text
|
| 31 |
+
*.xz filter=lfs diff=lfs merge=lfs -text
|
| 32 |
+
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 33 |
+
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 34 |
+
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
Dockerfile
CHANGED
|
@@ -2,33 +2,83 @@
|
|
| 2 |
FROM python:3.10.12
|
| 3 |
|
| 4 |
ARG APP_HOME=/home/user
|
| 5 |
-
ARG APP_CODE=/
|
| 6 |
ARG APP_DATA=/data/app
|
| 7 |
ARG HF_HOME=/data/huggingface
|
| 8 |
|
| 9 |
ENV APP_CODE=$APP_CODE \
|
| 10 |
APP_DATA=$APP_DATA \
|
| 11 |
HF_HOME=$HF_HOME
|
|
|
|
| 12 |
ENV PYTHONUNBUFFERED=1 \
|
| 13 |
SYSTEM=spaces \
|
| 14 |
SHELL=/bin/bash
|
| 15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
| 19 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
-
|
| 22 |
-
|
|
|
|
|
|
|
|
|
|
| 23 |
&& rm -rf /var/lib/apt/lists/*
|
| 24 |
-
RUN pip3 install --no-cache-dir --upgrade pip
|
| 25 |
-
RUN pip3 install --no-cache-dir -r $APP_CODE/requirements.txt
|
| 26 |
|
| 27 |
-
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
-
# Copy our code to $APP_CODE and config
|
| 31 |
COPY --chown=user:user --chmod=u=rX src/ $APP_CODE/
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
COPY --chown=user:user --chmod=u=rX .streamlit/ $APP_HOME/.streamlit/
|
| 33 |
|
| 34 |
# Persistent disk space
|
|
@@ -37,17 +87,10 @@ COPY --chown=user:user --chmod=u=rX .streamlit/ $APP_HOME/.streamlit/
|
|
| 37 |
# see https://huggingface.co/docs/hub/spaces-storage
|
| 38 |
VOLUME /data
|
| 39 |
|
| 40 |
-
# User
|
| 41 |
-
USER user
|
| 42 |
-
ENV HOME=$APP_HOME
|
| 43 |
-
ENV PATH=$HOME/.local/bin:$PATH
|
| 44 |
ENV PYTHONPATH=$APP_CODE:$PYTHONPATH
|
| 45 |
-
WORKDIR $APP_HOME
|
| 46 |
|
| 47 |
# Expose streamlit application
|
| 48 |
-
EXPOSE 8501
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
--server.fileWatcherType=auto \
|
| 53 |
-
$APP_CODE/apps/streamlit_demo.py
|
|
|
|
| 2 |
FROM python:3.10.12
|
| 3 |
|
| 4 |
ARG APP_HOME=/home/user
|
| 5 |
+
ARG APP_CODE=/opt/code
|
| 6 |
ARG APP_DATA=/data/app
|
| 7 |
ARG HF_HOME=/data/huggingface
|
| 8 |
|
| 9 |
ENV APP_CODE=$APP_CODE \
|
| 10 |
APP_DATA=$APP_DATA \
|
| 11 |
HF_HOME=$HF_HOME
|
| 12 |
+
|
| 13 |
ENV PYTHONUNBUFFERED=1 \
|
| 14 |
SYSTEM=spaces \
|
| 15 |
SHELL=/bin/bash
|
| 16 |
|
| 17 |
+
# Remove any third-party apt sources to avoid issues with expiring keys.
|
| 18 |
+
# Install some basic utilities
|
| 19 |
+
RUN rm -f /etc/apt/sources.list.d/*.list && \
|
| 20 |
+
apt-get update && apt-get install -y --no-install-recommends \
|
| 21 |
+
curl \
|
| 22 |
+
ca-certificates \
|
| 23 |
+
sudo \
|
| 24 |
+
git \
|
| 25 |
+
git-lfs \
|
| 26 |
+
zip \
|
| 27 |
+
unzip \
|
| 28 |
+
htop \
|
| 29 |
+
bzip2 \
|
| 30 |
+
libx11-6 \
|
| 31 |
+
build-essential \
|
| 32 |
+
libsndfile-dev \
|
| 33 |
+
software-properties-common \
|
| 34 |
+
nodejs \
|
| 35 |
+
&& rm -rf /var/lib/apt/lists/*
|
| 36 |
+
|
| 37 |
+
WORKDIR /opt
|
| 38 |
+
|
| 39 |
+
# Create a non-root user and switch to it
|
| 40 |
+
RUN adduser --disabled-password --gecos '' --shell /bin/bash -u 1000 user \
|
| 41 |
+
&& chown -R user:user /opt
|
| 42 |
+
RUN echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
|
| 43 |
+
USER user
|
| 44 |
|
| 45 |
+
# All users can use /home/user as their home directory
|
| 46 |
+
ENV HOME=$APP_HOME
|
| 47 |
+
ENV PATH=$HOME/.local/bin:$PATH
|
| 48 |
+
RUN mkdir -p $HOME/.cache $HOME/.config \
|
| 49 |
+
&& chmod -R 777 $HOME
|
| 50 |
|
| 51 |
+
#######################################
|
| 52 |
+
# Start root user section
|
| 53 |
+
#######################################
|
| 54 |
+
USER root
|
| 55 |
|
| 56 |
+
# User Debian packages
|
| 57 |
+
## Security warning : Potential user code executed as root (build time)
|
| 58 |
+
RUN --mount=target=/root/packages.txt,source=packages.txt \
|
| 59 |
+
apt-get update \
|
| 60 |
+
&& xargs -r -a /root/packages.txt apt-get install -y --no-install-recommends \
|
| 61 |
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
|
| 62 |
|
| 63 |
+
RUN --mount=target=/root/on_startup.sh,source=on_startup.sh,readwrite \
|
| 64 |
+
bash /root/on_startup.sh
|
| 65 |
+
|
| 66 |
+
#######################################
|
| 67 |
+
# End root user section
|
| 68 |
+
#######################################
|
| 69 |
+
USER user
|
| 70 |
+
WORKDIR $APP_HOME
|
| 71 |
+
|
| 72 |
+
RUN --mount=target=$APP_CODE/requirements.txt,source=requirements.txt \
|
| 73 |
+
pip3 install --no-cache-dir --upgrade pip \
|
| 74 |
+
&& pip install --no-cache-dir --upgrade -r $APP_CODE/requirements.txt
|
| 75 |
|
| 76 |
+
# Copy our code to $APP_CODE and config
|
| 77 |
COPY --chown=user:user --chmod=u=rX src/ $APP_CODE/
|
| 78 |
+
|
| 79 |
+
COPY --chown=user ./start_*.sh $APP_HOME
|
| 80 |
+
RUN chmod +x $APP_HOME/start_*.sh
|
| 81 |
+
|
| 82 |
COPY --chown=user:user --chmod=u=rX .streamlit/ $APP_HOME/.streamlit/
|
| 83 |
|
| 84 |
# Persistent disk space
|
|
|
|
| 87 |
# see https://huggingface.co/docs/hub/spaces-storage
|
| 88 |
VOLUME /data
|
| 89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
ENV PYTHONPATH=$APP_CODE:$PYTHONPATH
|
|
|
|
| 91 |
|
| 92 |
# Expose streamlit application
|
| 93 |
+
EXPOSE 8501
|
| 94 |
+
EXPOSE 7860
|
| 95 |
+
ENTRYPOINT ["bash"]
|
| 96 |
+
CMD [start_strealit.sh]
|
|
|
|
|
|
README.md
CHANGED
|
@@ -5,7 +5,7 @@ colorFrom: blue
|
|
| 5 |
colorTo: green
|
| 6 |
sdk: docker
|
| 7 |
python_version: "3.10"
|
| 8 |
-
app_port:
|
| 9 |
app_file: src/app.py
|
| 10 |
suggested_storage: small
|
| 11 |
pinned: false
|
|
|
|
| 5 |
colorTo: green
|
| 6 |
sdk: docker
|
| 7 |
python_version: "3.10"
|
| 8 |
+
app_port: 7860
|
| 9 |
app_file: src/app.py
|
| 10 |
suggested_storage: small
|
| 11 |
pinned: false
|
on_startup.sh
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
# Write some commands here that will run on root user before startup.
|
| 3 |
+
# For example, to clone transformers and install it in dev mode:
|
| 4 |
+
# git clone https://github.com/huggingface/transformers.git
|
| 5 |
+
# cd transformers && pip install -e ".[dev]"
|
poetry.lock
CHANGED
|
@@ -168,6 +168,20 @@ six = "*"
|
|
| 168 |
[package.extras]
|
| 169 |
test = ["astroid", "pytest"]
|
| 170 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 171 |
[[package]]
|
| 172 |
name = "attrs"
|
| 173 |
version = "23.1.0"
|
|
@@ -710,41 +724,6 @@ files = [
|
|
| 710 |
{file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"},
|
| 711 |
]
|
| 712 |
|
| 713 |
-
[[package]]
|
| 714 |
-
name = "fsspec"
|
| 715 |
-
version = "2023.6.0"
|
| 716 |
-
description = "File-system specification"
|
| 717 |
-
optional = false
|
| 718 |
-
python-versions = ">=3.8"
|
| 719 |
-
files = [
|
| 720 |
-
{file = "fsspec-2023.6.0-py3-none-any.whl", hash = "sha256:1cbad1faef3e391fba6dc005ae9b5bdcbf43005c9167ce78c915549c352c869a"},
|
| 721 |
-
{file = "fsspec-2023.6.0.tar.gz", hash = "sha256:d0b2f935446169753e7a5c5c55681c54ea91996cc67be93c39a154fb3a2742af"},
|
| 722 |
-
]
|
| 723 |
-
|
| 724 |
-
[package.extras]
|
| 725 |
-
abfs = ["adlfs"]
|
| 726 |
-
adl = ["adlfs"]
|
| 727 |
-
arrow = ["pyarrow (>=1)"]
|
| 728 |
-
dask = ["dask", "distributed"]
|
| 729 |
-
devel = ["pytest", "pytest-cov"]
|
| 730 |
-
dropbox = ["dropbox", "dropboxdrivefs", "requests"]
|
| 731 |
-
full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "dask", "distributed", "dropbox", "dropboxdrivefs", "fusepy", "gcsfs", "libarchive-c", "ocifs", "panel", "paramiko", "pyarrow (>=1)", "pygit2", "requests", "s3fs", "smbprotocol", "tqdm"]
|
| 732 |
-
fuse = ["fusepy"]
|
| 733 |
-
gcs = ["gcsfs"]
|
| 734 |
-
git = ["pygit2"]
|
| 735 |
-
github = ["requests"]
|
| 736 |
-
gs = ["gcsfs"]
|
| 737 |
-
gui = ["panel"]
|
| 738 |
-
hdfs = ["pyarrow (>=1)"]
|
| 739 |
-
http = ["aiohttp (!=4.0.0a0,!=4.0.0a1)", "requests"]
|
| 740 |
-
libarchive = ["libarchive-c"]
|
| 741 |
-
oci = ["ocifs"]
|
| 742 |
-
s3 = ["s3fs"]
|
| 743 |
-
sftp = ["paramiko"]
|
| 744 |
-
smb = ["smbprotocol"]
|
| 745 |
-
ssh = ["paramiko"]
|
| 746 |
-
tqdm = ["tqdm"]
|
| 747 |
-
|
| 748 |
[[package]]
|
| 749 |
name = "gitdb"
|
| 750 |
version = "4.0.10"
|
|
@@ -773,37 +752,6 @@ files = [
|
|
| 773 |
[package.dependencies]
|
| 774 |
gitdb = ">=4.0.1,<5"
|
| 775 |
|
| 776 |
-
[[package]]
|
| 777 |
-
name = "huggingface-hub"
|
| 778 |
-
version = "0.15.1"
|
| 779 |
-
description = "Client library to download and publish models, datasets and other repos on the huggingface.co hub"
|
| 780 |
-
optional = false
|
| 781 |
-
python-versions = ">=3.7.0"
|
| 782 |
-
files = [
|
| 783 |
-
{file = "huggingface_hub-0.15.1-py3-none-any.whl", hash = "sha256:05b0fb0abbf1f625dfee864648ac3049fe225ac4371c7bafaca0c2d3a2f83445"},
|
| 784 |
-
{file = "huggingface_hub-0.15.1.tar.gz", hash = "sha256:a61b7d1a7769fe10119e730277c72ab99d95c48d86a3d6da3e9f3d0f632a4081"},
|
| 785 |
-
]
|
| 786 |
-
|
| 787 |
-
[package.dependencies]
|
| 788 |
-
filelock = "*"
|
| 789 |
-
fsspec = "*"
|
| 790 |
-
packaging = ">=20.9"
|
| 791 |
-
pyyaml = ">=5.1"
|
| 792 |
-
requests = "*"
|
| 793 |
-
tqdm = ">=4.42.1"
|
| 794 |
-
typing-extensions = ">=3.7.4.3"
|
| 795 |
-
|
| 796 |
-
[package.extras]
|
| 797 |
-
all = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "black (>=23.1,<24.0)", "gradio", "jedi", "mypy (==0.982)", "numpy", "pytest", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"]
|
| 798 |
-
cli = ["InquirerPy (==0.3.4)"]
|
| 799 |
-
dev = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "black (>=23.1,<24.0)", "gradio", "jedi", "mypy (==0.982)", "numpy", "pytest", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "ruff (>=0.0.241)", "soundfile", "types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "urllib3 (<2.0)"]
|
| 800 |
-
fastai = ["fastai (>=2.4)", "fastcore (>=1.3.27)", "toml"]
|
| 801 |
-
quality = ["black (>=23.1,<24.0)", "mypy (==0.982)", "ruff (>=0.0.241)"]
|
| 802 |
-
tensorflow = ["graphviz", "pydot", "tensorflow"]
|
| 803 |
-
testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "gradio", "jedi", "numpy", "pytest", "pytest-cov", "pytest-env", "pytest-vcr", "pytest-xdist", "soundfile", "urllib3 (<2.0)"]
|
| 804 |
-
torch = ["torch"]
|
| 805 |
-
typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3"]
|
| 806 |
-
|
| 807 |
[[package]]
|
| 808 |
name = "identify"
|
| 809 |
version = "2.5.24"
|
|
@@ -941,38 +889,6 @@ qtconsole = ["qtconsole"]
|
|
| 941 |
test = ["pytest (<7.1)", "pytest-asyncio", "testpath"]
|
| 942 |
test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pandas", "pytest (<7.1)", "pytest-asyncio", "testpath", "trio"]
|
| 943 |
|
| 944 |
-
[[package]]
|
| 945 |
-
name = "ipython-genutils"
|
| 946 |
-
version = "0.2.0"
|
| 947 |
-
description = "Vestigial utilities from IPython"
|
| 948 |
-
optional = false
|
| 949 |
-
python-versions = "*"
|
| 950 |
-
files = [
|
| 951 |
-
{file = "ipython_genutils-0.2.0-py2.py3-none-any.whl", hash = "sha256:72dd37233799e619666c9f639a9da83c34013a73e8bbc79a7a6348d93c61fab8"},
|
| 952 |
-
{file = "ipython_genutils-0.2.0.tar.gz", hash = "sha256:eb2e116e75ecef9d4d228fdc66af54269afa26ab4463042e33785b887c628ba8"},
|
| 953 |
-
]
|
| 954 |
-
|
| 955 |
-
[[package]]
|
| 956 |
-
name = "ipywidgets"
|
| 957 |
-
version = "8.0.6"
|
| 958 |
-
description = "Jupyter interactive widgets"
|
| 959 |
-
optional = false
|
| 960 |
-
python-versions = ">=3.7"
|
| 961 |
-
files = [
|
| 962 |
-
{file = "ipywidgets-8.0.6-py3-none-any.whl", hash = "sha256:a60bf8d2528997e05ac83fd19ea2fbe65f2e79fbe1b2b35779bdfc46c2941dcc"},
|
| 963 |
-
{file = "ipywidgets-8.0.6.tar.gz", hash = "sha256:de7d779f2045d60de9f6c25f653fdae2dba57898e6a1284494b3ba20b6893bb8"},
|
| 964 |
-
]
|
| 965 |
-
|
| 966 |
-
[package.dependencies]
|
| 967 |
-
ipykernel = ">=4.5.1"
|
| 968 |
-
ipython = ">=6.1.0"
|
| 969 |
-
jupyterlab-widgets = ">=3.0.7,<3.1.0"
|
| 970 |
-
traitlets = ">=4.3.1"
|
| 971 |
-
widgetsnbextension = ">=4.0.7,<4.1.0"
|
| 972 |
-
|
| 973 |
-
[package.extras]
|
| 974 |
-
test = ["ipykernel", "jsonschema", "pytest (>=3.6.0)", "pytest-cov", "pytz"]
|
| 975 |
-
|
| 976 |
[[package]]
|
| 977 |
name = "isoduration"
|
| 978 |
version = "20.11.0"
|
|
@@ -1023,6 +939,20 @@ MarkupSafe = ">=2.0"
|
|
| 1023 |
[package.extras]
|
| 1024 |
i18n = ["Babel (>=2.7)"]
|
| 1025 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1026 |
[[package]]
|
| 1027 |
name = "jsonpointer"
|
| 1028 |
version = "2.4"
|
|
@@ -1060,26 +990,6 @@ webcolors = {version = ">=1.11", optional = true, markers = "extra == \"format-n
|
|
| 1060 |
format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
|
| 1061 |
format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
|
| 1062 |
|
| 1063 |
-
[[package]]
|
| 1064 |
-
name = "jupyter"
|
| 1065 |
-
version = "1.0.0"
|
| 1066 |
-
description = "Jupyter metapackage. Install all the Jupyter components in one go."
|
| 1067 |
-
optional = false
|
| 1068 |
-
python-versions = "*"
|
| 1069 |
-
files = [
|
| 1070 |
-
{file = "jupyter-1.0.0-py2.py3-none-any.whl", hash = "sha256:5b290f93b98ffbc21c0c7e749f054b3267782166d72fa5e3ed1ed4eaf34a2b78"},
|
| 1071 |
-
{file = "jupyter-1.0.0.tar.gz", hash = "sha256:d9dc4b3318f310e34c82951ea5d6683f67bed7def4b259fafbfe4f1beb1d8e5f"},
|
| 1072 |
-
{file = "jupyter-1.0.0.zip", hash = "sha256:3e1f86076bbb7c8c207829390305a2b1fe836d471ed54be66a3b8c41e7f46cc7"},
|
| 1073 |
-
]
|
| 1074 |
-
|
| 1075 |
-
[package.dependencies]
|
| 1076 |
-
ipykernel = "*"
|
| 1077 |
-
ipywidgets = "*"
|
| 1078 |
-
jupyter-console = "*"
|
| 1079 |
-
nbconvert = "*"
|
| 1080 |
-
notebook = "*"
|
| 1081 |
-
qtconsole = "*"
|
| 1082 |
-
|
| 1083 |
[[package]]
|
| 1084 |
name = "jupyter-client"
|
| 1085 |
version = "8.3.0"
|
|
@@ -1102,30 +1012,6 @@ traitlets = ">=5.3"
|
|
| 1102 |
docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
|
| 1103 |
test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"]
|
| 1104 |
|
| 1105 |
-
[[package]]
|
| 1106 |
-
name = "jupyter-console"
|
| 1107 |
-
version = "6.6.3"
|
| 1108 |
-
description = "Jupyter terminal console"
|
| 1109 |
-
optional = false
|
| 1110 |
-
python-versions = ">=3.7"
|
| 1111 |
-
files = [
|
| 1112 |
-
{file = "jupyter_console-6.6.3-py3-none-any.whl", hash = "sha256:309d33409fcc92ffdad25f0bcdf9a4a9daa61b6f341177570fdac03de5352485"},
|
| 1113 |
-
{file = "jupyter_console-6.6.3.tar.gz", hash = "sha256:566a4bf31c87adbfadf22cdf846e3069b59a71ed5da71d6ba4d8aaad14a53539"},
|
| 1114 |
-
]
|
| 1115 |
-
|
| 1116 |
-
[package.dependencies]
|
| 1117 |
-
ipykernel = ">=6.14"
|
| 1118 |
-
ipython = "*"
|
| 1119 |
-
jupyter-client = ">=7.0.0"
|
| 1120 |
-
jupyter-core = ">=4.12,<5.0.dev0 || >=5.1.dev0"
|
| 1121 |
-
prompt-toolkit = ">=3.0.30"
|
| 1122 |
-
pygments = "*"
|
| 1123 |
-
pyzmq = ">=17"
|
| 1124 |
-
traitlets = ">=5.4"
|
| 1125 |
-
|
| 1126 |
-
[package.extras]
|
| 1127 |
-
test = ["flaky", "pexpect", "pytest"]
|
| 1128 |
-
|
| 1129 |
[[package]]
|
| 1130 |
name = "jupyter-core"
|
| 1131 |
version = "5.3.1"
|
|
@@ -1170,6 +1056,20 @@ cli = ["click", "rich"]
|
|
| 1170 |
docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"]
|
| 1171 |
test = ["click", "coverage", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "pytest-cov", "rich"]
|
| 1172 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1173 |
[[package]]
|
| 1174 |
name = "jupyter-server"
|
| 1175 |
version = "2.7.0"
|
|
@@ -1225,6 +1125,37 @@ terminado = ">=0.8.3"
|
|
| 1225 |
docs = ["jinja2", "jupyter-server", "mistune (<3.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"]
|
| 1226 |
test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"]
|
| 1227 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1228 |
[[package]]
|
| 1229 |
name = "jupyterlab-pygments"
|
| 1230 |
version = "0.2.2"
|
|
@@ -1237,16 +1168,30 @@ files = [
|
|
| 1237 |
]
|
| 1238 |
|
| 1239 |
[[package]]
|
| 1240 |
-
name = "jupyterlab-
|
| 1241 |
-
version = "
|
| 1242 |
-
description = "
|
| 1243 |
optional = false
|
| 1244 |
python-versions = ">=3.7"
|
| 1245 |
files = [
|
| 1246 |
-
{file = "
|
| 1247 |
-
{file = "
|
| 1248 |
]
|
| 1249 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1250 |
[[package]]
|
| 1251 |
name = "jupytext"
|
| 1252 |
version = "1.14.6"
|
|
@@ -1470,41 +1415,6 @@ rtd = ["ipython", "pydata-sphinx-theme (==v0.13.0rc4)", "sphinx-autodoc2 (>=0.4.
|
|
| 1470 |
testing = ["beautifulsoup4", "coverage[toml]", "pytest (>=7,<8)", "pytest-cov", "pytest-param-files (>=0.3.4,<0.4.0)", "pytest-regressions", "sphinx-pytest"]
|
| 1471 |
testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4,<0.4.0)"]
|
| 1472 |
|
| 1473 |
-
[[package]]
|
| 1474 |
-
name = "nbclassic"
|
| 1475 |
-
version = "1.0.0"
|
| 1476 |
-
description = "Jupyter Notebook as a Jupyter Server extension."
|
| 1477 |
-
optional = false
|
| 1478 |
-
python-versions = ">=3.7"
|
| 1479 |
-
files = [
|
| 1480 |
-
{file = "nbclassic-1.0.0-py3-none-any.whl", hash = "sha256:f99e4769b4750076cd4235c044b61232110733322384a94a63791d2e7beacc66"},
|
| 1481 |
-
{file = "nbclassic-1.0.0.tar.gz", hash = "sha256:0ae11eb2319455d805596bf320336cda9554b41d99ab9a3c31bf8180bffa30e3"},
|
| 1482 |
-
]
|
| 1483 |
-
|
| 1484 |
-
[package.dependencies]
|
| 1485 |
-
argon2-cffi = "*"
|
| 1486 |
-
ipykernel = "*"
|
| 1487 |
-
ipython-genutils = "*"
|
| 1488 |
-
jinja2 = "*"
|
| 1489 |
-
jupyter-client = ">=6.1.1"
|
| 1490 |
-
jupyter-core = ">=4.6.1"
|
| 1491 |
-
jupyter-server = ">=1.8"
|
| 1492 |
-
nbconvert = ">=5"
|
| 1493 |
-
nbformat = "*"
|
| 1494 |
-
nest-asyncio = ">=1.5"
|
| 1495 |
-
notebook-shim = ">=0.2.3"
|
| 1496 |
-
prometheus-client = "*"
|
| 1497 |
-
pyzmq = ">=17"
|
| 1498 |
-
Send2Trash = ">=1.8.0"
|
| 1499 |
-
terminado = ">=0.8.3"
|
| 1500 |
-
tornado = ">=6.1"
|
| 1501 |
-
traitlets = ">=4.2.1"
|
| 1502 |
-
|
| 1503 |
-
[package.extras]
|
| 1504 |
-
docs = ["myst-parser", "nbsphinx", "sphinx", "sphinx-rtd-theme", "sphinxcontrib-github-alt"]
|
| 1505 |
-
json-logging = ["json-logging"]
|
| 1506 |
-
test = ["coverage", "nbval", "pytest", "pytest-cov", "pytest-jupyter", "pytest-playwright", "pytest-tornasync", "requests", "requests-unixsocket", "testpath"]
|
| 1507 |
-
|
| 1508 |
[[package]]
|
| 1509 |
name = "nbclient"
|
| 1510 |
version = "0.8.0"
|
|
@@ -1610,40 +1520,6 @@ files = [
|
|
| 1610 |
[package.dependencies]
|
| 1611 |
setuptools = "*"
|
| 1612 |
|
| 1613 |
-
[[package]]
|
| 1614 |
-
name = "notebook"
|
| 1615 |
-
version = "6.5.4"
|
| 1616 |
-
description = "A web-based notebook environment for interactive computing"
|
| 1617 |
-
optional = false
|
| 1618 |
-
python-versions = ">=3.7"
|
| 1619 |
-
files = [
|
| 1620 |
-
{file = "notebook-6.5.4-py3-none-any.whl", hash = "sha256:dd17e78aefe64c768737b32bf171c1c766666a21cc79a44d37a1700771cab56f"},
|
| 1621 |
-
{file = "notebook-6.5.4.tar.gz", hash = "sha256:517209568bd47261e2def27a140e97d49070602eea0d226a696f42a7f16c9a4e"},
|
| 1622 |
-
]
|
| 1623 |
-
|
| 1624 |
-
[package.dependencies]
|
| 1625 |
-
argon2-cffi = "*"
|
| 1626 |
-
ipykernel = "*"
|
| 1627 |
-
ipython-genutils = "*"
|
| 1628 |
-
jinja2 = "*"
|
| 1629 |
-
jupyter-client = ">=5.3.4"
|
| 1630 |
-
jupyter-core = ">=4.6.1"
|
| 1631 |
-
nbclassic = ">=0.4.7"
|
| 1632 |
-
nbconvert = ">=5"
|
| 1633 |
-
nbformat = "*"
|
| 1634 |
-
nest-asyncio = ">=1.5"
|
| 1635 |
-
prometheus-client = "*"
|
| 1636 |
-
pyzmq = ">=17"
|
| 1637 |
-
Send2Trash = ">=1.8.0"
|
| 1638 |
-
terminado = ">=0.8.3"
|
| 1639 |
-
tornado = ">=6.1"
|
| 1640 |
-
traitlets = ">=4.2.1"
|
| 1641 |
-
|
| 1642 |
-
[package.extras]
|
| 1643 |
-
docs = ["myst-parser", "nbsphinx", "sphinx", "sphinx-rtd-theme", "sphinxcontrib-github-alt"]
|
| 1644 |
-
json-logging = ["json-logging"]
|
| 1645 |
-
test = ["coverage", "nbval", "pytest", "pytest-cov", "requests", "requests-unixsocket", "selenium (==4.1.5)", "testpath"]
|
| 1646 |
-
|
| 1647 |
[[package]]
|
| 1648 |
name = "notebook-shim"
|
| 1649 |
version = "0.2.3"
|
|
@@ -1719,36 +1595,36 @@ files = [
|
|
| 1719 |
|
| 1720 |
[[package]]
|
| 1721 |
name = "pandas"
|
| 1722 |
-
version = "2.0.
|
| 1723 |
description = "Powerful data structures for data analysis, time series, and statistics"
|
| 1724 |
optional = false
|
| 1725 |
python-versions = ">=3.8"
|
| 1726 |
files = [
|
| 1727 |
-
{file = "pandas-2.0.
|
| 1728 |
-
{file = "pandas-2.0.
|
| 1729 |
-
{file = "pandas-2.0.
|
| 1730 |
-
{file = "pandas-2.0.
|
| 1731 |
-
{file = "pandas-2.0.
|
| 1732 |
-
{file = "pandas-2.0.
|
| 1733 |
-
{file = "pandas-2.0.
|
| 1734 |
-
{file = "pandas-2.0.
|
| 1735 |
-
{file = "pandas-2.0.
|
| 1736 |
-
{file = "pandas-2.0.
|
| 1737 |
-
{file = "pandas-2.0.
|
| 1738 |
-
{file = "pandas-2.0.
|
| 1739 |
-
{file = "pandas-2.0.
|
| 1740 |
-
{file = "pandas-2.0.
|
| 1741 |
-
{file = "pandas-2.0.
|
| 1742 |
-
{file = "pandas-2.0.
|
| 1743 |
-
{file = "pandas-2.0.
|
| 1744 |
-
{file = "pandas-2.0.
|
| 1745 |
-
{file = "pandas-2.0.
|
| 1746 |
-
{file = "pandas-2.0.
|
| 1747 |
-
{file = "pandas-2.0.
|
| 1748 |
-
{file = "pandas-2.0.
|
| 1749 |
-
{file = "pandas-2.0.
|
| 1750 |
-
{file = "pandas-2.0.
|
| 1751 |
-
{file = "pandas-2.0.
|
| 1752 |
]
|
| 1753 |
|
| 1754 |
[package.dependencies]
|
|
@@ -1761,7 +1637,7 @@ pytz = ">=2020.1"
|
|
| 1761 |
tzdata = ">=2022.1"
|
| 1762 |
|
| 1763 |
[package.extras]
|
| 1764 |
-
all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.
|
| 1765 |
aws = ["s3fs (>=2021.08.0)"]
|
| 1766 |
clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"]
|
| 1767 |
compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"]
|
|
@@ -1780,7 +1656,7 @@ plot = ["matplotlib (>=3.6.1)"]
|
|
| 1780 |
postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"]
|
| 1781 |
spss = ["pyreadstat (>=1.1.2)"]
|
| 1782 |
sql-other = ["SQLAlchemy (>=1.4.16)"]
|
| 1783 |
-
test = ["hypothesis (>=6.34.2)", "pytest (>=7.
|
| 1784 |
xml = ["lxml (>=4.6.3)"]
|
| 1785 |
|
| 1786 |
[[package]]
|
|
@@ -2477,49 +2353,6 @@ files = [
|
|
| 2477 |
[package.dependencies]
|
| 2478 |
cffi = {version = "*", markers = "implementation_name == \"pypy\""}
|
| 2479 |
|
| 2480 |
-
[[package]]
|
| 2481 |
-
name = "qtconsole"
|
| 2482 |
-
version = "5.4.3"
|
| 2483 |
-
description = "Jupyter Qt console"
|
| 2484 |
-
optional = false
|
| 2485 |
-
python-versions = ">= 3.7"
|
| 2486 |
-
files = [
|
| 2487 |
-
{file = "qtconsole-5.4.3-py3-none-any.whl", hash = "sha256:35fd6e87b1f6d1fd41801b07e69339f8982e76afd4fa8ef35595bc6036717189"},
|
| 2488 |
-
{file = "qtconsole-5.4.3.tar.gz", hash = "sha256:5e4082a86a201796b2a5cfd4298352d22b158b51b57736531824715fc2a979dd"},
|
| 2489 |
-
]
|
| 2490 |
-
|
| 2491 |
-
[package.dependencies]
|
| 2492 |
-
ipykernel = ">=4.1"
|
| 2493 |
-
ipython-genutils = "*"
|
| 2494 |
-
jupyter-client = ">=4.1"
|
| 2495 |
-
jupyter-core = "*"
|
| 2496 |
-
packaging = "*"
|
| 2497 |
-
pygments = "*"
|
| 2498 |
-
pyzmq = ">=17.1"
|
| 2499 |
-
qtpy = ">=2.0.1"
|
| 2500 |
-
traitlets = "<5.2.1 || >5.2.1,<5.2.2 || >5.2.2"
|
| 2501 |
-
|
| 2502 |
-
[package.extras]
|
| 2503 |
-
doc = ["Sphinx (>=1.3)"]
|
| 2504 |
-
test = ["flaky", "pytest", "pytest-qt"]
|
| 2505 |
-
|
| 2506 |
-
[[package]]
|
| 2507 |
-
name = "qtpy"
|
| 2508 |
-
version = "2.3.1"
|
| 2509 |
-
description = "Provides an abstraction layer on top of the various Qt bindings (PyQt5/6 and PySide2/6)."
|
| 2510 |
-
optional = false
|
| 2511 |
-
python-versions = ">=3.7"
|
| 2512 |
-
files = [
|
| 2513 |
-
{file = "QtPy-2.3.1-py3-none-any.whl", hash = "sha256:5193d20e0b16e4d9d3bc2c642d04d9f4e2c892590bd1b9c92bfe38a95d5a2e12"},
|
| 2514 |
-
{file = "QtPy-2.3.1.tar.gz", hash = "sha256:a8c74982d6d172ce124d80cafd39653df78989683f760f2281ba91a6e7b9de8b"},
|
| 2515 |
-
]
|
| 2516 |
-
|
| 2517 |
-
[package.dependencies]
|
| 2518 |
-
packaging = "*"
|
| 2519 |
-
|
| 2520 |
-
[package.extras]
|
| 2521 |
-
test = ["pytest (>=6,!=7.0.0,!=7.0.1)", "pytest-cov (>=3.0.0)", "pytest-qt"]
|
| 2522 |
-
|
| 2523 |
[[package]]
|
| 2524 |
name = "questionary"
|
| 2525 |
version = "1.10.0"
|
|
@@ -3052,26 +2885,6 @@ files = [
|
|
| 3052 |
{file = "tornado-6.3.2.tar.gz", hash = "sha256:4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba"},
|
| 3053 |
]
|
| 3054 |
|
| 3055 |
-
[[package]]
|
| 3056 |
-
name = "tqdm"
|
| 3057 |
-
version = "4.65.0"
|
| 3058 |
-
description = "Fast, Extensible Progress Meter"
|
| 3059 |
-
optional = false
|
| 3060 |
-
python-versions = ">=3.7"
|
| 3061 |
-
files = [
|
| 3062 |
-
{file = "tqdm-4.65.0-py3-none-any.whl", hash = "sha256:c4f53a17fe37e132815abceec022631be8ffe1b9381c2e6e30aa70edc99e9671"},
|
| 3063 |
-
{file = "tqdm-4.65.0.tar.gz", hash = "sha256:1871fb68a86b8fb3b59ca4cdd3dcccbc7e6d613eeed31f4c332531977b89beb5"},
|
| 3064 |
-
]
|
| 3065 |
-
|
| 3066 |
-
[package.dependencies]
|
| 3067 |
-
colorama = {version = "*", markers = "platform_system == \"Windows\""}
|
| 3068 |
-
|
| 3069 |
-
[package.extras]
|
| 3070 |
-
dev = ["py-make (>=0.1.0)", "twine", "wheel"]
|
| 3071 |
-
notebook = ["ipywidgets (>=6)"]
|
| 3072 |
-
slack = ["slack-sdk"]
|
| 3073 |
-
telegram = ["requests"]
|
| 3074 |
-
|
| 3075 |
[[package]]
|
| 3076 |
name = "traitlets"
|
| 3077 |
version = "5.9.0"
|
|
@@ -3089,13 +2902,13 @@ test = ["argcomplete (>=2.0)", "pre-commit", "pytest", "pytest-mock"]
|
|
| 3089 |
|
| 3090 |
[[package]]
|
| 3091 |
name = "typing-extensions"
|
| 3092 |
-
version = "4.
|
| 3093 |
description = "Backported and Experimental Type Hints for Python 3.7+"
|
| 3094 |
optional = false
|
| 3095 |
python-versions = ">=3.7"
|
| 3096 |
files = [
|
| 3097 |
-
{file = "typing_extensions-4.
|
| 3098 |
-
{file = "typing_extensions-4.
|
| 3099 |
]
|
| 3100 |
|
| 3101 |
[[package]]
|
|
@@ -3286,17 +3099,6 @@ docs = ["Sphinx (>=3.4)", "sphinx-rtd-theme (>=0.5)"]
|
|
| 3286 |
optional = ["python-socks", "wsaccel"]
|
| 3287 |
test = ["websockets"]
|
| 3288 |
|
| 3289 |
-
[[package]]
|
| 3290 |
-
name = "widgetsnbextension"
|
| 3291 |
-
version = "4.0.7"
|
| 3292 |
-
description = "Jupyter interactive widgets for Jupyter Notebook"
|
| 3293 |
-
optional = false
|
| 3294 |
-
python-versions = ">=3.7"
|
| 3295 |
-
files = [
|
| 3296 |
-
{file = "widgetsnbextension-4.0.7-py3-none-any.whl", hash = "sha256:be3228a73bbab189a16be2d4a3cd89ecbd4e31948bfdc64edac17dcdee3cd99c"},
|
| 3297 |
-
{file = "widgetsnbextension-4.0.7.tar.gz", hash = "sha256:ea67c17a7cd4ae358f8f46c3b304c40698bc0423732e3f273321ee141232c8be"},
|
| 3298 |
-
]
|
| 3299 |
-
|
| 3300 |
[[package]]
|
| 3301 |
name = "xdoctest"
|
| 3302 |
version = "1.1.1"
|
|
@@ -3342,4 +3144,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more
|
|
| 3342 |
[metadata]
|
| 3343 |
lock-version = "2.0"
|
| 3344 |
python-versions = "^3.10"
|
| 3345 |
-
content-hash = "
|
|
|
|
| 168 |
[package.extras]
|
| 169 |
test = ["astroid", "pytest"]
|
| 170 |
|
| 171 |
+
[[package]]
|
| 172 |
+
name = "async-lru"
|
| 173 |
+
version = "2.0.2"
|
| 174 |
+
description = "Simple LRU cache for asyncio"
|
| 175 |
+
optional = false
|
| 176 |
+
python-versions = ">=3.8"
|
| 177 |
+
files = [
|
| 178 |
+
{file = "async-lru-2.0.2.tar.gz", hash = "sha256:3b87ec4f2460c52cc7916a0138cc606b584c75d1ef7d661853c95d1d3acb869a"},
|
| 179 |
+
{file = "async_lru-2.0.2-py3-none-any.whl", hash = "sha256:d7c2b873e9af5c5a1f0a87a6c145e7e0b4eb92342b7235dda9dd5b10e950d6e2"},
|
| 180 |
+
]
|
| 181 |
+
|
| 182 |
+
[package.dependencies]
|
| 183 |
+
typing-extensions = ">=4.0.0"
|
| 184 |
+
|
| 185 |
[[package]]
|
| 186 |
name = "attrs"
|
| 187 |
version = "23.1.0"
|
|
|
|
| 724 |
{file = "fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f"},
|
| 725 |
]
|
| 726 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 727 |
[[package]]
|
| 728 |
name = "gitdb"
|
| 729 |
version = "4.0.10"
|
|
|
|
| 752 |
[package.dependencies]
|
| 753 |
gitdb = ">=4.0.1,<5"
|
| 754 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 755 |
[[package]]
|
| 756 |
name = "identify"
|
| 757 |
version = "2.5.24"
|
|
|
|
| 889 |
test = ["pytest (<7.1)", "pytest-asyncio", "testpath"]
|
| 890 |
test-extra = ["curio", "matplotlib (!=3.2.0)", "nbformat", "numpy (>=1.21)", "pandas", "pytest (<7.1)", "pytest-asyncio", "testpath", "trio"]
|
| 891 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 892 |
[[package]]
|
| 893 |
name = "isoduration"
|
| 894 |
version = "20.11.0"
|
|
|
|
| 939 |
[package.extras]
|
| 940 |
i18n = ["Babel (>=2.7)"]
|
| 941 |
|
| 942 |
+
[[package]]
|
| 943 |
+
name = "json5"
|
| 944 |
+
version = "0.9.14"
|
| 945 |
+
description = "A Python implementation of the JSON5 data format."
|
| 946 |
+
optional = false
|
| 947 |
+
python-versions = "*"
|
| 948 |
+
files = [
|
| 949 |
+
{file = "json5-0.9.14-py2.py3-none-any.whl", hash = "sha256:740c7f1b9e584a468dbb2939d8d458db3427f2c93ae2139d05f47e453eae964f"},
|
| 950 |
+
{file = "json5-0.9.14.tar.gz", hash = "sha256:9ed66c3a6ca3510a976a9ef9b8c0787de24802724ab1860bc0153c7fdd589b02"},
|
| 951 |
+
]
|
| 952 |
+
|
| 953 |
+
[package.extras]
|
| 954 |
+
dev = ["hypothesis"]
|
| 955 |
+
|
| 956 |
[[package]]
|
| 957 |
name = "jsonpointer"
|
| 958 |
version = "2.4"
|
|
|
|
| 990 |
format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"]
|
| 991 |
format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"]
|
| 992 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 993 |
[[package]]
|
| 994 |
name = "jupyter-client"
|
| 995 |
version = "8.3.0"
|
|
|
|
| 1012 |
docs = ["ipykernel", "myst-parser", "pydata-sphinx-theme", "sphinx (>=4)", "sphinx-autodoc-typehints", "sphinxcontrib-github-alt", "sphinxcontrib-spelling"]
|
| 1013 |
test = ["coverage", "ipykernel (>=6.14)", "mypy", "paramiko", "pre-commit", "pytest", "pytest-cov", "pytest-jupyter[client] (>=0.4.1)", "pytest-timeout"]
|
| 1014 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1015 |
[[package]]
|
| 1016 |
name = "jupyter-core"
|
| 1017 |
version = "5.3.1"
|
|
|
|
| 1056 |
docs = ["jupyterlite-sphinx", "myst-parser", "pydata-sphinx-theme", "sphinxcontrib-spelling"]
|
| 1057 |
test = ["click", "coverage", "pre-commit", "pytest (>=7.0)", "pytest-asyncio (>=0.19.0)", "pytest-console-scripts", "pytest-cov", "rich"]
|
| 1058 |
|
| 1059 |
+
[[package]]
|
| 1060 |
+
name = "jupyter-lsp"
|
| 1061 |
+
version = "2.2.0"
|
| 1062 |
+
description = "Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab server"
|
| 1063 |
+
optional = false
|
| 1064 |
+
python-versions = ">=3.8"
|
| 1065 |
+
files = [
|
| 1066 |
+
{file = "jupyter-lsp-2.2.0.tar.gz", hash = "sha256:8ebbcb533adb41e5d635eb8fe82956b0aafbf0fd443b6c4bfa906edeeb8635a1"},
|
| 1067 |
+
{file = "jupyter_lsp-2.2.0-py3-none-any.whl", hash = "sha256:9e06b8b4f7dd50300b70dd1a78c0c3b0c3d8fa68e0f2d8a5d1fbab62072aca3f"},
|
| 1068 |
+
]
|
| 1069 |
+
|
| 1070 |
+
[package.dependencies]
|
| 1071 |
+
jupyter-server = ">=1.1.2"
|
| 1072 |
+
|
| 1073 |
[[package]]
|
| 1074 |
name = "jupyter-server"
|
| 1075 |
version = "2.7.0"
|
|
|
|
| 1125 |
docs = ["jinja2", "jupyter-server", "mistune (<3.0)", "myst-parser", "nbformat", "packaging", "pydata-sphinx-theme", "sphinxcontrib-github-alt", "sphinxcontrib-openapi", "sphinxcontrib-spelling", "sphinxemoji", "tornado"]
|
| 1126 |
test = ["coverage", "jupyter-server (>=2.0.0)", "pytest (>=7.0)", "pytest-cov", "pytest-jupyter[server] (>=0.5.3)", "pytest-timeout"]
|
| 1127 |
|
| 1128 |
+
[[package]]
|
| 1129 |
+
name = "jupyterlab"
|
| 1130 |
+
version = "4.0.2"
|
| 1131 |
+
description = "JupyterLab computational environment"
|
| 1132 |
+
optional = false
|
| 1133 |
+
python-versions = ">=3.8"
|
| 1134 |
+
files = [
|
| 1135 |
+
{file = "jupyterlab-4.0.2-py3-none-any.whl", hash = "sha256:201b4f729a7dc5e22ca6c4dd8944cde792f1cb008d7c6b821e0a48d2502205c8"},
|
| 1136 |
+
{file = "jupyterlab-4.0.2.tar.gz", hash = "sha256:0a77898aebb55da391e5f57022774c089fb075e98803ff3d514a79b727dc934d"},
|
| 1137 |
+
]
|
| 1138 |
+
|
| 1139 |
+
[package.dependencies]
|
| 1140 |
+
async-lru = ">=1.0.0"
|
| 1141 |
+
ipykernel = "*"
|
| 1142 |
+
jinja2 = ">=3.0.3"
|
| 1143 |
+
jupyter-core = "*"
|
| 1144 |
+
jupyter-lsp = ">=2.0.0"
|
| 1145 |
+
jupyter-server = ">=2.4.0,<3"
|
| 1146 |
+
jupyterlab-server = ">=2.19.0,<3"
|
| 1147 |
+
notebook-shim = ">=0.2"
|
| 1148 |
+
packaging = "*"
|
| 1149 |
+
tomli = {version = "*", markers = "python_version < \"3.11\""}
|
| 1150 |
+
tornado = ">=6.2.0"
|
| 1151 |
+
traitlets = "*"
|
| 1152 |
+
|
| 1153 |
+
[package.extras]
|
| 1154 |
+
dev = ["black[jupyter] (==23.3.0)", "build", "bump2version", "coverage", "hatch", "pre-commit", "pytest-cov", "ruff (==0.0.271)"]
|
| 1155 |
+
docs = ["jsx-lexer", "myst-parser", "pydata-sphinx-theme (>=0.13.0)", "pytest", "pytest-check-links", "pytest-tornasync", "sphinx (>=1.8)", "sphinx-copybutton"]
|
| 1156 |
+
docs-screenshots = ["altair (==5.0.1)", "ipython (==8.14.0)", "ipywidgets (==8.0.6)", "jupyterlab-geojson (==3.4.0)", "jupyterlab-language-pack-zh-cn (==4.0.post0)", "matplotlib (==3.7.1)", "nbconvert (>=7.0.0)", "pandas (==2.0.2)", "scipy (==1.10.1)", "vega-datasets (==0.9.0)"]
|
| 1157 |
+
test = ["coverage", "pytest (>=7.0)", "pytest-check-links (>=0.7)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter (>=0.5.3)", "pytest-timeout", "pytest-tornasync", "requests", "requests-cache", "virtualenv"]
|
| 1158 |
+
|
| 1159 |
[[package]]
|
| 1160 |
name = "jupyterlab-pygments"
|
| 1161 |
version = "0.2.2"
|
|
|
|
| 1168 |
]
|
| 1169 |
|
| 1170 |
[[package]]
|
| 1171 |
+
name = "jupyterlab-server"
|
| 1172 |
+
version = "2.23.0"
|
| 1173 |
+
description = "A set of server components for JupyterLab and JupyterLab like applications."
|
| 1174 |
optional = false
|
| 1175 |
python-versions = ">=3.7"
|
| 1176 |
files = [
|
| 1177 |
+
{file = "jupyterlab_server-2.23.0-py3-none-any.whl", hash = "sha256:a5ea2c839336a8ba7c38c8e7b2f24cedf919f0d439f4d2e606d9322013a95788"},
|
| 1178 |
+
{file = "jupyterlab_server-2.23.0.tar.gz", hash = "sha256:83c01aa4ad9451cd61b383e634d939ff713850f4640c0056b2cdb2b6211a74c7"},
|
| 1179 |
]
|
| 1180 |
|
| 1181 |
+
[package.dependencies]
|
| 1182 |
+
babel = ">=2.10"
|
| 1183 |
+
jinja2 = ">=3.0.3"
|
| 1184 |
+
json5 = ">=0.9.0"
|
| 1185 |
+
jsonschema = ">=4.17.3"
|
| 1186 |
+
jupyter-server = ">=1.21,<3"
|
| 1187 |
+
packaging = ">=21.3"
|
| 1188 |
+
requests = ">=2.28"
|
| 1189 |
+
|
| 1190 |
+
[package.extras]
|
| 1191 |
+
docs = ["autodoc-traits", "jinja2 (<3.2.0)", "mistune (<4)", "myst-parser", "pydata-sphinx-theme", "sphinx", "sphinx-copybutton", "sphinxcontrib-openapi (>0.8)"]
|
| 1192 |
+
openapi = ["openapi-core (>=0.16.1,<0.17.0)", "ruamel-yaml"]
|
| 1193 |
+
test = ["hatch", "ipykernel", "jupyterlab-server[openapi]", "openapi-spec-validator (>=0.5.1,<0.6.0)", "pytest (>=7.0)", "pytest-console-scripts", "pytest-cov", "pytest-jupyter[server] (>=0.6.2)", "pytest-timeout", "requests-mock", "sphinxcontrib-spelling", "strict-rfc3339", "werkzeug"]
|
| 1194 |
+
|
| 1195 |
[[package]]
|
| 1196 |
name = "jupytext"
|
| 1197 |
version = "1.14.6"
|
|
|
|
| 1415 |
testing = ["beautifulsoup4", "coverage[toml]", "pytest (>=7,<8)", "pytest-cov", "pytest-param-files (>=0.3.4,<0.4.0)", "pytest-regressions", "sphinx-pytest"]
|
| 1416 |
testing-docutils = ["pygments", "pytest (>=7,<8)", "pytest-param-files (>=0.3.4,<0.4.0)"]
|
| 1417 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1418 |
[[package]]
|
| 1419 |
name = "nbclient"
|
| 1420 |
version = "0.8.0"
|
|
|
|
| 1520 |
[package.dependencies]
|
| 1521 |
setuptools = "*"
|
| 1522 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1523 |
[[package]]
|
| 1524 |
name = "notebook-shim"
|
| 1525 |
version = "0.2.3"
|
|
|
|
| 1595 |
|
| 1596 |
[[package]]
|
| 1597 |
name = "pandas"
|
| 1598 |
+
version = "2.0.3"
|
| 1599 |
description = "Powerful data structures for data analysis, time series, and statistics"
|
| 1600 |
optional = false
|
| 1601 |
python-versions = ">=3.8"
|
| 1602 |
files = [
|
| 1603 |
+
{file = "pandas-2.0.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e4c7c9f27a4185304c7caf96dc7d91bc60bc162221152de697c98eb0b2648dd8"},
|
| 1604 |
+
{file = "pandas-2.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f167beed68918d62bffb6ec64f2e1d8a7d297a038f86d4aed056b9493fca407f"},
|
| 1605 |
+
{file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ce0c6f76a0f1ba361551f3e6dceaff06bde7514a374aa43e33b588ec10420183"},
|
| 1606 |
+
{file = "pandas-2.0.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba619e410a21d8c387a1ea6e8a0e49bb42216474436245718d7f2e88a2f8d7c0"},
|
| 1607 |
+
{file = "pandas-2.0.3-cp310-cp310-win32.whl", hash = "sha256:3ef285093b4fe5058eefd756100a367f27029913760773c8bf1d2d8bebe5d210"},
|
| 1608 |
+
{file = "pandas-2.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:9ee1a69328d5c36c98d8e74db06f4ad518a1840e8ccb94a4ba86920986bb617e"},
|
| 1609 |
+
{file = "pandas-2.0.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b084b91d8d66ab19f5bb3256cbd5ea661848338301940e17f4492b2ce0801fe8"},
|
| 1610 |
+
{file = "pandas-2.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:37673e3bdf1551b95bf5d4ce372b37770f9529743d2498032439371fc7b7eb26"},
|
| 1611 |
+
{file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b9cb1e14fdb546396b7e1b923ffaeeac24e4cedd14266c3497216dd4448e4f2d"},
|
| 1612 |
+
{file = "pandas-2.0.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d9cd88488cceb7635aebb84809d087468eb33551097d600c6dad13602029c2df"},
|
| 1613 |
+
{file = "pandas-2.0.3-cp311-cp311-win32.whl", hash = "sha256:694888a81198786f0e164ee3a581df7d505024fbb1f15202fc7db88a71d84ebd"},
|
| 1614 |
+
{file = "pandas-2.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:6a21ab5c89dcbd57f78d0ae16630b090eec626360085a4148693def5452d8a6b"},
|
| 1615 |
+
{file = "pandas-2.0.3-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:9e4da0d45e7f34c069fe4d522359df7d23badf83abc1d1cef398895822d11061"},
|
| 1616 |
+
{file = "pandas-2.0.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:32fca2ee1b0d93dd71d979726b12b61faa06aeb93cf77468776287f41ff8fdc5"},
|
| 1617 |
+
{file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:258d3624b3ae734490e4d63c430256e716f488c4fcb7c8e9bde2d3aa46c29089"},
|
| 1618 |
+
{file = "pandas-2.0.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9eae3dc34fa1aa7772dd3fc60270d13ced7346fcbcfee017d3132ec625e23bb0"},
|
| 1619 |
+
{file = "pandas-2.0.3-cp38-cp38-win32.whl", hash = "sha256:f3421a7afb1a43f7e38e82e844e2bca9a6d793d66c1a7f9f0ff39a795bbc5e02"},
|
| 1620 |
+
{file = "pandas-2.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:69d7f3884c95da3a31ef82b7618af5710dba95bb885ffab339aad925c3e8ce78"},
|
| 1621 |
+
{file = "pandas-2.0.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5247fb1ba347c1261cbbf0fcfba4a3121fbb4029d95d9ef4dc45406620b25c8b"},
|
| 1622 |
+
{file = "pandas-2.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81af086f4543c9d8bb128328b5d32e9986e0c84d3ee673a2ac6fb57fd14f755e"},
|
| 1623 |
+
{file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1994c789bf12a7c5098277fb43836ce090f1073858c10f9220998ac74f37c69b"},
|
| 1624 |
+
{file = "pandas-2.0.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5ec591c48e29226bcbb316e0c1e9423622bc7a4eaf1ef7c3c9fa1a3981f89641"},
|
| 1625 |
+
{file = "pandas-2.0.3-cp39-cp39-win32.whl", hash = "sha256:04dbdbaf2e4d46ca8da896e1805bc04eb85caa9a82e259e8eed00254d5e0c682"},
|
| 1626 |
+
{file = "pandas-2.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:1168574b036cd8b93abc746171c9b4f1b83467438a5e45909fed645cf8692dbc"},
|
| 1627 |
+
{file = "pandas-2.0.3.tar.gz", hash = "sha256:c02f372a88e0d17f36d3093a644c73cfc1788e876a7c4bcb4020a77512e2043c"},
|
| 1628 |
]
|
| 1629 |
|
| 1630 |
[package.dependencies]
|
|
|
|
| 1637 |
tzdata = ">=2022.1"
|
| 1638 |
|
| 1639 |
[package.extras]
|
| 1640 |
+
all = ["PyQt5 (>=5.15.1)", "SQLAlchemy (>=1.4.16)", "beautifulsoup4 (>=4.9.3)", "bottleneck (>=1.3.2)", "brotlipy (>=0.7.0)", "fastparquet (>=0.6.3)", "fsspec (>=2021.07.0)", "gcsfs (>=2021.07.0)", "html5lib (>=1.1)", "hypothesis (>=6.34.2)", "jinja2 (>=3.0.0)", "lxml (>=4.6.3)", "matplotlib (>=3.6.1)", "numba (>=0.53.1)", "numexpr (>=2.7.3)", "odfpy (>=1.4.1)", "openpyxl (>=3.0.7)", "pandas-gbq (>=0.15.0)", "psycopg2 (>=2.8.6)", "pyarrow (>=7.0.0)", "pymysql (>=1.0.2)", "pyreadstat (>=1.1.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)", "python-snappy (>=0.6.0)", "pyxlsb (>=1.0.8)", "qtpy (>=2.2.0)", "s3fs (>=2021.08.0)", "scipy (>=1.7.1)", "tables (>=3.6.1)", "tabulate (>=0.8.9)", "xarray (>=0.21.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=1.4.3)", "zstandard (>=0.15.2)"]
|
| 1641 |
aws = ["s3fs (>=2021.08.0)"]
|
| 1642 |
clipboard = ["PyQt5 (>=5.15.1)", "qtpy (>=2.2.0)"]
|
| 1643 |
compression = ["brotlipy (>=0.7.0)", "python-snappy (>=0.6.0)", "zstandard (>=0.15.2)"]
|
|
|
|
| 1656 |
postgresql = ["SQLAlchemy (>=1.4.16)", "psycopg2 (>=2.8.6)"]
|
| 1657 |
spss = ["pyreadstat (>=1.1.2)"]
|
| 1658 |
sql-other = ["SQLAlchemy (>=1.4.16)"]
|
| 1659 |
+
test = ["hypothesis (>=6.34.2)", "pytest (>=7.3.2)", "pytest-asyncio (>=0.17.0)", "pytest-xdist (>=2.2.0)"]
|
| 1660 |
xml = ["lxml (>=4.6.3)"]
|
| 1661 |
|
| 1662 |
[[package]]
|
|
|
|
| 2353 |
[package.dependencies]
|
| 2354 |
cffi = {version = "*", markers = "implementation_name == \"pypy\""}
|
| 2355 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2356 |
[[package]]
|
| 2357 |
name = "questionary"
|
| 2358 |
version = "1.10.0"
|
|
|
|
| 2885 |
{file = "tornado-6.3.2.tar.gz", hash = "sha256:4b927c4f19b71e627b13f3db2324e4ae660527143f9e1f2e2fb404f3a187e2ba"},
|
| 2886 |
]
|
| 2887 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2888 |
[[package]]
|
| 2889 |
name = "traitlets"
|
| 2890 |
version = "5.9.0"
|
|
|
|
| 2902 |
|
| 2903 |
[[package]]
|
| 2904 |
name = "typing-extensions"
|
| 2905 |
+
version = "4.7.0"
|
| 2906 |
description = "Backported and Experimental Type Hints for Python 3.7+"
|
| 2907 |
optional = false
|
| 2908 |
python-versions = ">=3.7"
|
| 2909 |
files = [
|
| 2910 |
+
{file = "typing_extensions-4.7.0-py3-none-any.whl", hash = "sha256:5d8c9dac95c27d20df12fb1d97b9793ab8b2af8a3a525e68c80e21060c161771"},
|
| 2911 |
+
{file = "typing_extensions-4.7.0.tar.gz", hash = "sha256:935ccf31549830cda708b42289d44b6f74084d616a00be651601a4f968e77c82"},
|
| 2912 |
]
|
| 2913 |
|
| 2914 |
[[package]]
|
|
|
|
| 3099 |
optional = ["python-socks", "wsaccel"]
|
| 3100 |
test = ["websockets"]
|
| 3101 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3102 |
[[package]]
|
| 3103 |
name = "xdoctest"
|
| 3104 |
version = "1.1.1"
|
|
|
|
| 3144 |
[metadata]
|
| 3145 |
lock-version = "2.0"
|
| 3146 |
python-versions = "^3.10"
|
| 3147 |
+
content-hash = "b13e1a787c72642711e538fd67d39c50b045ee38428f16f9b4ec2500767fa95a"
|
pyproject.toml
CHANGED
|
@@ -23,7 +23,6 @@ pre-commit = "^3.2.0"
|
|
| 23 |
commitizen = "^2.42.1"
|
| 24 |
flake8-docstrings = "^1.7.0"
|
| 25 |
pygments = "^2.14.0"
|
| 26 |
-
huggingface-hub = "^0.15.1"
|
| 27 |
|
| 28 |
[tool.poetry.group.tests.dependencies]
|
| 29 |
pytest = "^7.2.2"
|
|
@@ -39,8 +38,11 @@ myst-parser = "^1.0.0"
|
|
| 39 |
darglint = "^1.8.1"
|
| 40 |
|
| 41 |
[tool.poetry.group.jupyter.dependencies]
|
| 42 |
-
|
| 43 |
-
|
|
|
|
|
|
|
|
|
|
| 44 |
|
| 45 |
[tool.pytest.ini_options]
|
| 46 |
minversion = "6.0"
|
|
|
|
| 23 |
commitizen = "^2.42.1"
|
| 24 |
flake8-docstrings = "^1.7.0"
|
| 25 |
pygments = "^2.14.0"
|
|
|
|
| 26 |
|
| 27 |
[tool.poetry.group.tests.dependencies]
|
| 28 |
pytest = "^7.2.2"
|
|
|
|
| 38 |
darglint = "^1.8.1"
|
| 39 |
|
| 40 |
[tool.poetry.group.jupyter.dependencies]
|
| 41 |
+
tornado = "^6.3.2"
|
| 42 |
+
ipython = "^8.14.0"
|
| 43 |
+
jupytext = "^1.14.6"
|
| 44 |
+
jupyterlab = "^4.0.2"
|
| 45 |
+
ipykernel = "^6.23.3"
|
| 46 |
|
| 47 |
[tool.pytest.ini_options]
|
| 48 |
minversion = "6.0"
|
requirements.txt
CHANGED
|
@@ -1,47 +1,123 @@
|
|
| 1 |
altair==5.0.1 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
attrs==23.1.0 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
blinker==1.6.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 4 |
cachetools==5.3.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 5 |
certifi==2023.5.7 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 6 |
charset-normalizer==2.1.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 7 |
click==8.1.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 8 |
-
colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and platform_system == "Windows"
|
|
|
|
|
|
|
| 9 |
decorator==5.1.1 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 10 |
gitdb==4.0.10 ; python_version >= "3.10" and python_version < "4.0"
|
| 11 |
gitpython==3.1.31 ; python_version >= "3.10" and python_version < "4.0"
|
| 12 |
idna==3.4 ; python_version >= "3.10" and python_version < "4.0"
|
| 13 |
importlib-metadata==6.7.0 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
jinja2==3.1.2 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
| 15 |
jsonschema==4.17.3 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
markdown-it-py==2.2.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 17 |
markupsafe==2.1.3 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
| 18 |
mdurl==0.1.2 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
numpy==1.25.0 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 20 |
packaging==23.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 21 |
-
pandas==2.0.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
pillow==9.5.0 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
| 23 |
protobuf==4.23.3 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
| 24 |
pyarrow==12.0.1 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 25 |
pydeck==0.8.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 26 |
pygments==2.15.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 27 |
pympler==1.0.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 28 |
pyrsistent==0.19.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 29 |
python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 30 |
pytz-deprecation-shim==0.1.0.post0 ; python_version >= "3.10" and python_version < "4.0"
|
| 31 |
pytz==2023.3 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
requests==2.31.0 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
| 33 |
rich==13.4.2 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 34 |
six==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 35 |
smmap==5.0.0 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
|
|
|
| 36 |
streamlit==1.24.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 37 |
tenacity==8.2.2 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
|
|
|
| 38 |
toml==0.10.2 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 39 |
toolz==0.12.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 40 |
tornado==6.3.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 41 |
-
|
|
|
|
| 42 |
tzdata==2023.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 43 |
tzlocal==4.3.1 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 44 |
urllib3==2.0.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 45 |
validators==0.20.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 46 |
watchdog==3.0.0 ; python_version >= "3.10" and python_version < "4.0" and platform_system != "Darwin"
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
zipp==3.15.0 ; python_version >= "3.10" and python_version < "4.0"
|
|
|
|
| 1 |
altair==5.0.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 2 |
+
anyio==3.7.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 3 |
+
appnope==0.1.3 ; python_version >= "3.10" and python_version < "4.0" and (sys_platform == "darwin" or platform_system == "Darwin")
|
| 4 |
+
argon2-cffi-bindings==21.2.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 5 |
+
argon2-cffi==21.3.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 6 |
+
arrow==1.2.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 7 |
+
asttokens==2.2.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 8 |
+
async-lru==2.0.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 9 |
attrs==23.1.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 10 |
+
babel==2.12.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 11 |
+
backcall==0.2.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 12 |
+
beautifulsoup4==4.12.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 13 |
+
bleach==6.0.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 14 |
blinker==1.6.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 15 |
cachetools==5.3.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 16 |
certifi==2023.5.7 ; python_version >= "3.10" and python_version < "4.0"
|
| 17 |
+
cffi==1.15.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 18 |
charset-normalizer==2.1.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 19 |
click==8.1.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 20 |
+
colorama==0.4.6 ; python_version >= "3.10" and python_version < "4.0" and (sys_platform == "win32" or platform_system == "Windows")
|
| 21 |
+
comm==0.1.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 22 |
+
debugpy==1.6.7 ; python_version >= "3.10" and python_version < "4.0"
|
| 23 |
decorator==5.1.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 24 |
+
defusedxml==0.7.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 25 |
+
exceptiongroup==1.1.1 ; python_version >= "3.10" and python_version < "3.11"
|
| 26 |
+
executing==1.2.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 27 |
+
fastjsonschema==2.17.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 28 |
+
fqdn==1.5.1 ; python_version >= "3.10" and python_version < "4"
|
| 29 |
gitdb==4.0.10 ; python_version >= "3.10" and python_version < "4.0"
|
| 30 |
gitpython==3.1.31 ; python_version >= "3.10" and python_version < "4.0"
|
| 31 |
idna==3.4 ; python_version >= "3.10" and python_version < "4.0"
|
| 32 |
importlib-metadata==6.7.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 33 |
+
ipykernel==6.23.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 34 |
+
ipython==8.14.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 35 |
+
isoduration==20.11.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 36 |
+
jedi==0.18.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 37 |
jinja2==3.1.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 38 |
+
json5==0.9.14 ; python_version >= "3.10" and python_version < "4.0"
|
| 39 |
+
jsonpointer==2.4 ; python_version >= "3.10" and python_version < "4.0"
|
| 40 |
jsonschema==4.17.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 41 |
+
jsonschema[format-nongpl]==4.17.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 42 |
+
jupyter-client==8.3.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 43 |
+
jupyter-core==5.3.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 44 |
+
jupyter-events==0.6.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 45 |
+
jupyter-lsp==2.2.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 46 |
+
jupyter-server-terminals==0.4.4 ; python_version >= "3.10" and python_version < "4.0"
|
| 47 |
+
jupyter-server==2.7.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 48 |
+
jupyterlab-pygments==0.2.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 49 |
+
jupyterlab-server==2.23.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 50 |
+
jupyterlab==4.0.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 51 |
+
jupytext==1.14.6 ; python_version >= "3.10" and python_version < "4.0"
|
| 52 |
markdown-it-py==2.2.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 53 |
markupsafe==2.1.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 54 |
+
matplotlib-inline==0.1.6 ; python_version >= "3.10" and python_version < "4.0"
|
| 55 |
+
mdit-py-plugins==0.3.5 ; python_version >= "3.10" and python_version < "4.0"
|
| 56 |
mdurl==0.1.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 57 |
+
mistune==3.0.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 58 |
+
nbclient==0.8.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 59 |
+
nbconvert==7.6.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 60 |
+
nbformat==5.9.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 61 |
+
nest-asyncio==1.5.6 ; python_version >= "3.10" and python_version < "4.0"
|
| 62 |
+
notebook-shim==0.2.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 63 |
numpy==1.25.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 64 |
+
overrides==7.3.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 65 |
packaging==23.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 66 |
+
pandas==2.0.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 67 |
+
pandocfilters==1.5.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 68 |
+
parso==0.8.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 69 |
+
pexpect==4.8.0 ; python_version >= "3.10" and python_version < "4.0" and sys_platform != "win32"
|
| 70 |
+
pickleshare==0.7.5 ; python_version >= "3.10" and python_version < "4.0"
|
| 71 |
pillow==9.5.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 72 |
+
platformdirs==3.8.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 73 |
+
prometheus-client==0.17.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 74 |
+
prompt-toolkit==3.0.38 ; python_version >= "3.10" and python_version < "4.0"
|
| 75 |
protobuf==4.23.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 76 |
+
psutil==5.9.5 ; python_version >= "3.10" and python_version < "4.0"
|
| 77 |
+
ptyprocess==0.7.0 ; python_version >= "3.10" and python_version < "4.0" and (sys_platform != "win32" or os_name != "nt")
|
| 78 |
+
pure-eval==0.2.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 79 |
pyarrow==12.0.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 80 |
+
pycparser==2.21 ; python_version >= "3.10" and python_version < "4.0"
|
| 81 |
pydeck==0.8.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 82 |
pygments==2.15.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 83 |
pympler==1.0.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 84 |
pyrsistent==0.19.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 85 |
python-dateutil==2.8.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 86 |
+
python-json-logger==2.0.7 ; python_version >= "3.10" and python_version < "4.0"
|
| 87 |
pytz-deprecation-shim==0.1.0.post0 ; python_version >= "3.10" and python_version < "4.0"
|
| 88 |
pytz==2023.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 89 |
+
pywin32==306 ; sys_platform == "win32" and platform_python_implementation != "PyPy" and python_version >= "3.10" and python_version < "4.0"
|
| 90 |
+
pywinpty==2.0.10 ; python_version >= "3.10" and python_version < "4.0" and os_name == "nt"
|
| 91 |
+
pyyaml==6.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 92 |
+
pyzmq==25.1.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 93 |
requests==2.31.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 94 |
+
rfc3339-validator==0.1.4 ; python_version >= "3.10" and python_version < "4.0"
|
| 95 |
+
rfc3986-validator==0.1.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 96 |
rich==13.4.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 97 |
+
send2trash==1.8.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 98 |
six==1.16.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 99 |
smmap==5.0.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 100 |
+
sniffio==1.3.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 101 |
+
soupsieve==2.4.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 102 |
+
stack-data==0.6.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 103 |
streamlit==1.24.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 104 |
tenacity==8.2.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 105 |
+
terminado==0.17.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 106 |
+
tinycss2==1.2.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 107 |
toml==0.10.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 108 |
+
tomli==2.0.1 ; python_version >= "3.10" and python_version < "3.11"
|
| 109 |
toolz==0.12.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 110 |
tornado==6.3.2 ; python_version >= "3.10" and python_version < "4.0"
|
| 111 |
+
traitlets==5.9.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 112 |
+
typing-extensions==4.7.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 113 |
tzdata==2023.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 114 |
tzlocal==4.3.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 115 |
+
uri-template==1.3.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 116 |
urllib3==2.0.3 ; python_version >= "3.10" and python_version < "4.0"
|
| 117 |
validators==0.20.0 ; python_version >= "3.10" and python_version < "4.0"
|
| 118 |
watchdog==3.0.0 ; python_version >= "3.10" and python_version < "4.0" and platform_system != "Darwin"
|
| 119 |
+
wcwidth==0.2.6 ; python_version >= "3.10" and python_version < "4.0"
|
| 120 |
+
webcolors==1.13 ; python_version >= "3.10" and python_version < "4.0"
|
| 121 |
+
webencodings==0.5.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 122 |
+
websocket-client==1.6.1 ; python_version >= "3.10" and python_version < "4.0"
|
| 123 |
zipp==3.15.0 ; python_version >= "3.10" and python_version < "4.0"
|
scripts/build-run-local-docker.sh
CHANGED
|
@@ -10,7 +10,7 @@ pushd $ROOT_DIRECTORY
|
|
| 10 |
echo "Running from ROOT_DIRECTORY: ${ROOT_DIRECTORY}"
|
| 11 |
|
| 12 |
# Export the dependencies managed by Poetry in the requirements.txt format for pip
|
| 13 |
-
poetry export -f requirements.txt -o requirements.txt --without-hashes --
|
| 14 |
|
| 15 |
# Re-build the docker image.
|
| 16 |
docker build --label tests -t $CONTAINER_NAME .
|
|
@@ -18,7 +18,7 @@ docker build --label tests -t $CONTAINER_NAME .
|
|
| 18 |
# During development ONLY use a `bind mount` to enable
|
| 19 |
# editing the code without having to rebuild the container.
|
| 20 |
docker run --rm -it \
|
| 21 |
-
-p 8501:8501
|
| 22 |
--mount type=volume,src=$VOLUME_NAME,dst=/data \
|
| 23 |
--mount type=bind,source=${ROOT_DIRECTORY}/src/,target=/app/,readonly \
|
| 24 |
--mount type=bind,source=${ROOT_DIRECTORY}/.streamlit,target=/user/.streamlit,readonly \
|
|
|
|
| 10 |
echo "Running from ROOT_DIRECTORY: ${ROOT_DIRECTORY}"
|
| 11 |
|
| 12 |
# Export the dependencies managed by Poetry in the requirements.txt format for pip
|
| 13 |
+
poetry export -f requirements.txt -o requirements.txt --without-hashes --with=jupyter
|
| 14 |
|
| 15 |
# Re-build the docker image.
|
| 16 |
docker build --label tests -t $CONTAINER_NAME .
|
|
|
|
| 18 |
# During development ONLY use a `bind mount` to enable
|
| 19 |
# editing the code without having to rebuild the container.
|
| 20 |
docker run --rm -it \
|
| 21 |
+
-p 8501:8501 -p 7860:7860 \
|
| 22 |
--mount type=volume,src=$VOLUME_NAME,dst=/data \
|
| 23 |
--mount type=bind,source=${ROOT_DIRECTORY}/src/,target=/app/,readonly \
|
| 24 |
--mount type=bind,source=${ROOT_DIRECTORY}/.streamlit,target=/user/.streamlit,readonly \
|
start_jupyter.sh
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
set -e
|
| 3 |
+
|
| 4 |
+
JUPYTER_TOKEN="${JUPYTER_TOKEN:=huggingface}"
|
| 5 |
+
|
| 6 |
+
jupyter lab \
|
| 7 |
+
--ip "0.0.0.0" \
|
| 8 |
+
--port 7860 \
|
| 9 |
+
--no-browser \
|
| 10 |
+
--allow-root \
|
| 11 |
+
--ServerApp.token="$JUPYTER_TOKEN" \
|
| 12 |
+
--ServerApp.tornado_settings="{'headers': {'Content-Security-Policy': 'frame-ancestors *'}}" \
|
| 13 |
+
--ServerApp.cookie_options="{'SameSite': 'None', 'Secure': True}" \
|
| 14 |
+
--ServerApp.disable_check_xsrf=True \
|
| 15 |
+
--LabApp.news_url=None \
|
| 16 |
+
--LabApp.check_for_updates_class="jupyterlab.NeverCheckForUpdate"
|
start_server.sh
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
|
| 3 |
+
echo "TODO launch init / service"
|
| 4 |
+
|
start_streamlit.sh
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
set -e
|
| 3 |
+
|
| 4 |
+
mkdir -p $APP_DATA $HF_HOME
|
| 5 |
+
|
| 6 |
+
streamlit run \
|
| 7 |
+
--server.enableXsrfProtection=true \
|
| 8 |
+
--server.fileWatcherType=auto \
|
| 9 |
+
$APP_CODE/apps/streamlit_demo.py
|