# Install uv (Python package manager)
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Install git (if not already installed)
winget install Git.Gitcd topics\fizzbuzz
uv sync # Creates .venv/ and installs dependencies
uv run python main.py # Runs in fizzbuzz's virtual environment
uv run pytest # Runs tests in fizzbuzz's virtual environmentEach topic gets its own .venv/ directory:
- ✅ Isolated: fizzbuzz and algorithms have separate Python environments
- ✅ Automatic:
uv runalways uses the correct environment - ✅ Clean: No global package conflicts
# Check what's installed in current topic
uv pip list
# Manually activate environment (optional)
.venv\Scripts\Activate.ps1 # Windows
python main.py # Now using topic's environment
deactivate # Deactivategit status
git log --onelinecd topics
uv init --app new-topic --vcs none # Creates project structure
cd new-topic
uv add --dev pytest # Add testing to THIS topic only
uv sync # Create .venv/ for THIS topic- Copy
pyproject.toml.templatetotopics\new-topic\pyproject.toml - Update project name in
pyproject.toml - Add your Python files
- Run
uv syncto create.venv/for this topic
cd topics\data-science
uv add pandas numpy matplotlib # Only added to data-science topic
cd ..\algorithms
uv pip list # Won't show pandas/numpy/matplotlibgit add .
git commit -m "Add new-topic implementation"- Complete setup: See
README.md - Git workflow: See
GIT_GUIDE.md
That's it! Each topic has its own isolated Python environment and git tracks your learning progress.