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
5 changes: 0 additions & 5 deletions .flake8

This file was deleted.

6 changes: 5 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ jobs:
run: uv sync --extra dev

- name: Run pytest (fast — excludes @pytest.mark.slow)
run: uv run pytest tests/ -m "not slow" -n auto --tb=short
run: uv run pytest tests/ -m "not slow" -n auto --tb=short --cov=src/spotoptim --cov-branch --cov-report=term

# ── Full suite: nightly schedule + manual dispatch ─────────────────────────
test-full:
Expand Down Expand Up @@ -118,3 +118,7 @@ jobs:
- name: Ruff
run: uv run ruff check src/ tests/
continue-on-error: true

- name: Type check with ty (non-blocking)
run: uv run ty check src/
continue-on-error: true
1 change: 0 additions & 1 deletion REUSE.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ SPDX-PackageDownloadLocation = "https://github.com/sequential-parameter-optimiza

[[annotations]]
path = [
".flake8",
".gitignore",
".python-version",
".releaserc.json",
Expand Down
29 changes: 28 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ dependencies = [
"spotdesirability>=0.0.1",
"statsmodels>=0.14.6",
"dill>=0.4.1",
"flake8>=7.3.0",
"black>=26.1.0",
"importlib-metadata>=8.7.1",
"ty>=0.0.29",
Expand Down Expand Up @@ -116,3 +115,31 @@ packages = ["src/spotoptim"]

[tool.hatch.build]
include = ["src/spotoptim/datasets/*.csv"]

# ── Tooling baseline (roadmap #6): converge on the spot* standard ────────────
# Ruff replaces the removed legacy .flake8. Line length matches black; CI runs
# `ruff check` non-blocking.
[tool.ruff]
line-length = 88
target-version = "py313"

[tool.black]
target-version = ["py313"]

[tool.isort]
profile = "black"

[tool.coverage.run]
branch = true
source = ["src/spotoptim"]

[tool.coverage.report]
# Ratchet: lock in the current ~71% fast-suite coverage so it cannot regress;
# 68 leaves margin for platform variance. Raise deliberately as coverage
# improves. The fast CI gate runs pytest with --cov, enforcing this.
fail_under = 68

# Astral `ty` type checker. Run non-blocking in CI (continue-on-error) so it
# surfaces type debt without failing the build; tighten to a gate later.
[tool.ty.environment]
python-version = "3.13"
43 changes: 0 additions & 43 deletions uv.lock

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

Loading