Skip to content

Commit

Permalink
Updated README with overview and package descriptions
Browse files Browse the repository at this point in the history
  • Loading branch information
computate committed Feb 13, 2024
1 parent 2237c2a commit 48262fc
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 16 deletions.
4 changes: 1 addition & 3 deletions Containerfile
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,8 @@ RUN yum install -y \
gsl-devel \
hdf5-devel \
boost-devel
RUN pip install jupyterlab-s3-browser
RUN jupyter serverextension enable --py jupyterlab_s3_browser
RUN conda create --prefix /opt/app-root -y \
&& conda install --prefix /opt/app-root -c conda-forge xeus-cling xtensor-blas -y \
&& conda install --prefix /opt/app-root -c conda-forge xeus-cling xtensor-blas -y
RUN sed -i -e 's/\/\//\//g' /opt/app-root/share/jupyter/kernels/xcpp*/kernel.json
RUN jupyter kernelspec install /opt/app-root/share/jupyter/kernels/xcpp11 \
&& jupyter kernelspec install /opt/app-root/share/jupyter/kernels/xcpp14 \
Expand Down
44 changes: 31 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,37 @@
# jupyter-cpp-cling

## Build the container with podman
An OpenShift AI Image running Jupyter Lab for C++ development.
- Based on the [Xeus Cling project](https://github.com/jupyter-xeus/xeus-cling)
on GitHub for Jupyter Lab Notebook integration.
- Uses C++ Kernel 11, 14, and 17 and gcc-c++ compiler support.
- Used by Professor Leonidas Kontothanassis, MassMutual Professor of the
Practice of Computing & Data Sciences + Director of Industry Engagement.

```bash
cd ~/.local/src/jupyter-cpp-cling
podman build -t computateorg/jupyter-cpp-cling:latest .
```
Base image: [quay.io/opendatahub-contrib/workbench-images:jupyter-datascience-c9s-py311_2023c_latest](https://github.com/opendatahub-io-contrib/workbench-images)

## Test the container locally
```bash
podman run --rm -it computateorg/jupyter-cpp-cling:latest /bin/bash
```
| Conda packages | Description |
| --- | --- |
| xeus-cling | A Jupyter kernel for the C++ programming language from the conda-forge channel. |
| xtensor-blas | an extension to the xtensor library, offering bindings to BLAS and LAPACK libraries through cxxblas and cxxlapack from the FLENS project from the conda-forge channel. |

| System packages | Description |
| --- | --- |
| root-cling | Cling C++ interpreter. |
| gcc-c++ | C++ support for GCC. |
| clang | A C language family front-end for LLVM. |
| cmake | Cross-platform make system. |
| conda | Cross-platform, Python-agnostic binary package manager. |
| xtensor-devel | C++ tensors with broadcasting and lazy computing. |
| mlpack-bin | Command-line executables for mlpack (machine learning library). |
| mlpack-devel | Development headers for mlpack (C++ machine learning library). |
| armadillo | A C++ linear algebra library (matrix maths) aiming towards a good balance between speed and ease of use. |
| armadillo-devel | Fast C++ matrix library with syntax similar to MATLAB and Octave. |
| gsl-devel | Libraries and the header files for GSL development. |
| hdf5-devel | HDF5 development files. |
| boost-devel | The Boost C++ headers and shared development libraries. |

## Push the container up to quay.io
```bash
podman login quay.io
podman push computateorg/jupyter-cpp-cling:latest quay.io/computateorg/jupyter-cpp-cling:latest
You can pull the latest [jupyter-cpp-cling container image](https://github.com/nerc-images/jupyter-cpp-cling/pkgs/container/jupyter-cpp-cling) below:

```
podman pull ghcr.io/nerc-images/jupyter-cpp-cling:main
```

0 comments on commit 48262fc

Please sign in to comment.