Skip to content

Commit

Permalink
Upgrade to Python 3.12 and Qiskit 1.0 (#31)
Browse files Browse the repository at this point in the history
- Upgrade to Python 3.12
- Drop cuQuantum due to NVIDIA CUDA requirement
- Upgrade packages
- Fix #30

Check list:

- [X] PR description is meaningful.
- [X] `./generate_requirements.sh` has been executed (when appropriate).
- [X] `./check_docker.sh` executes successfully locally.
- [x] `./build_docker.sh` executes successfully locally.
- [x] Zoose version in `.env` has been updated appropriately.
- [X] Commit has been tagged `git tag X.Y.Z` with `X.Y.Z` as in `.env`.
- [x] `README` has been updated (if applicable).
  • Loading branch information
ianhellstrom authored Sep 5, 2024
1 parent 2bda3d7 commit 27eac61
Show file tree
Hide file tree
Showing 24 changed files with 1,096 additions and 554 deletions.
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
PREFIX=databaseline/zoose
BASE=databaseline/zoose-base
TAG=4.4.0
TAG=5.0.0
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ Check list:
- [ ] `./generate_requirements.sh` has been executed (when appropriate).
- [ ] `./check_docker.sh` executes successfully locally.
- [ ] `./build_docker.sh` executes successfully locally.
- [ ] Zoose version in `.env` has been updated appropriately.
- [ ] Zoose version in .env has been updated appropriately.
- [ ] Commit has been tagged `git tag X.Y.Z` with `X.Y.Z` as in `.env`.
- [ ] `README` has been updated (if applicable).
71 changes: 35 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,65 +32,64 @@ In Gitpod, you have two options for Zoose notebooks:
2. JupyterLab, which you can start from the Gitpod workspace terminal with `/jupyter.sh`.

### Zoose Base
- Python 3.10
- JupyterLab 3.6 with extensions
- Python 3.12
- JupyterLab 4.3 with extensions

Python packages:
- Beautiful Soup 4.12
- Gower 0.1
- Keras 2.12
- Keras 3.5
- LIME 0.2
- Matplotlib 3.7
- NLTK 3.8
- Numpy 1.24
- Pandas 2.0
- Prince 0.10
- Requests 2.31
- Scikit-learn 1.2
- SciPy 1.10
- Scrapy 2.9
- Seaborn 0.12
- SHAP 0.41
- spaCy 3.5
- Matplotlib 3.9
- NLTK 3.9
- Numpy 1.26
- Pandas 2.2
- Prince 0.13
- Requests 2.32
- scikit-learn 1.5
- SciPy 1.14
- Scrapy 2.11
- Seaborn 0.13
- SHAP 0.46
- spaCy 3.7
- StatsModels 0.14
- thefuzz 0.20
- thefuzz 0.22

### Zoose Neo4j
Zoose Neo4j includes everything from Zoose Base as well as:
- Neo4j Community Edition 4.4
- py2neo 2021.2.4
- neomodel 5.3.2

### Zoose PyTorch
Zoose PyTorch includes everything from Zoose Base as well as:
- Captum 0.6
- PyTorch 2.0
- PyTorch Audio 2.0 (CPU)
- PyTorch Text 0.15 (CPU)
- PyTorch Vision 0.15 (CPU)
- Transformers 4.29
- Captum 0.7
- PyTorch 2.4
- PyTorch Audio 2.4 (CPU)
- PyTorch Text 0.18 (CPU)
- PyTorch Vision 0.19 (CPU)
- Transformers 4.44

### Zoose Quantum
Zoose Quantum includes everything from Zoose Base as well as:
- Amazon Braket SDK 1.41
- Cirq 1.1
- cuQuantum 23.3
- OpenFermion 1.5
- PennyLane 0.30 with plugins for Cirq, Stawberry Fields, Qiskit
- pytket 1.15
- Qiskit 0.43
- QuTiP 4.7
- Amazon Braket SDK 1.57
- Cirq 1.4
- OpenFermion 1.6
- PennyLane 0.38 with plugins for Cirq, Stawberry Fields, Qiskit
- pytket 1.32
- Qiskit 1.2
- QuTiP 5.0
- Strawberry Fields 0.23

### Zoose Geo
Zoose Geo includes everything from Zoose Base as well as:
- Geopandas 0.13
- Geopandas 1.0
- Geoplot 0.5
- h3 3.7
- h5py 3.8
- netCDF4 1.6
- h5py 3.11
- netCDF4 1.7
- shapely 2.0
- xarray 2023.5
- zarr 2.14
- xarray 2024.9
- zarr 2.18

# How to use?
Execute `./zoose.sh`, which launches a Jupyter notebooks session.
Expand Down
12 changes: 4 additions & 8 deletions base/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
ARG SOURCE
FROM ubuntu:24.04

FROM ${SOURCE}
LABEL org.opencontainers.image.authors="Ian Hellström" \
org.opencontainers.image.source="https://github.com/ianhellstrom/zoose" \
org.opencontainers.image.vendor="Databaseline"
org.opencontainers.image.vendor="ianhellstrom.org"

ENV PYTHON_VERSION="3.10"
ENV PYTHON_VERSION="3.12"
ARG DEBIAN_FRONTEND="noninteractive"
ARG TZ="Europe/Berlin"

Expand All @@ -23,13 +22,10 @@ RUN apt-get update && apt-get -y upgrade && \
openjdk-11-jre \
python${PYTHON_VERSION} \
python${PYTHON_VERSION}-dev \
python${PYTHON_VERSION}-distutils \
libzmq3-dev \
libcurl4-openssl-dev \
libssl-dev \
libopenblas0-pthread \
jupyter-core \
jupyter-client \
git \
sudo \
libgdal-dev
Expand All @@ -40,7 +36,7 @@ RUN add-apt-repository -y universe && apt-get update && \

WORKDIR /setup
COPY requirements.txt /setup/requirements.txt
RUN pip install --no-cache-dir -r /setup/requirements.txt
RUN pip install --no-cache-dir --break-system-packages --ignore-installed -r /setup/requirements.txt

COPY dictionaries /usr/local/share/jupyter/dictionaries/
COPY config/extensions.json /root/.jupyter/lab/user-settings/@jupyterlab/extensionmanager-extension/plugin.jupyterlab-settings
Expand Down
2 changes: 1 addition & 1 deletion base/constraints.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
# Because of quantum libraries
networkx==2.8.8
# networkx==2.8.8
Loading

0 comments on commit 27eac61

Please sign in to comment.