This is a quick demo of the use of codespaces in GitHub for workshop purposes.
all participants need a GH account ( can be free version ) this will give them access to the codespace feature on public repos
- full and preconfigured VSCode , in browser or local
- CPython or conda possible based on the underlying base image
- Fast to starty ( Github hase a pool of preconfigured images, and very fast storage / network)
- You do need to take care to prevent secret sharing ( .gitignore, template .env files, etc)
- saving state will happen to codespaces, no branch or fork needed per se
- but if you want permanent changes can be done by creating a fork
- It is possible to create a deeplink to create a code-space
Account Plan | Storage per Month | Core Hours per Month |
---|---|---|
GitHub Free for personal accounts | 15 GB-month | 120 |
so with a 2-core machine you can run 60 hours of codespaces per month for free with a 4 core machine you can run 30 hour of codespaces per month for free
This repository contains a collection of codespaces which can be used to demonstrate the feature at various levels, from a default codespace (i.e., with no configuration specified) to a complex one with full support for developing machine learning applications using Python.
Each of the following branches can be used to showcase a different type of codespace:
- default: No codespace configuration. This can be used to illustrate what a barebones codespace looks like and how it can be used to bootstrap more complex codespaces or to simply create and modify files using a more powerful tool than the default GitHub editor.
- simple: Basic, manually-crafted codespace which can be used to develop a simple Python application.
- complex: Complex codespace containing a large collection of libraries, modules and tools which together form an environment where a machine learning application can be developed with little to no initial setup effort needed.
Start with the default branch,
then proceed to simple, then
finally complex. Each branch
will contain a README.md
with further instructions.