Getting started¶
This repository contains only the Bottie course (Markdown chapters + MkDocs). There is no application code here—no render_api.py, no trading engine to run from this clone.
If you are new to Python or APIs, read Chapter 0 — New to Python and APIs first, then return here.
The full Bottie codebase (FastAPI, engine, ML, tests) lives in a separate repository—clone it when you are ready to run the stack on your machine. This course describes that architecture and how to operate it; the implementation is maintained alongside it, not inside this docs repo.
When exchanges or libraries change, use The tool as-is — adapting when things change (written for the full project; paths refer to that codebase).
1. Prerequisites¶
- Python 3.12 (recommended; matches Netlify /
PYTHON_VERSION). - Git and a terminal (PowerShell on Windows, bash/zsh on macOS/Linux).
- Network for
pip install.
2. Clone this repository (course only)¶
git clone https://github.com/luigipascal/newbottie.git
cd newbottie
(Use your fork URL if you forked the site.)
3. Virtual environment and MkDocs¶
# Windows PowerShell
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install --upgrade pip
pip install -r requirements-docs.txt
# macOS / Linux
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements-docs.txt
Build the documentation site locally:
mkdocs serve -f mkdocs.yml -a 127.0.0.1:8001
Open http://127.0.0.1:8001 — you should see the same structure as newbot.berta.one.
Optional: Material theme¶
pip install -r requirements-docs-material.txt
mkdocs serve -f mkdocs-material.yml -a 127.0.0.1:8001
On Windows, if Material install fails (Errno 22), stay on mkdocs.yml or mkdocs-lite.yml—content is the same.
4. Full application (separate repo)¶
To run the API, engine, smoke tests, and pytest as described in later chapters, clone the application repository (example):
git clone https://github.com/luigipascal/Bottie.git
cd Bottie
# follow that repo's README: venv, requirements.txt, render_api.py, scripts/smoke.py, pytest
Chapter text refers to files like render_api.py, engine/, and api/ in that codebase, not in this docs-only tree.
Environment variables: in the application repo, copy .env.example to .env beside render_api.py (or use your host’s secret store in production). Never commit .env or API keys.
5. Troubleshooting¶
mkdocs not found¶
Activate your venv first, or run python -m mkdocs serve ....
Port 8001 in use¶
Use another port: mkdocs serve -f mkdocs.yml -a 127.0.0.1:8010
6. What to do next¶
Open Chapter 1 — Overview and continue the path in Curriculum.