diff --git a/.site/wokwi/README.md b/.site/wokwi/README.md index 8232ccfa..1c000eff 100644 --- a/.site/wokwi/README.md +++ b/.site/wokwi/README.md @@ -25,7 +25,7 @@ Use `main.py` as committed. On first boot, `mip` downloads PyDevices core + `pyg PyDevices MIP index (network required), then runs **testris** — a touch + joystick Tetris demo. You should see the game running — drive it with the on-screen touch keypad. -Only `testris.py` is installed from `lib/examples/`; the rest of the example catalog is not fetched. +Only `testris.py` is installed from [`lib/examples/`](../../lib/examples/); the rest of the example catalog is not fetched. To try a different example, edit the `mip.install(PYDEVICES_EXAMPLES + ...)` line in `main.py` to point at another script under [`lib/examples/`](../../lib/examples/) and update the `import testris` line at the bottom to match. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6f3da503..809a4231 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,7 +39,7 @@ python tools/screenshot.py hello.py python tools/record.py bouncing_balls 10 ``` -Output goes to `docs/screenshots/` and `docs/videos/`. +Output goes to [`docs/screenshots/`](docs/screenshots/) and [`docs/videos/`](docs/videos/). ## Build the docs diff --git a/docs/get-started/first-program.md b/docs/get-started/first-program.md index c7a77f85..1363a7c3 100644 --- a/docs/get-started/first-program.md +++ b/docs/get-started/first-program.md @@ -56,6 +56,6 @@ says why the examples build it themselves. ## Next -Run `lib/examples/pydevices_demo.py` from a clone, then pick another from +Run [`lib/examples/pydevices_demo.py`](../../lib/examples/pydevices_demo.py) from a clone, then pick another from [`lib/examples/`](https://github.com/PyDevices/pydevices-examples/tree/main/lib/examples). The [screenshots](../reference/screenshots.md) show what many of them draw. diff --git a/docs/get-started/install.md b/docs/get-started/install.md index 71f41933..0b0b0130 100644 --- a/docs/get-started/install.md +++ b/docs/get-started/install.md @@ -27,7 +27,7 @@ cd lib ../.venv/bin/python examples/pydevices_demo.py ``` -Examples that import helpers from `lib/utils` say so in a `# utils:` comment at +Examples that import helpers from [`lib/utils`](https://github.com/PyDevices/pydevices-examples/tree/main/lib/utils) say so in a `# utils:` comment at the top. They need `utils/` on the import path: ```bash diff --git a/docs/guides/run-in-the-browser.md b/docs/guides/run-in-the-browser.md index 95bfe6d9..dff50e6b 100644 --- a/docs/guides/run-in-the-browser.md +++ b/docs/guides/run-in-the-browser.md @@ -1,7 +1,7 @@ # Run an example in the browser The [PyScript gallery](https://PyDevices.github.io/pydevices-examples/pyscript/) -runs the real scripts from `lib/examples/` in a modern web browser. Open it, +runs the real scripts from [`lib/examples/`](https://github.com/PyDevices/pydevices-examples/tree/main/lib/examples) in a modern web browser. Open it, pick an example and it runs; there is nothing to install. The same example that opens a window on your desktop draws on a canvas in the page. diff --git a/docs/guides/use-a-peter-hinch-gui.md b/docs/guides/use-a-peter-hinch-gui.md index e1bd844f..72788910 100644 --- a/docs/guides/use-a-peter-hinch-gui.md +++ b/docs/guides/use-a-peter-hinch-gui.md @@ -36,7 +36,7 @@ application-owned `appdev` app. | Component | Location | Notes | |---|---|---| | `board_config.py` | pydevices' `board_configs/` | Display plus neutral input capabilities | -| *setup module* | `lib/utils/` | `color_setup.py`, `hardware_setup.py`, or `touch_setup.py` — see the table above | +| *setup module* | [`lib/utils/`](https://github.com/PyDevices/pydevices-examples/tree/main/lib/utils) | `color_setup.py`, `hardware_setup.py`, or `touch_setup.py` — see the table above | | `fetch_ph_gui.py` | `lib/utils/` | `mip` install into `utils/gui/` plus the desktop compatibility patches | | `displaybuf.py` | `lib/utils/` | The `ssd` framebuffer | | [`uctypes.py`](https://github.com/PyDevices/pydevices-examples/blob/main/lib/utils/uctypes.py) | `lib/utils/` | CircuitPython shim for the GUIs' `writer.py` | @@ -57,7 +57,7 @@ where `` is `micropython-nano-gui`, `micropython-micro-gui`, or ### Examples -Each GUI has a smoke test under `lib/examples/`, and each has a browser gallery +Each GUI has a smoke test under [`lib/examples/`](https://github.com/PyDevices/pydevices-examples/tree/main/lib/examples), and each has a browser gallery loader that fetches the GUI through its setup module: | GUI | Example | Gallery | diff --git a/lib/examples/google_photos/README.md b/lib/examples/google_photos/README.md index bfea6ccb..3889fd7a 100644 --- a/lib/examples/google_photos/README.md +++ b/lib/examples/google_photos/README.md @@ -102,7 +102,7 @@ The slideshow interval is `slideshow_s` in the prefs file (default 5). | Desktop | Microcontroller | Contents | |---|---|---| -| `~/.gphotos_tokens.json` | `/gphotos_tokens.json` | `client_id`, `client_secret`, `refresh_token` (written by `tools/gphotos_auth.py`; read-only on the device) | +| `~/.gphotos_tokens.json` | `/gphotos_tokens.json` | `client_id`, `client_secret`, `refresh_token` (written by [`tools/gphotos_auth.py`](../../../tools/gphotos_auth.py); read-only on the device) | | `~/.gphotos_prefs` | `/gphotos_prefs` | JSON: current session, picked items (without their short-lived URLs), `slideshow_s` | | `~/.gphotos_cache/` | `/gphotos_cache/` | `_x[c].jpg\|png` thumbnails, at most 48 files | diff --git a/lib/utils/README.md b/lib/utils/README.md index 122c046f..e80078ba 100644 --- a/lib/utils/README.md +++ b/lib/utils/README.md @@ -47,6 +47,6 @@ nano / micro / touch at a time. See [pdwidgets](https://github.com/PyDevices/pdwidgets), [palettes](https://github.com/PyDevices/palettes). -Many scripts in `lib/examples/` depend on these modules. They are excluded from +Many scripts in [`lib/examples/`](../examples/) depend on these modules. They are excluded from the MIP packages — install from GitHub only. Some files are third-party ports included for convenience; see the file headers for attribution. diff --git a/tools/README.md b/tools/README.md index d6af3545..382a4434 100644 --- a/tools/README.md +++ b/tools/README.md @@ -258,8 +258,8 @@ the binary-bundled ``imageio-ffmpeg`` Python package. | Content | Source | |---------|--------| -| MicroPython stdlib stubs | committed under `tools/typings/` | +| MicroPython stdlib stubs | committed under [`tools/typings/`](typings/) | | `displaydev` / `appdev` / `multimer` / `events` / `keys` | committed package trees / modules; regenerate with [`../scripts/gen_package_pyi.sh`](../scripts/gen_package_pyi.sh) | | `lvgl` | committed [`tools/typings/lvgl.pyi`](typings/lvgl.pyi) (from `../lvgl-bindings/generated/lvgl.pyi`) | -Confirm **Python: Select Interpreter** → `.venv/bin/python`. Cursor uses **cursorpyright** with `stubPath` / `typeshedPaths` → `tools/typings` (configured in a local `.vscode/settings.json` when present). +Confirm **Python: Select Interpreter** → `.venv/bin/python`. Cursor uses **cursorpyright** with `stubPath` / `typeshedPaths` → [`tools/typings`](typings/) (configured in a local `.vscode/settings.json` when present).