Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add jupyter/julia-notebook #1926

Merged
merged 15 commits into from
Jun 28, 2023
Merged

Add jupyter/julia-notebook #1926

merged 15 commits into from
Jun 28, 2023

Conversation

yuvipanda
Copy link
Contributor

Describe your changes

There is a growing number of Julia users in the Jupyter ecosystem who do not use R, and hence would <3 to have a dedicated docker image that doesn't bring in all the R stuff that datascience-notebook brings in! The built image size is much smaller, and eventually paves the way to better ecosystem support for Julia.

Checklist (especially for first-time contributors)

  • I have performed a self-review of my code
  • If it is a core feature, I have added thorough tests
  • I will try not to use force-push to make the review process easier for reviewers
  • I have updated the documentation for significant changes

yuvipanda and others added 4 commits June 26, 2023 15:17
There is a growing number of Julia users in the Jupyter
ecosystem who do not use R, and hence would <3 to have a
dedicated docker image that doesn't bring in all the R
stuff that datascience-notebook brings in! The built image
size is much smaller, and eventually paves the way to
better ecosystem support for Julia.
@yuvipanda
Copy link
Contributor Author

This image is 2.2GB, vs the datascience-notebook being 5.83GB!

@mathbunnyru
Copy link
Member

Docs failing is fine.
Pre-commit mypy error is valid though:

tests/julia-notebook/test_julia.py: error: Duplicate module named "test_julia" (also at "tests/datascience-notebook/test_julia.py"

Copy link
Member

@mathbunnyru mathbunnyru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are a few things I would like to ask you to do:

  1. In places, where images were sorted by name, let's keep them sorted.
  2. In other places, let's put julia-notebook after r-notebook.
  3. Please, update the Makefile
  4. And also, inheritance diagram

I also think, that it makes sense to put Julia installation in a bash script and to add it to base-notebook and then we will just run it in some images. This will allow us to reduce code duplication. This can be done in a separate PR later though, to make it easier for you.

.github/ISSUE_TEMPLATE/bug_report.yml Outdated Show resolved Hide resolved
.github/ISSUE_TEMPLATE/feature_request.yml Outdated Show resolved Hide resolved
julia-notebook/README.md Outdated Show resolved Hide resolved
@yuvipanda
Copy link
Contributor Author

Thanks for the quick review, @mathbunnyru! I have addressed everything except the inheritance diagram! Do you have a tool suggestion on what I can use to edit that?

@mathbunnyru
Copy link
Member

Copy link
Member

@mathbunnyru mathbunnyru left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few places left to sort, but looks good to me 👍

Comment on lines 148 to 166
aarch64-julia:
uses: ./.github/workflows/docker-build-test-upload.yml
with:
parentImage: minimal-notebook
image: julia-notebook
platform: aarch64
runsOn: ARM64
needs: [aarch64-minimal]
if: github.repository == 'jupyter/docker-stacks'

x86_64-julia:
uses: ./.github/workflows/docker-build-test-upload.yml
with:
parentImage: minimal-notebook
image: julia-notebook
platform: x86_64
runsOn: ubuntu-latest
needs: [x86_64-minimal]

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section should be after the r-notebook section.

.github/workflows/docker.yml Outdated Show resolved Hide resolved
yuvipanda and others added 3 commits June 27, 2023 15:11
@yuvipanda yuvipanda marked this pull request as ready for review June 27, 2023 22:19
@yuvipanda
Copy link
Contributor Author

That's very helpful, @mathbunnyru! I think I've addressed them now.

@mathbunnyru mathbunnyru merged commit a489a0f into jupyter:main Jun 28, 2023
@mathbunnyru
Copy link
Member

@yuvipanda I added a new repository to the DockerHub and merged your PR (that's all I had to do manually, even description will be pushed automatically to DockerHub 🙂).

I didn't congratulate you with the first PR to this repo, so let me congratulate you with the second one ❤️

@mathbunnyru
Copy link
Member

https://hub.docker.com/r/jupyter/julia-notebook

Images should be updated in ~2 hours.

@yuvipanda
Copy link
Contributor Author

AMAZING, THANK YOU SO MUCH @mathbunnyru!

yuvipanda added a commit to yuvipanda/pilot-hubs that referenced this pull request Jun 28, 2023
The datascience notebook was added primarily to support
Julia. We have worked with upstream to add a julia specific
notebook (jupyter/docker-stacks#1926),
so we use the Julia notebook now!
@mathbunnyru
Copy link
Member

AMAZING, THANK YOU SO MUCH @mathbunnyru!

You're welcome:)

If you have some spare time, it would be great to have a Julia installation script put to jupyter/minimal-notebook, so we don't duplicate big chunks of code in Dockerfiles.

@@ -254,6 +275,7 @@ jobs:
minimal-notebook,
scipy-notebook,
r-notebook,
julia-notebook,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We forgot to add a new julia dependency in needs: in a few lines below.

@@ -290,6 +312,7 @@ jobs:
minimal-notebook,
scipy-notebook,
r-notebook,
julia-notebook,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We forgot to add a new julia dependency in needs: in a few lines below.

@mathbunnyru
Copy link
Member

mathbunnyru commented Jul 25, 2023

@yuvipanda I left these comments because I use this image as an example of how a new image can be added.
If you can, please cherry-pick or manually add this commit to your branch (so, this PR will be 100% correct).
If not, just ignore this message 🙂

@yuvipanda
Copy link
Contributor Author

@mathbunnyru that's so sweet! I've cherry-picked that commit but it doesn't seem to be reflected here.

@mathbunnyru
Copy link
Member

Thanks @yuvipanda
It seems to be GitHub limitations, so we can't do anything here, unfortunately.
Thanks for trying 🙂

kentwait pushed a commit to kentwait/docker-stacks that referenced this pull request Aug 3, 2023
* Add jupyter/julia-notebook

There is a growing number of Julia users in the Jupyter
ecosystem who do not use R, and hence would <3 to have a
dedicated docker image that doesn't bring in all the R
stuff that datascience-notebook brings in! The built image
size is much smaller, and eventually paves the way to
better ecosystem support for Julia.

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Add a test for julia-notebook

* Tell tests what julia-notebook inherits from

* Sort lists with julia-notebook

* Fix README for julia-notebook

* Add julia-notebook to the makefile

* Move julia-notebook below r-notebook

* Use hard tabs in Makefile

* Do some more sorting

* Rename test_julia to avoid mypy issue

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Re-order julia/r-notebook

Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>

* Move julia-notebook stanza under r-notebook

* Update inheritance diagram

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Ayaz Salikhov <mathbunnyru@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants