Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
90aa420
Revert to using 64-bit precision.
hmgaudecker Sep 24, 2024
ceff7aa
Add function to check whether the model has investments.
hmgaudecker Sep 24, 2024
4527282
[WIP] Refactor: Include stuff in process_model / process_data.
hmgaudecker Sep 25, 2024
1171b7e
Backup commit before removing fill_list() feature.
hmgaudecker Sep 25, 2024
58e5732
Fix tests, model processing seems to work with additional periods now…
hmgaudecker Sep 25, 2024
30bcd92
Remove fill_list().
hmgaudecker Sep 25, 2024
24e3527
[WIP] re-write process_data s.t. it returns a dictionary. Not working…
hmgaudecker Sep 25, 2024
1feb3cd
[WIP] Test for augmenting data with investments.
hmgaudecker Sep 25, 2024
3003762
Stack data for investments.
hmgaudecker Sep 26, 2024
96d635e
Fix interfaces.
hmgaudecker Sep 26, 2024
50ce8d0
Readability.
hmgaudecker Sep 26, 2024
5d32cd6
Merge branch 'main' into endogenize_investments
hmgaudecker Feb 25, 2025
77e9961
Update environment.
hmgaudecker Feb 25, 2025
deb769d
Jax 0.5 installed via pypi, only way that works right now.
hmgaudecker Feb 25, 2025
e3e148b
[WIP] implement fixed constraints right away.
hmgaudecker Feb 25, 2025
75b9b81
Refactor, enforce bounds on fixed parameters.
hmgaudecker Feb 26, 2025
b575605
Refactor test for augmented data so we can re-use the fixture.
hmgaudecker Feb 26, 2025
d8ce0b6
Implement restrictions for augmented periods. Allow stages + investme…
hmgaudecker Feb 27, 2025
cd2e337
Update pixi on GHA.
hmgaudecker Feb 27, 2025
553b4fd
Fix requirements for MacOS.
hmgaudecker Feb 27, 2025
19c8748
Correct misnomer.
hmgaudecker Mar 13, 2025
139212e
Update & run hooks.
hmgaudecker Mar 13, 2025
63b6ceb
In case investments are present, leave out entire 'raw' period (=2 sk…
hmgaudecker Mar 17, 2025
9bc6d59
Fast QR Factorization on GPU (#81)
mj023 Mar 17, 2025
3a8cac4
Jax via conda.
hmgaudecker Mar 17, 2025
73fd952
Fix (?) periods for shocks.
hmgaudecker Mar 21, 2025
e1063d5
Remove the last two internal periods for transitions if investments a…
hmgaudecker Mar 22, 2025
11a64bb
Do not accidentally modify the params_template when enforcing constra…
hmgaudecker Mar 22, 2025
1589e90
Use local optimagic.
hmgaudecker Mar 25, 2025
17e5e69
Clip at -1e30 in case we end up running in 32bit mode. Use bounds_dis…
hmgaudecker Mar 25, 2025
bbe69ce
Reduce memory usage (#82)
mj023 Jul 16, 2025
c65c5e4
Update hooks and GHA pipeline.
hmgaudecker Jul 16, 2025
885ea5b
Use optimagic from GitHub.
hmgaudecker Jul 16, 2025
c8fb668
Fix heatmaps, update hooks etc.
hmgaudecker Oct 4, 2025
e9eb49f
Fix heatmaps also for factor correlations.
hmgaudecker Oct 5, 2025
5ddfebc
Got started updating transition equations.
hmgaudecker Oct 6, 2025
10fc1e1
Be pedantic about using 'periods' for interface and 'aug_periods' for…
hmgaudecker Oct 6, 2025
c802a15
Implement Janos' suggestion to only ever talk of endogenous factors.
hmgaudecker Oct 6, 2025
97027d0
Get rid of deprecation warning.
hmgaudecker Oct 6, 2025
2b3963e
Use 'aug_period' as the index.
hmgaudecker Oct 6, 2025
7a56efb
More changes of periods -> aug_periods.
hmgaudecker Oct 6, 2025
33bed6a
Use 'aug_period' also in DataFrame.
hmgaudecker Oct 7, 2025
0c11662
Use 'aug_period' as index also in update_info.
hmgaudecker Oct 7, 2025
2c3ac8d
More fixes to aug_period / period.
hmgaudecker Oct 12, 2025
3bfdd04
Do not include correction factors as dependend variables in transitio…
hmgaudecker Oct 12, 2025
c45cb47
Fix tests, basically allowing non-augmented models again.
hmgaudecker Oct 12, 2025
0d673b7
Update actions/pyproject.
hmgaudecker Oct 12, 2025
6ed253d
Use codecov token again.
hmgaudecker Oct 13, 2025
cc710a6
Fix docstring.
hmgaudecker Oct 13, 2025
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
48 changes: 12 additions & 36 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,51 +23,27 @@ jobs:
- macos-latest
- windows-latest
python-version:
- '3.12'
- '3.13'
steps:
- uses: actions/checkout@v4
- uses: prefix-dev/setup-pixi@v0.8.0
- uses: actions/checkout@v5
- uses: prefix-dev/setup-pixi@v0.9.1
with:
pixi-version: v0.29.0
pixi-version: v0.56.0
cache: true
cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
environments: test-cpu
activate-environment: true
frozen: true
- name: Run pytest
if: runner.os != 'Linux' || matrix.python-version != '3.13'
shell: bash -l {0}
run: pixi run -e test-cpu tests
- name: Run pytest with coverage
if: runner.os == 'Linux' && matrix.python-version == '3.13'
shell: bash -l {0}
run: pixi run -e test-cpu tests-with-cov
- name: Upload coverage report
if: runner.os == 'Linux' && matrix.python-version == '3.12'
uses: codecov/codecov-action@v4
if: runner.os == 'Linux' && matrix.python-version == '3.13'
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
# run-mypy:
# name: Run mypy on Python 3.12
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# steps:
# - uses: actions/checkout@v4
# - uses: prefix-dev/setup-pixi@v0.8.0
# with:
# pixi-version: v0.28.2
# cache: true
# cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
# environments: mypy
# - name: Run mypy
# shell: bash -l {0}
# run: pixi run mypy
# run-explanation-notebooks:
# name: Run explanation notebooks on Python 3.12
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: prefix-dev/setup-pixi@v0.8.0
# with:
# pixi-version: v0.28.2
# cache: true
# cache-write: ${{ github.event_name == 'push' && github.ref_name == 'main' }}
# environments: test
# - name: Run explanation notebooks
# shell: bash -l {0}
# run: pixi run -e test explanation-notebooks
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ repos:
- id: check-useless-excludes
# - id: identity # Prints all files passed to pre-commits. Debugging.
- repo: https://github.com/lyz-code/yamlfix
rev: 1.17.0
rev: 1.18.0
hooks:
- id: yamlfix
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
rev: v6.0.0
hooks:
- id: check-added-large-files
args:
Expand All @@ -37,11 +37,11 @@ repos:
- id: check-ast
- id: check-docstring-first
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.35.1
rev: v1.37.1
hooks:
- id: yamllint
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.4
rev: v0.13.3
hooks:
# Run the linter.
- id: ruff
Expand All @@ -59,14 +59,14 @@ repos:
- pyi
- jupyter
- repo: https://github.com/kynan/nbstripout
rev: 0.7.1
rev: 0.8.1
hooks:
- id: nbstripout
args:
- --extra-keys
- metadata.kernelspec metadata.language_info.version metadata.vscode
- repo: https://github.com/executablebooks/mdformat
rev: 0.7.17
rev: 0.7.22
hooks:
- id: mdformat
additional_dependencies:
Expand Down
7 changes: 7 additions & 0 deletions docs/source/getting_started/tutorial.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@
"from skillmodels.maximization_inputs import get_maximization_inputs"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
Expand Down
12 changes: 3 additions & 9 deletions docs/source/how_to_guides/model_specs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -96,14 +96,8 @@ Any python string is possible as factor name. The values are dictionaries with t
entries:

- measurements: A nested list that is as long as the number of periods of the model.
Each sublist contains the names of the measurements in that period. If A factor has
no measurements in a period, it has to be an empty list. If a factor only has
measurements up to a certain period you can leave out the empty lists at the end. In
the example this is done for factor 3. Note that even in that case, the measurements
have to be specified as nested list. If a factor only starts having measurements in
some period, you still have to specify the empty lists for all periods before that
period.

Each sublist contains the names of the measurements in that period. If a factor has
no measurements in a period, it has to be an empty list.

- normalizations: This entry is optional. It is a dictionary that can have the keys
``"loadings"`` and ``"intercepts"``. The values are lists of dictionaries. The list
Expand All @@ -114,7 +108,7 @@ entries:
- transition_equation: A string with the name of a pre-implemented transition equation
or a custom transition equation. Pre-implemented transition equations are
linear, log_ces (in the known location and scale version), constant and translog.
The example model dictionary only uses pre-implement transition functions.
The example model dictionary only uses pre-implemented transition functions.

To see how to use custom transition functions, assume that the yaml file shown above
has been loaded into a python dictionary called ``model`` and look at the following
Expand Down
31 changes: 0 additions & 31 deletions environment.yml

This file was deleted.

Loading