Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
fc01f13
feat: add SolverReport and extend Result with solver_name
FabianHofmann May 12, 2026
7a2b5f6
refactor: solver state on instance + Result wiring
FabianHofmann May 12, 2026
31ac03d
refactor: introduce Model.apply_result and model.solver
FabianHofmann May 12, 2026
2120cbb
test: update test_no_solver_model_error for new solver attribute
FabianHofmann May 12, 2026
f392a23
test: cover Solver instance persistence and apply_result paths
FabianHofmann May 12, 2026
859be09
feat: add __repr__ to Solver class
FabianHofmann May 12, 2026
da87801
refactor: declare solver capabilities on Solver subclasses
FabianHofmann May 12, 2026
9d9dd4d
refactor: lift to_solver_model/resolve onto Model and drop sense arg
FabianHofmann May 12, 2026
17ecf36
Fix two-step direct solver state and label mapping
FabianHofmann May 12, 2026
490e7eb
refactor: rename two-step solve API to prepare_solver/run_solver
FabianHofmann May 12, 2026
3749f8f
refactor: generalize runtime-conditional solver features
FabianHofmann May 13, 2026
118ca9f
Delete piecewise-feasibility-tests-walkthrough.ipynb
FabianHofmann May 13, 2026
4ab3ddc
refactor: consolidate solve_problem_from_model docstring on abstract …
FabianHofmann May 13, 2026
67d5743
refactor: rename solver translators to _build_solver_model
FabianHofmann May 13, 2026
9975ac8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 13, 2026
ab32e5b
Merge branch 'master' into solver-refac
FabianHofmann May 13, 2026
3d6ba0e
Remove redundant solution sentinel assignment
FabianHofmann May 13, 2026
43a82aa
refactor: Solution.primal/dual as ndarray lookup arrays
FabianHofmann May 13, 2026
cd8e7f8
refactor: drop label state from Solver, primal/dual in build order
FabianHofmann May 13, 2026
cd4fd02
docs: merge Solution ndarray release-notes bullets
FabianHofmann May 13, 2026
e3f77d4
feat: add MIP dual_bound to SolverReport
FabianHofmann May 15, 2026
b9cc9ac
Update CLAUDE.md
FabianHofmann May 15, 2026
2ceffbe
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 15, 2026
8115014
perf: cache constraint labels to avoid matrix rebuild in apply_result
FabianHofmann May 15, 2026
3f5765b
fix: label-indexed Solution.primal/dual, robust to solver iteration o…
FabianHofmann May 15, 2026
e91b3f7
refactor: Solver.from_name factory + dataclass
FabianHofmann May 15, 2026
fe18860
refactor: deprecate solve_problem_from_*, fold to_solver_model into _…
FabianHofmann May 15, 2026
7e89d31
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] May 15, 2026
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
22 changes: 11 additions & 11 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,40 +7,40 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
### Running Tests
```bash
# Run all tests (excluding GPU tests by default)
pytest
uv run --extra dev --extra solvers pytest

# Run tests with coverage
pytest --cov=./ --cov-report=xml linopy --doctest-modules test
uv run --extra dev --extra solvers pytest --cov=./ --cov-report=xml linopy --doctest-modules test

# Run a specific test file
pytest test/test_model.py
uv run --extra dev --extra solvers pytest test/test_model.py

# Run a specific test function
pytest test/test_model.py::test_model_creation
uv run --extra dev --extra solvers pytest test/test_model.py::test_model_creation

# Run GPU tests (requires GPU hardware and cuPDLPx installation)
pytest --run-gpu
uv run --extra dev --extra solvers pytest --run-gpu

# Run only GPU tests
pytest -m gpu --run-gpu
uv run --extra dev --extra solvers pytest -m gpu --run-gpu
```

**GPU Testing**: Tests that require GPU hardware (e.g., cuPDLPx solver) are automatically skipped by default since CI machines typically don't have GPUs. To run GPU tests locally, use the `--run-gpu` flag. The tests are automatically marked with `@pytest.mark.gpu` based on solver capabilities.

### Linting and Type Checking
```bash
# Run linter (ruff)
ruff check .
ruff check --fix . # Auto-fix issues
uv run --extra dev ruff check .
uv run --extra dev ruff check --fix . # Auto-fix issues

# Run formatter
ruff format .
uv run --extra dev ruff format .

# Run type checker
mypy .
uv run --extra dev mypy .

# Run all pre-commit hooks
pre-commit run --all-files
uv run --extra dev pre-commit run --all-files
```

### Development Setup
Expand Down
Loading
Loading