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

feat: Add codespaces configuration #13

Closed
wants to merge 2 commits into from

Conversation

lsetiawan
Copy link
Collaborator

This PR adds a github codespaces configuration for the notebooks to packages tutorial

@lsetiawan lsetiawan requested a review from jomey July 26, 2024 21:10
Copy link
Member

@jomey jomey left a comment

Choose a reason for hiding this comment

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

I am new to codespaces.

Where does it come into play?

@lsetiawan
Copy link
Collaborator Author

Where does it come into play?

Users basically just go to the repository and click a button and they will have their full VSCode IDE environment and then there they will learn about code development. This way, they're familiar with environment outside of a Jupyter interface. 😄

@jomey
Copy link
Member

jomey commented Jul 29, 2024

Where does it come into play?

Users basically just go to the repository and click a button and they will have their full VSCode IDE environment and then there they will learn about code development. This way, they're familiar with environment outside of a Jupyter interface. 😄

Very cool!

Does this require to have anything activated at the GitHub organization level?

@JessicaS11
Copy link
Member

This way, they're familiar with environment outside of a Jupyter interface.

Agree this is important - did you know that CryoCloud also has a VSCode IDE?

GitHub Codespaces is super neat - I used it for several tutorials at SciPy (@scottyhq set it up for the Xarray one!). Can you share how you're envisioning leveraging Codespaces and CryoCloud simultaneously?

@scottyhq
Copy link
Member

scottyhq commented Aug 1, 2024

(@scottyhq set it up for the Xarray one!)

Actually @lsetiawan set it up originally 😅.

did you know that CryoCloud also has a VSCode IDE?

This was new to me! Looks like it isn't documented (https://book.cryointhecloud.com/). But sure enough it's in the launcher:

Screenshot 2024-08-01 at 11 46 07

// For format details, see https://aka.ms/devcontainer.json. For config options, see the
{
"name": "Notebooks to Packages",
"image": "ghcr.io/uw-ssec/minimal:latest",
Copy link
Member

@scottyhq scottyhq Aug 1, 2024

Choose a reason for hiding this comment

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

What's in this image? Can we instead just point to the current CryoCloud image? (Or what packages are not in there that you'd need for this tutorial) https://github.com/CryoInTheCloud/hub-image

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This image is lean and has pixi installed. This tutorial doesn't really need anything fancy :)

@lsetiawan
Copy link
Collaborator Author

Does this require to have anything activated at the GitHub organization level?

@jomey This doesn't require any special permissions, just that they have a Github account

@lsetiawan
Copy link
Collaborator Author

Can you share how you're envisioning leveraging Codespaces and CryoCloud simultaneously?

@JessicaS11 My thought is that I want participant to have a chance to work outside of the CryoCloud since it's more of a "temporary" environment. Using codespaces, it allows them to work in VSCode so they get a nice feel there AND the codespace devcontainer environment can be spun up locally as well. Essentially, I'm trying to introduce a more "local" way of working with code outside of just a "Jupyter" ecosystem since the whole point of this tutorial is really getting out of the Jupyter ecosystem to a full blown IDE.

@JessicaS11
Copy link
Member

My thought is that I want participant to have a chance to work outside of the CryoCloud since it's more of a "temporary" environment. Using codespaces, it allows them to work in VSCode so they get a nice feel there AND the codespace devcontainer environment can be spun up locally as well. Essentially, I'm trying to introduce a more "local" way of working with code outside of just a "Jupyter" ecosystem since the whole point of this tutorial is really getting out of the Jupyter ecosystem to a full blown IDE.

Hmmm... I think codespaces is great and am not against using it, but my primary concern with introducing it is that it adds another tool/navigational space to the "firehose" participants get during the week, especially if VSCode (i.e. using an IDE outside of Jupyter) is actually the goal. Ideally, everyone will already have their projects going in CryoCloud, so moving the project to a codespace has the potential to be a barrier that gets in the way of the packaging step (especially if you're newer to git/GitHub). Curious to hear from @jomey and @scottyhq too if I'm making too big a deal about the potential additional tooling load for participants.

@lsetiawan
Copy link
Collaborator Author

After chatting with @scottyhq in person, I'll just stick with cryocloud. I'm just not used to a jupyterhub being available for a long time 😬 Apologies for my old school ness haha 😅 I also agree with your thinking @JessicaS11 Thanks for that thought.

@lsetiawan lsetiawan closed this Aug 8, 2024
@lsetiawan lsetiawan deleted the codespaces branch August 8, 2024 22:32
@jomey
Copy link
Member

jomey commented Aug 8, 2024

I wouldn't quite call this 'old-school' @lsetiawan and rather qualify this as 'next-level' 😄

Agree, though, that keeping it simple for the hackweek is the path to go. We can always point curious minds towards the IDE path, once they feel ready for it

@JessicaS11
Copy link
Member

I'm just not used to a jupyterhub being available for a long time 😬

Very fair!

I wouldn't quite call this 'old-school' @lsetiawan and rather qualify this as 'next-level' 😄

Well said! I think that's one of the biggest successes of CryoCloud so far.

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.

4 participants