Setup
Python
Here is the working requirements.txt to get started for this course. You may need more packages for your actual project repository.
Make sure you are installing these packages in a separate virtual enviornment (for the course and project).
As of Q1 2026, keplergl’s dependencies only allows Python 3.12 at the latest.
altair
anthropic
beautifulsoup4
branca
chatlas
duckdb
folium
geoarrow-pandas
geopandas
great-tables
ibis-framework[duckdb]
ibis-framework[polars]
ibis-framework[postgres]
ibis-framework[sqlite]
inspect-ai
ipykernel
jupyter
# keplergl # incompatible with Python 3.13 (requires pyarrow==16.0.0)
lxml
mapclassify
maplibre[all]
marimo
matplotlib
narwhals
numpy
openai
palmerpenguins
pandas
plotly
plotnine
polars
pyarrow
pymongo
pyogrio
pytest
pytest-playwright
python-dotenv
querychat
requests
ridgeplot
seaborn
setuptools
shiny
shinylive
shinywidgets
snakeviz
tiktoken
vega-datasets
vegafusion
vl-convert-python
LLMs
We will be working with LLMs in this course.
GitHub Models
You will need to create a GitHub Personal Access Token (PAT). It does not need any context (e.g., repo, workflow, etc).
General instructions from the GitHub docs on creating a PAT: https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-personal-access-token-classic
Instructions from the GitHub Models docs: https://github.com/Azure-Samples/python-ai-agent-frameworks-demos/tree/main?tab=readme-ov-file#configuring-github-models
Local LLM: Ollama
- Download Ollama: https://ollama.com/
- Pick one of the many llama models on their model page from: https://ollama.com/search.
- Pick any random model that will fit on your computer
- You can pick multiple models if you’d like, we will compare results during workshop.
- Here are a few example models with their download sizes you can try:
| Model | Download Size | URL | Install Command |
|---|---|---|---|
| gpt-oss:20b | 14GB | https://gpt-oss.com/ | ollama run gpt-oss:20b |
| gpt-oss:120b | 65GB | - | ollama run gpt-oss:120b |
| qwen3:0.6b | 523MB | https://ollama.com/library/qwen3 | ollama run qwen3:0.6b |
| qwen | 5.2GB | - | ollama run qwen3 |
| Phi 4 mini | 3.2GB | https://ollama.com/library/phi4-reasoning | ollama run phi4-mini-reasoning |
| devstral | 14GB | https://ollama.com/library/devstral | ollama run devstral |
| llama4 | 67GB | https://ollama.com/library/llama4 | ollama run llama4 |
| llama4:128x17b | 245GB | - | ollama run llama4:128x17b |
(Optional): Chat provider with API
If you pay for Claude, OpenAI, etc access with their web/desktop application, this is a separate purchase for the API key. Depending on your usage, you may even find that paying for the API key could be cheaper!
Anthropic Claude
- Sign up at https://console.anthropic.com.
- Load up enough credit so you won’t be sad if something goes wrong.
- Create a key at https://console.anthropic.com/settings/keys
Google Gemini
- Log in to https://aistudio.google.com with a google account
- Click create API key & copy it to the clipboard.
OpenAI ChatGPT
- Log into https://platform.openai.com/.
- Create a key at https://platform.openai.com/settings/organization/api-keys