fix: install [dev] extras in make install-dev to fix make test for new contributors#155
fix: install [dev] extras in make install-dev to fix make test for new contributors#155
Conversation
…154) The install-dev target was manually listing pytest, pytest-asyncio, and ruff but skipping the [dev] extras group, which meant pytest-timeout (and pytest-xdist, pytest-cov, respx) were never installed. Since pyproject.toml sets addopts = "--timeout=120", running make test after make install-dev failed immediately with an unrecognized argument error. Fixes #154 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Updates the developer install workflow so new contributors can run make install-dev && make test without missing pytest plugins (e.g., pytest-timeout) required by pyproject.toml’s pytest configuration.
Changes:
- Simplifies
make install-devto install the project with thedevextras instead of manually listing a partial set of test tools.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Makefile
Outdated
| install-dev: | ||
| pip install -e ".[server,langchain,pydantic-ai,crewai]" | ||
| pip install pytest pytest-asyncio ruff | ||
| pip install -e ".[server,langchain,pydantic-ai,crewai,dev]" |
There was a problem hiding this comment.
install-dev installs editable extras .[server,...], but pyproject.toml does not define a server extra under [project.optional-dependencies]. With standard pip, this will fail with "does not provide the extra 'server'" before any dev deps are installed. Either define a server optional-dependency group in pyproject.toml (likely mirroring the FastAPI/SQLAlchemy deps currently listed in pyproject-server.toml) or remove server from this extras list and install server deps another way.
There was a problem hiding this comment.
Fixed. Removed server from the extras list in install-dev — it is not defined in pyproject.toml's [project.optional-dependencies], so it was a no-op. The dev extras group covers all required test tooling.
`server` is not defined in pyproject.toml's optional-dependencies, so including it in `.[server,...]` produces a pip warning and installs no server-specific deps. Remove it; the `dev` extras group already covers all required test tooling. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Summary
make install-devwas manually listingpytest pytest-asyncio ruffbut omitting the[dev]extras group frompyproject.tomlpytest-timeout,pytest-xdist,pytest-cov, andrespxuninstalledpyproject.tomlsetsaddopts = "--timeout=120", runningmake testaftermake install-devwould immediately fail withunrecognized arguments: --timeout=120.[server,langchain,pydantic-ai,crewai,dev]— thedevextras already declare all required test toolingCloses #154
Test plan
make install-devcompletes without errormake test(python3 -m pytest -q) runs successfully aftermake install-dev🤖 Generated with Claude Code