diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-17 13:50:35 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-17 13:50:35 +0200 |
| commit | 3ef083fa750e21e252180585d1477990015cacee (patch) | |
| tree | a2f1a8bc7cfe6a2bb58db231532cd3480848928d /packages/meshbay-node/src/meshbay_node/roots.py | |
| parent | 36401ac2038c03c78f6f5bfea90d05f7493ccd0c (diff) | |
| download | meshbay-3ef083fa750e21e252180585d1477990015cacee.tar.gz | |
docs: install the [dev] extras, not a hand-written list
The documented setup was `pip install pytest pytest-asyncio aiosqlite`, three
lines under a rule saying not to install packages that are not declared in a
pyproject.toml. All three packages declare a `dev` extra, and the hand-written
list missed what was in it.
It cost three invisible things. Without `piexif`, `test_enrich_photo.py` fails
at import and the whole node suite stops at collection — not one test, the
run. Without `pytest-timeout`, `timeout = 60` in pyproject.toml is an unknown
config option, so the protection its own comment describes ("a hung test must
not wedge the run") was absent, announced only in a warning among the
deprecation notices. Without `ruff`, the project's linter is not installed.
`aiosqlite` never needed naming: it is a runtime dependency of the hub and the
node and arrives with the `-e` installs.
Verified with the corrected line: 2804 tests collected, 2800 passed, 4
skipped, and no unknown-option warning — nothing exceeds the timeout that is
now actually enforced.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UGY17EPph5LsLzePPXhUVc
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/roots.py')
0 files changed, 0 insertions, 0 deletions