astral-sh/uv

Improve UX when `uv add` or `uv sync` are run in a directory with no `pyproject.toml`

Open

#12,988 opened on Apr 20, 2025

View on GitHub
 (1 comment) (1 reaction) (0 assignees)Rust (3,111 forks)batch import
enhancementerror messageshelp wanted

Repository metrics

Stars
 (84,934 stars)
PR merge metrics
 (Avg merge 7d 16h) (259 merged PRs in 30d)

Description

Summary

Currently if uv add or uv sync are run in a directory with no pyproject.toml, the resultant error message is:

$ mkdir testcase-uv && cd $_
$ uv add urllib3
error: No `pyproject.toml` found in current directory or any parent directory
$ uv sync
error: No `pyproject.toml` found in current directory or any parent directory

To improve the UX for users migrating from pip (or uv's uv pip interface), it would help if this error message hinted that the user should probably run uv init or else see the uv getting started docs.

Example

Perhaps something roughly like this?

$ uv add urllib3
error: No `pyproject.toml` found in current directory or any parent directory.
To create one run `uv init`, or see: https://docs.astral.sh/uv/guides/projects/

Contributor guide