Small projects collected over the years.
The file pyproject.toml at the repository root pins dependencies for these directories only:
| Directory | Notes |
|---|---|
finance/ |
Equities notebook (Yahoo Finance, Plotly, Wikipedia / read_html) and corporate-bond GNN notebook (SciPy, scikit-learn, NetworkX). |
miscellaneous/ |
silly_examples.ipynb (NumPy, Pandas, Matplotlib). |
time_series/ |
ARIMA / ARCH / portfolio notebooks (statsmodels, arch, cvxpy, riskfolio-lib, yfinance, …) and basic_rnn_pytorch.ipynb (PyTorch). |
It does not apply to other folders in the repo (for example deep_learning/, kaggle/, __udacity__/, and so on). Those projects may need their own environments or extra packages.
uv— install it using the official install guide.- Python 3.10 or newer —
uvcan install and pin a version for you (requires-pythoninpyproject.tomlis>=3.10).
Run everything from the repository root (the directory that contains pyproject.toml).
The [notebook] extra pulls in Jupyter and ipykernel so you can open the .ipynb files. PyTorch is a normal dependency because time_series/basic_rnn_pytorch.ipynb needs it, so the first install can be large and take a while.
# Have uv download a Python that satisfies 3.10+ (adjust 3.12 if you like)
uv python install 3.12
# Create the virtual environment
uv venv --python 3.12
source .venv/bin/activate # Windows: .venv\Scripts\activate
uv pip install -e ".[notebook]"If you prefer not to activate the venv, target it explicitly:
uv venv --python 3.12
uv pip install --python .venv/bin/python -e ".[notebook]"On Windows, use .venv\Scripts\python.exe in place of .venv/bin/python.
uv pip install reads the same pyproject.toml metadata as pip (dependencies and optional extras such as [notebook]).
After the environment is installed and activated:
python -m ipykernel install --user --name fun-ml-projects --display-name "Python (fun-ml-projects)"Then choose Python (fun-ml-projects) when opening notebooks under finance/, miscellaneous/, or time_series/. In Cursor or VS Code you can instead pick the interpreter .venv/bin/python directly.