Skip to contents

Tests all known criteria against the directory tree starting from path and returns a data frame with one row per criterion, indicating whether each project type was detected and where its root is.

Usage

detect_python_project(path = ".")

Arguments

path

Character scalar. Starting directory for the upward search. Defaults to ".".

Value

A data frame with columns:

  • type: character, criterion name ("uv", "poetry", "pdm", "pipenv", "conda", "pyproject", "pip", "here").

  • found: logical, whether the criterion matched anywhere in the tree.

  • root: character, absolute path to the matched root, or NA if not found.

Rows are ordered by priority (uv first, here last). To get the highest priority match use subset(result, found)[1, ].

Examples

if (FALSE) { # \dontrun{
detect_python_project()
detect_python_project("/path/to/subdir")

# highest priority match
result <- detect_python_project()
subset(result, found)[1, ]
} # }