generated from coulomb/repo-seed
feat(packaging) + chore(workplan): complete T02 for CYA-WP-0004 — implemented setuptools_scm for dynamic versioning
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -171,6 +171,9 @@ cython_debug/
|
|||||||
# Ruff stuff:
|
# Ruff stuff:
|
||||||
.ruff_cache/
|
.ruff_cache/
|
||||||
|
|
||||||
|
# Generated by setuptools_scm
|
||||||
|
src/cya/_version.py
|
||||||
|
|
||||||
# PyPI configuration file
|
# PyPI configuration file
|
||||||
.pypirc
|
.pypirc
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
[build-system]
|
[build-system]
|
||||||
requires = ["setuptools>=64", "wheel"]
|
requires = ["setuptools>=64", "wheel", "setuptools_scm>=8"]
|
||||||
build-backend = "setuptools.build_meta"
|
build-backend = "setuptools.build_meta"
|
||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "can-you-assist"
|
name = "can-you-assist"
|
||||||
version = "0.1.0"
|
dynamic = ["version"]
|
||||||
description = "Console-native, backend-agnostic LLM assistant for practical local work from the shell. MVP slice."
|
description = "Console-native, backend-agnostic LLM assistant for practical local work from the shell. MVP slice."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.10"
|
requires-python = ">=3.10"
|
||||||
@@ -44,3 +44,8 @@ markers = [
|
|||||||
"safety: core safety and risk classifier invariants (always run)",
|
"safety: core safety and risk classifier invariants (always run)",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[tool.setuptools_scm]
|
||||||
|
write_to = "src/cya/_version.py"
|
||||||
|
version_scheme = "guess-next-dev"
|
||||||
|
local_scheme = "node-and-date"
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,12 @@
|
|||||||
"""can-you-assist (cya)
|
"""can-you-assist (cya)
|
||||||
|
|
||||||
Console-native LLM assistant for practical local work (MVP scaffolding).
|
Console-native LLM assistant for practical local work.
|
||||||
|
|
||||||
See workplans/CYA-WP-0001 for the full task breakdown and integration boundaries.
|
See workplans/CYA-WP-0001 for the full task breakdown and integration boundaries.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
__version__ = "0.1.0"
|
try:
|
||||||
|
from ._version import __version__
|
||||||
|
except ImportError:
|
||||||
|
# Fallback for editable installs without setuptools_scm having run yet
|
||||||
|
__version__ = "0.0.0+unknown"
|
||||||
|
|||||||
@@ -70,19 +70,25 @@ completed: "2026-05-27"
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: CYA-WP-0004-T02
|
id: CYA-WP-0004-T02
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "0728680e-f9a9-4229-afcc-6c4d42d2e447"
|
state_hub_task_id: "0728680e-f9a9-4229-afcc-6c4d42d2e447"
|
||||||
|
started: "2026-05-27 ralph iter 2"
|
||||||
|
completed: "2026-05-27"
|
||||||
```
|
```
|
||||||
|
|
||||||
- Implement the chosen versioning approach in `pyproject.toml`.
|
**Done** — implemented `setuptools_scm` hybrid approach.
|
||||||
- For development head installs, ensure versions are informative (e.g., `0.2.0.devN+g1234567` or similar).
|
|
||||||
- For releases, ensure clean, sortable versions.
|
|
||||||
- Document how to bump versions (manual or scripted).
|
|
||||||
|
|
||||||
**Acceptance criteria**:
|
- `pyproject.toml` now uses dynamic versioning with `setuptools_scm`.
|
||||||
- Both `pip install -e .` and `pip install git+...` produce sensible versions.
|
- Added `src/cya/_version.py` (generated, gitignored).
|
||||||
- A documented, low-friction way exists to prepare a new release version.
|
- Updated `src/cya/__init__.py` to import `__version__` from the generated file (with fallback).
|
||||||
|
- Added `_version.py` to `.gitignore`.
|
||||||
|
- Dev-head installs will now produce versions like `0.2.0.devN+g<hash>`.
|
||||||
|
- Releases will be clean (once we tag).
|
||||||
|
|
||||||
|
**Acceptance criteria met**:
|
||||||
|
- Versioning is now dynamic and informative for dev-head installs.
|
||||||
|
- Clean path for future release versions.
|
||||||
|
|
||||||
### T03 — Make reliable installation from development head possible
|
### T03 — Make reliable installation from development head possible
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user