@zookinheimer's masterpiece. Gonna fill in the blanks and/or add tooling.
- Install
# clone repo
git clone https://github.com/pythoninthegrass/lunch.git
# change directory
cd lunch/
# create virtual environment
python -m venv .venv
# activate virtual environment
source .venv/bin/activate
python -m pip install -r requirements.txt
python main.py
ctrl + c
deactivate
Additional tooling includes but is not limited to:
-
Install asdf
-
Usage
# add python plugin asdf plugin add python # install stable python asdf install python <latest|3.12.10> # set stable to system python asdf set -u python 3.12.10 # add uv asdf plugin asdf plugin add uv https://github.com/asdf-community/asdf-uv.git # install latest version via asdf asdf install uv <latest|0.7.4> # set latest version as default asdf set -u uv latest
-
Install uv if not using
asdf
-
Usage
# create a venv w/system python (./.venv) uv venv # activate venv source .venv/bin/activate # install dependencies uv pip install -r pyproject.toml # install with extras (for development) uv pip install -r pyproject.toml --all-extras # add new dependency uv add <package> # add optional dependency to dev group uv add --optional dev <package> # export requirements.txt from pyproject.toml uv pip compile pyproject.toml -o requirements.txt # run program python main.py # exit virtual environment deactivate
- Install VSCode
- Setup VSCode settings
- Handles debug settings for generic python programs as well as others (e.g., django, flask, etc.)
- Dev Containers
- Command palette (⇧⌘P) > Dev Containers: Reopen in Container
- F5 for debug
- May need to select interpreter (e.g.,
/opt/venv/bin/python
) first
- May need to select interpreter (e.g.,
- Installed via
poetry
orpip
- Add VSCode plugin for ruff
- Optional: disable pylance in favor of ruff in repo settings
"python.analysis.ignore": [ "*" ],
- Optional: disable pylance in favor of ruff in repo settings
- Usage
# run linter ruff check <.|main.py> # `--fix` arg to use a one-liner # run linter and fix issues ruff fix . # run tests ruff # run tests with coverage ruff --coverage # run tests with coverage and open in browser ruff --coverage --open
# install pre-commit dev dependency
uv pip install -r pyproject.toml --all-extras
# install pre-commit hooks
pre-commit install
# update
pre-commit autoupdate
Handles formatting of files. Install the editorconfig plugin for your editor of choice.
- Renovate is a GitHub tool that automatically creates pull requests to keep dependencies up to date.
-
Capture upstream source code context for LLMs via repomix
# install repomix brew install repomix # generate summary repomix --remote https://github.com/flet-dev/flet \ --output docs/flet_summary.md \ --style markdown \ --compress \ --remove-comments \ --remove-empty-lines
See TODO.md.
- ^^