mirror of
https://github.com/github/spec-kit.git
synced 2026-03-17 02:43:08 +00:00
* fix: pin click>=8.1 to prevent Python 3.14/Homebrew env isolation failures Fixes #1631. When uv installs specify-cli on macOS with Homebrew Python 3.14, the virtual environment can fail to fully isolate from the system site-packages, causing Homebrew's click to be loaded instead of the one uv installed. If that system click is older than 8.1, it lacks the `ctx` keyword argument in `ParamType.get_metavar()`, which typer 0.24.0 requires, resulting in: TypeError: ParamType.get_metavar() got an unexpected keyword argument 'ctx' Adding an explicit `click>=8.1` dependency gives uv a hard constraint so the correct version is always resolved and installed. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Update CHANGELOG.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
55 lines
1019 B
TOML
55 lines
1019 B
TOML
[project]
|
|
name = "specify-cli"
|
|
version = "0.1.2"
|
|
description = "Specify CLI, part of GitHub Spec Kit. A tool to bootstrap your projects for Spec-Driven Development (SDD)."
|
|
requires-python = ">=3.11"
|
|
dependencies = [
|
|
"typer",
|
|
"click>=8.1",
|
|
"rich",
|
|
"httpx[socks]",
|
|
"platformdirs",
|
|
"readchar",
|
|
"truststore>=0.10.4",
|
|
"pyyaml>=6.0",
|
|
"packaging>=23.0",
|
|
]
|
|
|
|
[project.scripts]
|
|
specify = "specify_cli:main"
|
|
|
|
[build-system]
|
|
requires = ["hatchling"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/specify_cli"]
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"pytest>=7.0",
|
|
"pytest-cov>=4.0",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
python_files = ["test_*.py"]
|
|
python_classes = ["Test*"]
|
|
python_functions = ["test_*"]
|
|
addopts = [
|
|
"-v",
|
|
"--strict-markers",
|
|
"--tb=short",
|
|
]
|
|
|
|
[tool.coverage.run]
|
|
source = ["src"]
|
|
omit = ["*/tests/*", "*/__pycache__/*"]
|
|
|
|
[tool.coverage.report]
|
|
precision = 2
|
|
show_missing = true
|
|
skip_covered = false
|
|
|
|
|