Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
71e9d59
Refactor model configuration to use frozen dataclasses instead of dicts
hmgaudecker Jan 8, 2026
7766672
Use frozendict for immutable dict fields in dataclasses
hmgaudecker Jan 8, 2026
562cfaa
Ignore ty false positive.
hmgaudecker Jan 8, 2026
4d2c271
Return ProcessedModel dataclass from process_model() instead of dict
hmgaudecker Jan 8, 2026
264016c
Rename FactorEndogenousInfo to FactorInfo
hmgaudecker Jan 9, 2026
3bb334b
Ensure complete typing in src/skillmodels.
hmgaudecker Jan 9, 2026
e2d687a
Require Python 3.14 before fixing type annotations.
hmgaudecker Jan 9, 2026
921c612
Move TESTS_DIR -> TEST_DATA_DIR, which points to a subdirectory of sr…
hmgaudecker Jan 9, 2026
dce66ad
Fix more linting issues.
hmgaudecker Jan 9, 2026
e0f59d0
Make ruff rules much stricter.
hmgaudecker Jan 9, 2026
b15372a
Further tighten type annotations. Fix a missing run-time annotation o…
hmgaudecker Jan 11, 2026
74b2f18
Move unsafe_fixes = false from .pre-commit config to pyproject.
hmgaudecker Jan 11, 2026
04aaa10
Fix query in data simulation.
hmgaudecker Jan 12, 2026
493ead0
More fixes to imports, add test.
hmgaudecker Jan 12, 2026
51209ad
Use more tuples in place of lists to prevent errors.
hmgaudecker Jan 12, 2026
21da176
Fix typing.
hmgaudecker Jan 12, 2026
5925303
Dataclasses for user input.
hmgaudecker Jan 19, 2026
9590c46
Simplify.
hmgaudecker Jan 21, 2026
69f6eab
Use modern rng everywhere.
hmgaudecker Jan 28, 2026
f8dac75
Update CLAUDE.md
hmgaudecker Jan 28, 2026
846534b
Get rid of if TYPE_CHECKING blocks
hmgaudecker Jan 28, 2026
97d84b8
Update hooks and clean up
hmgaudecker Jan 28, 2026
b8a9fbc
Call by name throughout.
hmgaudecker Jan 29, 2026
5012a8b
Autogenerated docs, harmonised hooks / project configuration.
hmgaudecker Jan 29, 2026
7e7784e
Get rid of model_dict.
hmgaudecker Jan 29, 2026
6934f79
Replace yaml model specifications by ModelSpec-s.
hmgaudecker Jan 30, 2026
7cf471a
Next shot at fixing pickling.
hmgaudecker Feb 1, 2026
4380af8
Add improved output formatting.
hmgaudecker Feb 4, 2026
f7a8aa3
Add variance decompositions.
hmgaudecker Feb 4, 2026
348b6c6
Fix variance decomposition to use aug_period instead of period.
hmgaudecker Feb 4, 2026
7662600
Fix diagnostic_plots double-processing of debug data.
hmgaudecker Feb 4, 2026
7c9105c
Review comments 1: single EstimationOptions; improved dataclasses wit…
hmgaudecker Feb 15, 2026
fcb459e
Review comments on docs; tighten typing of Mapping to MappingProxyTyp…
hmgaudecker Feb 16, 2026
8e4ac7d
Back to general implementation of ensure_containers_are_immutable.
hmgaudecker Feb 16, 2026
eda32cd
Merge branch 'strong-typing' into output-formatting
hmgaudecker Feb 16, 2026
a148495
Small fixes.
hmgaudecker Feb 16, 2026
ea067ce
Latest boilerplate version.
hmgaudecker Mar 4, 2026
8207186
Make optimagic a package dependency.
hmgaudecker Mar 5, 2026
8e860d3
Merge branch 'main' into output-formatting
hmgaudecker Mar 9, 2026
f3ffdec
Latest boilerplate.
hmgaudecker Mar 9, 2026
b5f907f
Make jupyterbook and pytask required deps.
hmgaudecker Mar 10, 2026
77ad629
Use dags 0.5.0 dev branch.
hmgaudecker Mar 10, 2026
8b25ba6
Update CLAUDE.md with complete API docs and actual application usage
hmgaudecker Mar 10, 2026
0810e3c
Increase test coverage to close to 100%.
hmgaudecker Mar 10, 2026
c29505e
Fix bugs caught by review agent.
hmgaudecker Mar 10, 2026
24bfdac
Call ty environment 'type-checking'.
hmgaudecker Mar 11, 2026
baf2538
Merge branch 'output-formatting' of github.com:OpenSourceEconomics/sk…
hmgaudecker Mar 11, 2026
da0e140
Require dags 0.5, bump pandas, numpy and hooks, fix resulting issues.
hmgaudecker Mar 11, 2026
b2b68d6
Remove suppression of deprecation warning, which is unnecessary in Pa…
hmgaudecker Mar 11, 2026
fc3dbdd
Make ruff stricter.
hmgaudecker Mar 11, 2026
2f1e14d
Update boilerplate.
hmgaudecker Mar 11, 2026
8f0fc9e
Update ty and remove a couple of unused-ignores.
hmgaudecker Mar 14, 2026
4a836ae
Rename _sel to select_by_loc; fix stale docstring
hmgaudecker Mar 14, 2026
67d7b44
Allow passing states directly to get_transition_plots (health-cogniti…
hmgaudecker Mar 15, 2026
9a7e401
Fix aug_period/period bug in transition equation visualization
hmgaudecker Mar 16, 2026
d23f80c
Remove aug_periods from public-facing functions.
hmgaudecker Mar 16, 2026
447719a
Previous commit was too greedy.
hmgaudecker Mar 16, 2026
94e8704
Use pixi 0.66 in CI; prek autoupdate.
hmgaudecker Mar 18, 2026
b1606b8
CHORE: Approximation-tolerant floating point comparisons, remove pand…
hmgaudecker Mar 18, 2026
980ada3
Get rid of unnecessary block-comments.
hmgaudecker Mar 18, 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
1 change: 1 addition & 0 deletions .ai-instructions
Submodule .ai-instructions added at f2744a
33 changes: 24 additions & 9 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,27 +23,42 @@ jobs:
- macos-latest
- windows-latest
python-version:
- '3.13'
- '3.14'
steps:
- uses: actions/checkout@v6
- uses: prefix-dev/setup-pixi@v0.9.3
- uses: prefix-dev/setup-pixi@v0.9.4
with:
pixi-version: v0.62.2
pixi-version: v0.66.0
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
environments: test-cpu
environments: tests-cpu
activate-environment: true
frozen: true
- name: Run pytest
if: runner.os != 'Linux' || matrix.python-version != '3.13'
if: runner.os != 'Linux' || matrix.python-version != '3.14'
shell: bash -l {0}
run: pixi run -e test-cpu tests
run: pixi run -e tests-cpu tests
- name: Run pytest with coverage
if: runner.os == 'Linux' && matrix.python-version == '3.13'
if: runner.os == 'Linux' && matrix.python-version == '3.14'
shell: bash -l {0}
run: pixi run -e test-cpu tests-with-cov
run: pixi run -e tests-cpu tests-with-cov
- name: Upload coverage report
if: runner.os == 'Linux' && matrix.python-version == '3.13'
if: runner.os == 'Linux' && matrix.python-version == '3.14'
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
run-ty:
name: Run ty
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: prefix-dev/setup-pixi@v0.9.4
with:
pixi-version: v0.66.0
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
frozen: true
environments: type-checking
- name: Run ty
run: pixi run -e type-checking ty
shell: bash -el {0}
7 changes: 4 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# Claude Code
.claude/

# Distribution / packaging
*.egg
*.egg-info/
Expand All @@ -13,7 +16,6 @@ wheels/

# Documentation
docs/_build/
_build/

# IDE
.idea/
Expand All @@ -27,6 +29,7 @@ _build/

# pixi
.pixi/
node_modules/

# Python
__pycache__/
Expand All @@ -48,5 +51,3 @@ htmlcov/

# Version file (generated by hatch-vcs)
src/*/_version.py

.claude
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
[submodule ".ai-instructions"]
path = .ai-instructions
url = git@github.com:OpenSourceEconomics/ai-instructions.git
branch = make-submodule
14 changes: 7 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,10 @@ repos:
hooks:
- id: check-hooks-apply
- id: check-useless-excludes
- repo: https://github.com/tox-dev/tox-toml-fmt
rev: v1.2.2
- repo: https://github.com/tox-dev/pyproject-fmt
rev: v2.19.0
hooks:
- id: tox-toml-fmt
- id: pyproject-fmt
- repo: https://github.com/lyz-code/yamlfix
rev: 1.19.1
hooks:
Expand All @@ -17,7 +17,7 @@ repos:
hooks:
- id: check-added-large-files
args:
- --maxkb=50000
- --maxkb=10000
- id: check-ast
- id: check-case-conflict
- id: check-docstring-first
Expand Down Expand Up @@ -47,7 +47,7 @@ repos:
hooks:
- id: yamllint
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.14
rev: v0.15.6
hooks:
- id: ruff-check
args:
Expand All @@ -62,7 +62,7 @@ repos:
- pyi
- python
- repo: https://github.com/kynan/nbstripout
rev: 0.9.0
rev: 0.9.1
hooks:
- id: nbstripout
args:
Expand All @@ -79,6 +79,6 @@ repos:
args:
- --wrap
- '88'
files: (CLAUDE\.md|README\.md)
files: (AGENTS\.md|CLAUDE\.md|README\.md|modules/.*\.md|profiles/.*\.md)
ci:
autoupdate_schedule: monthly
4 changes: 3 additions & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@ build:
# Jupyter Book 2.0 builds site content to _build/html.
# For ReadTheDocs, we build and then copy to the expected output location.
- mkdir --parents $READTHEDOCS_OUTPUT/html/
- BASE_URL="/$READTHEDOCS_LANGUAGE/$READTHEDOCS_VERSION" pixi run -e docs docs
- >-
BASE_URL="/$READTHEDOCS_LANGUAGE/$READTHEDOCS_VERSION"
pixi run -e docs build-docs
- cp -a docs/_build/html/. "$READTHEDOCS_OUTPUT/html" && rm -r docs/_build
3 changes: 0 additions & 3 deletions .yamllint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,8 @@ rules:
quoted-strings: disable
trailing-spaces: enable
truthy:
check-keys: false
level: warning
yaml-files:
- '*.yaml'
- '*.yml'
- .yamllint
ignore:
- src/skillmodels/test_data/simplest_augmented_model.yaml
Loading