A laptop!¶
If you’re using Windows, we highly recommend coming prepared with Windows Subsystem for
Linux pre-configured.
This workshop uses bash for commands, but everything will also work with zsh (the
new default for MacOS)!
Git & a GitHub account!¶
Git will enable you to version-control your extension.
A GitHub account will enable you to share the extension you build.
Authentication with GitHub¶
You’ll need to be able to login to GitHub from your working environment to push your changes.
An easy way to get started is the gh CLI and
the gh auth login command.
A code editor / IDE¶
And know how to use it!
Feel free to use your favorite. Any command-line or graphical editor is fine!
VSCode is a safe choice. For the AI-enabled development portion, Cursor is another good choice!
A conda CLI (micromamba preferred)¶
This workshop will use conda to manage and isolate dependencies.
We will provide commands to create your environment and install the necessary
dependencies.
We will use micromamba for all commands, but you can substitute conda or mamba and
they should still work.
If you’re using Anaconda or Miniconda,
configure conda-forge as your primary channel.
You may also use pixi, but we expect you to be self-sufficient if you do.
Something to manage Python dependencies¶
And know how to use it!
We will provide commands, but you should be comfortable with the basics like creating and activating virtual environments.
For example, pip, uv, conda/mamba, or pixi.
If you’re using conda, please
configure conda-forge as your primary channel.
We recommend replacing Anaconda/miniconda with Miniforge
to avoid complications.
Programming experience¶
There is a lot of JavaScript & TypeScript involved in extension development. If you are comfortable with Python, you will likely be comfortable with the level of TypeScript we’ll be using.
Experience writing JavaScript, TypeScript, or programming for the browser is a bonus, but not required.