I am configuring the local development environment for the LangChain project. Following the official documentation (Contributing to code - Docs by LangChain), I proceeded to the “Clone and setup” step (Step 3). When I executed the commands:
text
uv venv && source .venv/bin/activate
uv sync --all-groups
The uv sync --all-groups command failed with the error:
text
error: No `pyproject.toml` found in current directory or any parent directory
Is this issue because the documentation has not been updated in a timely manner, or did the code repository update and forget to commit the pyproject.toml file to the root directory? I am pulling from the master branch.
The LangChain Python repo is a monorepo, there is no root pyproject.toml by design. Each package has its own under libs/ (e.g. libs/core, libs/langchain_v1, libs/partners/openai).
The contributing docs are misleading here: uv sync --all-groups must be run inside the package directory you’re working on, not at the repo root.
cd libs/core # or libs/langchain_v1, libs/partners/openai, etc.
uv sync --all-groups
Then use make test, make lint, etc. from that same directory. The root .venv from uv venv at the repo root won’t be used, each package manages its own environment via uv run.
So this isn’t a missing file; it’s outdated documentation that should clarify the monorepo layout.
Oh, now I understand. Thank you so much for your explanation! I should execute these commands separately under each module. The documentation needs to be updated to reflect the current repository structure, so that other people following the instructions won’t encounter the same error.
Yeap (will create a PR in docs repo), if this helped you, can you mark the answer as the solution.
Hey @chinaJordan @keenborder786, thanks for bringing this up! I’ve asked our docs team to take a look here and a fix should be up soon.