v0.0.1-alpha.4
·
36 commits
to main
since this release
fix: make typer and jinja2 optional via [cli] extra (#90) * fix: make typer and jinja2 optional via [cli] extra The pytest plugin only needs pydantic and ruamel.yaml at runtime. Moving typer>=0.15 and jinja2>=3.1 to the [cli] optional extra allows projects with a conflicting typer pin to install opcli for the pytest plugin alone without a dependency conflict. Changes: - pyproject.toml: move typer + jinja2 to [project.optional-dependencies] cli; add both to [dependency-groups] dev so CI and local dev are unaffected - core/subprocess.py: replace typer.echo() with print(..., file=sys.stderr) so the core module has zero typer imports (not just incidentally typer-free) - app.py: add ImportError guard with a clear install hint when typer is absent - README.md, AGENTS.md: document the [cli] extra and slim install use case Install the full CLI: pip install 'opcli[cli] @ git+...' Install plugin only: pip install 'opcli @ git+...' Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: add [cli] extra to all uv tool install calls All workflow files and spread backend templates were installing bare opcli (without typer), causing 'ModuleNotFoundError: typer' when running any opcli command in CI. Update every uv tool install invocation to use the [cli] extra: - .github/workflows/*.yml (6 files, 11 occurrences) - src/opcli/core/spread.py (local/CI/opcli-minimal templates, 6 occurrences) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>