Makefile Guide — wspr-ai-lite¶
The Makefile provides common shortcuts for developers and users of wspr-ai-lite.
It helps set up the environment, run the app, ingest data, clean up, and reset the project.
Instead of typing long commands, you can run:
make <target>
Example:
make setup-dev
make run
Targets Overview¶
help¶
Prints a list of all available targets.
setup-dev¶
Creates a fresh Python virtual environment (.venv) and installs all dependencies from requirements.txt.
Use this the first time you clone the repo, or after running make distclean.
make setup-dev
venv¶
Creates the virtual environment (.venv) only, without installing packages.
make venv
install¶
Installs dependencies into an existing .venv.
Useful if you updated requirements.txt.
make install
run¶
Runs the Streamlit dashboard.
make run
Then open http://localhost:8501 in your browser.
ingest¶
Ingests WSPRNet data into DuckDB. By default, it pulls July 2014 as a test dataset:
make ingest
This fetches monthly archives (or uses the cache), parses them, and writes to data/wspr.duckdb.
test¶
Runs the test suite using pytest.
The PYTHONPATH is set automatically so pipelines/ is found.
make test
clean¶
Removes temporary files, caches, test outputs, and local DuckDB databases:
__pycache__/.pytest_cache/.cache/,.cache_history.jsondata/*.duckdb(local DB)- Coverage reports
make clean
distclean¶
Runs clean plus removes all development artifacts:
.venv/.streamlit/- Temporary archives (
*.tar.gz,*.zip) tmp/,temp/
make distclean
Use this before pushing to GitHub or when you want a completely clean repo.
reset¶
Performs a full rebuild from scratch:
- Runs
distclean - Creates
.venv - Installs dependencies
- Ingests a sample dataset (2014-07)
make reset
Afterwards, you can launch the app immediately:
make run
Common Workflows¶
-
First-time setup
make setup-dev make ingest make run -
Run tests before pushing
make test -
Clean your repo before committing/pushing
make distclean -
Start completely fresh (new venv + sample data)
make reset
This Makefile is designed to make development repeatable, reliable, and fast.