Skip to content

Bug: Python plugin ignores workspace-level venvArgs and syncArgs #117

@lsorber

Description

@lsorber

Problem

The settings unstable_uv.venvArgs and unstable_uv.syncArgs in .moon/toolchains.yml are not applied for project setup/install actions.

My use case is that I want to add --all-extras to syncArgs so that the environment is created with all of the projects's extras defined in pyproject.toml.

Minimal reproducible example

# .moon/toolchains.yml
unstable_python:
  version: "3.14"
  packageManager: uv

unstable_uv:
  version: 0.10.9
  venvArgs:
    - "--clear"
  syncArgs:
    - "--all-extras"

# .moon/tasks/all.yml
tasks:
  lint:
    command: "[some command like ruff check]"

Running with --log debug shows that the fallback args are being used, instead of the configured args:

uv venv .venv --no-managed-python --no-python-downloads --no-progress
uv sync --no-managed-python --no-python-downloads --no-progress

Workaround

I only get the expected behavior if I duplicate the args in each project's moon.yml (toolchains.unstable_uv).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions