Skip to content

Commit e66dc95

Browse files
Merge pull request #479 from atheo89/RHOAIENG-2922
Update Readme.md
2 parents aefe060 + 724c6db commit e66dc95

File tree

1 file changed

+61
-190
lines changed

1 file changed

+61
-190
lines changed

README.md

+61-190
Original file line numberDiff line numberDiff line change
@@ -1,247 +1,118 @@
1-
# Notebook Images
1+
# OpenDataHub Notebooks
22

33
[![GitHub Tag](https://img.shields.io/github/v/tag/opendatahub-io/notebooks?style=plastic)](https://github.com/opendatahub-io/notebooks/releases)
4-
[![Docker Repository on Quay](https://quay.io/repository/opendatahub/workbench-images/status "Docker Repository on Quay")](https://quay.io/repository/opendatahub/workbench-images?tab=tags)
5-
6-
These images were created to be used with Open Data Hub (ODH) with the ODH Notebook Controller as the launcher.
7-
8-
## Container Image Layering
9-
10-
The different notebooks images available are built in this order:
11-
12-
**Based on Python 3.8**
13-
14-
```mermaid
15-
graph TB
16-
subgraph Notebooks
17-
%% Nodes
18-
ubi8-python-3.8(UBI8 Python 3.8);
19-
base-ubi8-python-3.8("Notebooks Base<br/>(base-ubi8-python-3.8)");
20-
jupyter-minimal-ubi8-python-3.8("Minimal Notebook<br/>(jupyter-minimal-ubi8-python-3.8)");
21-
jupyter-datascience-ubi8-python-3.8("Data Science Notebook<br/>(jupyter-datascience-ubi8-python-3.8)");
22-
jupyter-trustyai-ubi8-python-3.8("TrustyAI Notebook<br/>(jupyter-trustyai-ubi8-python-3.8)");
23-
24-
%% Edges
25-
ubi8-python-3.8 --> base-ubi8-python-3.8;
26-
base-ubi8-python-3.8 --> jupyter-minimal-ubi8-python-3.8;
27-
jupyter-minimal-ubi8-python-3.8 --> jupyter-datascience-ubi8-python-3.8;
28-
jupyter-datascience-ubi8-python-3.8 --> jupyter-pytorch-ubi8-python-3.8;
29-
end
30-
31-
subgraph CUDA
32-
%% Nodes
33-
cuda-ubi8-python-3.8("CUDA Notebooks Base<br/>(cuda-ubi8-python-3.8)");
34-
cuda-jupyter-minimal-ubi8-python-3.8("CUDA Minimal Notebook<br/>(cuda-jupyter-minimal-ubi8-python-3.8)");
35-
cuda-jupyter-datascience-ubi8-python-3.8("CUDA Data Science Notebook<br/>(cuda-jupyter-datascience-ubi8-python-3.8)");
36-
cuda-jupyter-pytorch-ubi8-python-3.8("PyTorch Notebook<br/>(cuda-jupyter-pytorch-ubi8-python-3.8)");
37-
cuda-jupyter-tensorflow-ubi8-python-3.8("CUDA TensorFlow Notebook<br/>(cuda-jupyter-tensorflow-ubi8-python-3.8)");
38-
39-
%% Edges
40-
base-ubi8-python-3.8 --> cuda-ubi8-python-3.8;
41-
cuda-ubi8-python-3.8 --> cuda-jupyter-minimal-ubi8-python-3.8;
42-
cuda-jupyter-minimal-ubi8-python-3.8 --> cuda-jupyter-datascience-ubi8-python-3.8;
43-
cuda-jupyter-datascience-ubi8-python-3.8 --> cuda-jupyter-pytorch-ubi8-python-3.8;
44-
cuda-jupyter-datascience-ubi8-python-3.8 --> cuda-jupyter-tensorflow-ubi8-python-3.8;
45-
end
46-
47-
subgraph Habana
48-
%% Nodes
49-
habana-jupyter-1.9.0-ubi8-python-3.8("HabanaAI Data Science Notebook<br/>(habana-jupyter-1.9.0-ubi8-python-3.8)");
50-
habana-jupyter-1.10.0-ubi8-python-3.8("HabanaAI Data Science Notebook<br/>(habana-jupyter-1.10.0-ubi8-python-3.8)");
51-
habana-jupyter-1.11.0-ubi8-python-3.8("HabanaAI Data Science Notebook<br/>(habana-jupyter-1.11.0-ubi8-python-3.8)");
52-
53-
%% Edges
54-
jupyter-datascience-ubi8-python-3.8 --> habana-jupyter-1.9.0-ubi8-python-3.8;
55-
jupyter-datascience-ubi8-python-3.8 --> habana-jupyter-1.10.0-ubi8-python-3.8;
56-
jupyter-datascience-ubi8-python-3.8 --> habana-jupyter-1.11.0-ubi8-python-3.8;
57-
end
58-
59-
subgraph Runtimes
60-
%% Nodes
61-
runtimes-minimal-ubi8-python-3.8("Minimal Runtime<br/>(runtime-minimal-ubi8-python-3.8)");
62-
runtimes-datascience-ubi8-python-3.8("Data Science Runtime<br/>(runtime-datascience-ubi8-python-3.8)");
63-
runtimes-pytorch-ubi8-python-3.8("PyTorch Runtime<br/>(runtime-pytorch-ubi8-python-3.8)");
64-
cuda-runtimes-tensorflow-ubi8-python-3.8("CUDA TensorFlow Runtime<br/>(cuda-runtime-tensorflow-ubi8-python-3.8)");
65-
66-
%% Edges
67-
base-ubi8-python-3.8 --> runtimes-minimal-ubi8-python-3.8;
68-
base-ubi8-python-3.8 --> runtimes-datascience-ubi8-python-3.8;
69-
base-ubi8-python-3.8 --> runtimes-pytorch-ubi8-python-3.8;
70-
cuda-ubi8-python-3.8 --> cuda-runtimes-tensorflow-ubi8-python-3.8;
71-
end
72-
```
4+
![GitHub License](https://img.shields.io/github/license/opendatahub-io/notebooks)
735

74-
**Based on Python 3.9**
75-
76-
```mermaid
77-
graph TB
78-
subgraph Notebooks
79-
%% Nodes
80-
ubi9-python-3.9(UBI9 Python 3.9);
81-
base-ubi9-python-3.9("Notebooks Base<br/>(base-ubi9-python-3.9)");
82-
jupyter-minimal-ubi9-python-3.9("Minimal Notebook<br/>(jupyter-minimal-ubi9-python-3.9)");
83-
jupyter-datascience-ubi9-python-3.9("Data Science Notebook<br/>(jupyter-datascience-ubi9-python-3.9)");
84-
jupyter-trustyai-ubi9-python-3.9("TrustyAI Notebook<br/>(jupyter-trustyai-ubi9-python-3.9)");
85-
86-
%% Edges
87-
ubi9-python-3.9 --> base-ubi9-python-3.9;
88-
base-ubi9-python-3.9 --> jupyter-minimal-ubi9-python-3.9;
89-
jupyter-minimal-ubi9-python-3.9 --> jupyter-datascience-ubi9-python-3.9;
90-
jupyter-datascience-ubi9-python-3.9 --> jupyter-trustyai-ubi9-python-3.9;
91-
end
92-
93-
subgraph CUDA
94-
%% Nodes
95-
cuda-ubi9-python-3.9("CUDA Notebooks Base<br/>(cuda-ubi9-python-3.9)");
96-
cuda-jupyter-minimal-ubi9-python-3.9("CUDA Minimal Notebook<br/>(cuda-jupyter-minimal-ubi9-python-3.9)");
97-
cuda-jupyter-datascience-ubi9-python-3.9("CUDA Data Science Notebook<br/>(cuda-jupyter-datascience-ubi9-python-3.9)");
98-
cuda-jupyter-pytorch-ubi9-python-3.9("CUDA PyTorch Notebook<br/>(cuda-jupyter-pytorch-ubi9-python-3.9)");
99-
cuda-jupyter-tensorflow-ubi9-python-3.9("CUDA TensorFlow Notebook<br/>(cuda-jupyter-tensorflow-ubi9-python-3.9)");
100-
101-
%% Edges
102-
base-ubi9-python-3.9 --> cuda-ubi9-python-3.9;
103-
cuda-ubi9-python-3.9 --> cuda-jupyter-minimal-ubi9-python-3.9;
104-
cuda-jupyter-minimal-ubi9-python-3.9 --> cuda-jupyter-datascience-ubi9-python-3.9;
105-
cuda-jupyter-datascience-ubi9-python-3.9 --> cuda-jupyter-pytorch-ubi9-python-3.9;
106-
cuda-jupyter-datascience-ubi9-python-3.9 --> cuda-jupyter-tensorflow-ubi9-python-3.9;
107-
end
108-
109-
subgraph Runtimes
110-
%% Nodes
111-
runtimes-minimal-ubi9-python-3.9("Minimal Runtime<br/>(runtime-minimal-ubi9-python-3.9)");
112-
runtimes-datascience-ubi9-python-3.9("Data Science Runtime<br/>(runtime-datascience-ubi9-python-3.9)");
113-
runtimes-pytorch-ubi9-python-3.9("PyTorch Runtime<br/>(runtime-pytorch-ubi9-python-3.9)");
114-
cuda-runtimes-tensorflow-ubi9-python-3.9("CUDA TensorFlow Runtime<br/>(cuda-runtime-tensorflow-ubi9-python-3.9)");
115-
116-
%% Edges
117-
base-ubi9-python-3.9 --> runtimes-minimal-ubi9-python-3.9;
118-
base-ubi9-python-3.9 --> runtimes-datascience-ubi9-python-3.9;
119-
base-ubi9-python-3.9 --> runtimes-pytorch-ubi9-python-3.9;
120-
cuda-ubi9-python-3.9 --> cuda-runtimes-tensorflow-ubi9-python-3.9;
121-
end
122-
123-
subgraph Other Notebooks
124-
%% Nodes
125-
c9s-python-3.9("CentOS Stream Base<br/>(c9s-python-3.9)");
126-
code-server-c9s-python-3.9("code-server <br/>(code-server-c9s-python-3.9)");
127-
r-studio-c9s-python-3.9("RStudio Server<br/>(r-studio-c9s-python-3.9)");
128-
129-
%% Edges
130-
c9s-python-3.9 --> code-server-c9s-python-3.9;
131-
c9s-python-3.9 --> r-studio-c9s-python-3.9;
132-
end
1336

134-
```
7+
Welcome to the OpenDataHub Notebooks repository! This repository provides a collection of notebooks tailored for data analysis, machine learning, research and coding within the OpenDataHub ecosystem. Designed to streamline data science workflows, these notebooks offer an integrated environment equipped with the latest tools and libraries. These notebooks were created to be used with OpenDataHub ecosystem with the ODH Notebook Controller as the launcher.
8+
9+
These workbenches are available at: [quay.io/opendatahub/workbench-images](https://quay.io/opendatahub/workbench-images)
10+
11+
## Getting Started
12+
For a deeper understanding of the architecture underlying this repository, please explore our wiki page [Wiki](https://github.com/opendatahub-io/notebooks/wiki/Workbenches)
13+
14+
### Prerequisites
15+
Make sure the following tools are installed in your environment:
16+
- podman/docker
17+
- python
18+
- pipenv
19+
- make
20+
- curl
13521

136-
## Building
137-
138-
The following workbench images are available:
139-
140-
### Python 3.8
141-
- jupyter-minimal-ubi8-python-3.8
142-
- jupyter-datascience-ubi8-python-3.8
143-
- jupyter-pytorch-ubi8-python-3.8
144-
- jupyter-trustyai-ubi8-python-3.8
145-
- cuda-jupyter-minimal-ubi8-python-3.8
146-
- cuda-jupyter-datascience-ubi8-python-3.8
147-
- cuda-jupyter-tensorflow-ubi8-python-3.8
148-
- habana-jupyter-1.9.0-ubi8-python-3.8
149-
- habana-jupyter-1.10.0-ubi8-python-3.8
150-
- habana-jupyter-1.11.0-ubi8-python-3.8
151-
- runtime-minimal-ubi8-python-3.8
152-
- runtime-datascience-ubi8-python-3.8
153-
- runtime-pytorch-ubi8-python-3.8
154-
- cuda-runtime-tensorflow-ubi8-python-3.8
155-
156-
### Python 3.9
157-
- jupyter-minimal-ubi9-python-3.9
158-
- jupyter-datascience-ubi9-python-3.9
159-
- jupyter-pytorch-ubi9-python-3.9
160-
- jupyter-trustyai-ubi9-python-3.9
161-
- cuda-jupyter-minimal-ubi9-python-3.9
162-
- cuda-jupyter-datascience-ubi9-python-3.9
163-
- cuda-jupyter-tensorflow-ubi9-python-3.9
164-
- runtime-minimal-ubi9-python-3.9
165-
- runtime-datascience-ubi9-python-3.9
166-
- runtime-pytorch-ubi9-python-3.9
167-
- cuda-runtime-tensorflow-ubi9-python-3.9
168-
- code-server-c9s-python-3.9
169-
- r-studio-c9s-python-3.9;
170-
171-
If you want to manually build a workbench image, you can use the following
172-
command:
22+
### Installation
23+
Clone this repository to your local machine:
17324

17425
```shell
175-
make ${WORKBENCH_NAME}
26+
git clone https://github.com/opendatahub-io/notebooks.git
27+
cd notebooks
17628
```
17729

178-
The image will be built and pushed to the
179-
[quay.io/opendatahub/workbench-images](https://quay.io/opendatahub/workbench-images)
180-
repository.
30+
### Quick Start Guide
18131

182-
You can overwrite `IMAGE_REGISTRY` and `RELEASE` variables to use a different registry or release tag:
32+
### Build a Notebook
33+
34+
To build a workbench image, you can execute the following command:
18335

18436
```shell
185-
make ${WORKBENCH_NAME} -e IMAGE_REGISTRY=quay.io/${YOUR_USER}/workbench-images -e RELEASE=2023x
37+
make ${WORKBENCH_NAME} -e IMAGE_REGISTRY=quay.io/${YOUR_USER}/workbench-images -e RELEASE=2023x
18638
```
18739

188-
## Local Execution
40+
Using `IMAGE_REGISTRY` and `RELEASE` variables you can overwrite the default values and use a different registry or release tag
41+
42+
### Local Execution
18943

19044
The notebook can be run as container on the local systems.
45+
19146
Use podman/docker to execute the workbench images as container.
19247

19348
```shell
194-
podman run -p 8888:8888 quay.io/opendatahub/workbench-images:jupyter-minimal-ubi8-python-3.8-20230808
49+
podman run -it -p 8888:8888 quay.io/opendatahub/workbench-images:jupyter-minimal-ubi9-python-3.9-2024a-20240317-6f4c36b
19550
```
19651

197-
## Testing Notebooks
52+
### Deploy & Test
53+
54+
#### Notebooks
19855

199-
Deploy the notebook images in your Kubernetes environment using deploy8-${NOTEBOOK_NAME} for ubi8 or deploy9-${NOTEBOOK_NAME} for ubi9:
56+
Deploy the notebook images in your Kubernetes environment using:
57+
`deploy8-${NOTEBOOK_NAME} for ubi8 or deploy9-${NOTEBOOK_NAME} for ubi9`
20058

20159
```shell
202-
make deployX-${NOTEBOOK_NAME}
60+
make deployX-${NOTEBOOK_NAME}
20361
```
20462

20563
Run the test suite against this notebook:
20664

20765
```shell
208-
make test-${NOTEBOOK_NAME}
66+
make test-${NOTEBOOK_NAME}
20967
```
21068

21169
You can overwrite `NOTEBOOK_REPO_BRANCH_BASE` variable to use a different repository and branch for testing scripts. This is useful when you debug your changes.
21270

71+
21372
```shell
214-
make test-${NOTEBOOK_NAME} -e NOTEBOOK_REPO_BRANCH_BASE="https://raw.githubusercontent.com/${YOUR_USER}/notebooks/${YOUR_BRANCH}"
73+
make test-${NOTEBOOK_NAME} -e NOTEBOOK_REPO_BRANCH_BASE="https://raw.githubusercontent.com/${YOUR_USER}/notebooks/${YOUR_BRANCH}"
21574
```
21675

21776
Clean up the environment when the tests are finished:
21877

21978
```shell
220-
make undeployX-${NOTEBOOK_NAME}
79+
make undeployX-${NOTEBOOK_NAME}
22180
```
22281

223-
## Validating Runtimes
82+
#### Runtimes
22483

225-
The runtimes image requires to have curl and python installed,
226-
so that on runtime additional packages can be installed.
84+
The runtimes image requires to have curl and python installed, so that on runtime additional packages can be installed.
22785

228-
Deploy the runtime images in your Kubernetes environment using deploy8-${WORKBENCH_NAME} for ubi8 or deploy9-${WORKBENCH_NAME} for ubi9:
86+
Deploy the runtime images in your Kubernetes environment using: `deploy8-${WORKBENCH_NAME} for ubi8 or deploy9-${WORKBENCH_NAME} for ubi9`
22987

23088
```shell
231-
make deployX-${WORKBENCH_NAME}
89+
make deployX-${WORKBENCH_NAME}
23290
```
23391

23492
Run the validate test suit for checking compatabilty of runtime images:
23593

23694
```shell
237-
make validate-runtime-image image=<runtime-image>
95+
make validate-runtime-image image=<runtime-image>
23896
```
23997

24098
Clean up the environment when the tests are finished:
24199

242100
```shell
243-
make undeployX-${WORKBENCH_NAME}
101+
make undeployX-${WORKBENCH_NAME}
244102
```
245103

246-
## Contributions
247-
Please refer [CONTRIBUTING.md](CONTRIBUTING.md) file.
104+
## Contributing
105+
106+
Whether you're fixing bugs, adding new notebooks, or improving documentation, your contributions are welcome. Please refer to our [Contribution Guidlines](CONTRIBUTING.md).
107+
108+
## Acknowledgments
109+
110+
A huge thank you to all our contributors and the broader OpenDataHub community!
111+
112+
## License
113+
114+
This project is licensed under the Apache License 2.0 - see the [LICENSE](https://github.com/opendatahub-io/notebooks/blob/main/LICENSE) file for details.
115+
116+
## Contact
117+
118+
Anything unclear or inaccurate? Please let us know by reporting an issue: [notebooks/issues](https://github.com/opendatahub-io/notebooks/issues/new)

0 commit comments

Comments
 (0)