Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,22 @@ Workflow actions moved to their current major releases: `actions/checkout` v7,
and `dorny/paths-filter` v4. Workflow behavior is unchanged, though setup-uv no
longer prunes the uv cache, so the first run after this repopulates it.

#### Ruff 0.16 lint floor (#356)

Minimum `ruff>=0.16.0` (was unpinned), so a local `ruff check` reports the same
diagnostics CI does instead of whatever version each contributor happened to
resolve. Ruff 0.16 also formats Python code blocks inside Markdown, which puts
the fenced examples in `README.md` and the `docs/` pages under `ruff format`.

#### Ruff's default rule set (#356)

`ruff check` now runs ruff's own curated default rules alongside the linters
this project selects. An explicit `select` replaces those defaults rather than
adding to them, so the config uses `extend-select` and leaves `select` unset.
Contributors get ruff's recommended baseline — flake8-bandit, flake8-pie,
pylint and the rest of the default set — on top of the project's existing
choices.

## cihai-cli 0.34.0 (2026-06-28)

cihai-cli 0.34.0 tracks the latest cihai and unihan-etl releases. The `cihai`
Expand Down
16 changes: 12 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ dev = [
"coverage",
"pytest-cov",
# Lint
"ruff",
"ruff>=0.16.0",
"mypy",
# Annotations
"types-colorama",
Expand Down Expand Up @@ -112,7 +112,7 @@ coverage =[
"pytest-cov",
]
lint = [
"ruff",
"ruff>=0.16.0",
"mypy",
]

Expand Down Expand Up @@ -170,7 +170,10 @@ ignore_missing_imports = true
target-version = "py310"

[tool.ruff.lint]
select = [
# `select` is deliberately unset: ruff 0.16 enables a curated default rule
# set, and an explicit `select` would replace it rather than extend it.
# `extend-select` layers this project's additional linters on top.
extend-select = [
"E", # pycodestyle
"F", # pyflakes
"I", # isort
Expand All @@ -187,7 +190,7 @@ select = [
"PERF", # Perflint
"RUF", # Ruff-specific rules
"D", # pydocstyle
"FA100", # future annotations
"FA100", # future annotations
]
ignore = [
"COM812", # missing trailing comma, ruff format conflict
Expand All @@ -210,6 +213,11 @@ convention = "numpy"

[tool.ruff.lint.per-file-ignores]
"*/__init__.py" = ["F401"]
"docs/conf.py" = [
# Sphinx reads version metadata by exec'ing the package's `__about__.py`,
# which keeps the docs build off an import of the package being documented.
"S102",
]
"src/cihai_cli/_colors.py" = ["D301"] # Doctest needs real escape bytes, not raw strings

[tool.pytest.ini_options]
Expand Down
4 changes: 1 addition & 3 deletions tests/test_install_widget.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,7 @@ def test_uvx_cooldown_exemptions_are_runtime_packages_only() -> None:
docs_only_packages = {
package_name
for package_name in repo_policy_packages
if package_name == "gp-libs"
or package_name.startswith("gp-")
or package_name.startswith("sphinx")
if package_name == "gp-libs" or package_name.startswith(("gp-", "sphinx"))
}

assert widget.EXCLUDE_NEWER_PACKAGES == ("cihai-cli", "cihai", "unihan-etl")
Expand Down
46 changes: 23 additions & 23 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.