Skip to content

How-To Guides

Task-oriented guides for common workflows.

The workspace recipes below read an existing checkout without modifying it.

List the members of a uv workspace

Python
from pathlib import Path

from axm_ingot import resolve_workspace

workspace = resolve_workspace(Path("."))
member_paths = [m.path for m in workspace.members] if workspace else []
member_names = [m.name for m in workspace.members] if workspace else []

Locate the enclosing workspace from a nested directory

Python
from pathlib import Path

from axm_ingot import find_workspace_root

root = find_workspace_root(Path("packages/some-pkg/src"))

Choose the right root

resolve_workspace examines exactly the directory passed to it; call find_workspace_root first when starting inside a member. If you want the nearest project of any kind, use find_project_root instead. That helper falls back to its starting directory when no project exists; it is not an existence check. See the workspace contracts for malformed configuration and duplicate-name behavior.