Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ Complete internal rewrite - new result API #1562

Draft
wants to merge 218 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
218 commits
Select commit Hold shift + click to select a range
bc97571
Implement model.item with pydantic.
joernweissenborn Dec 4, 2022
7b794f8
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Dec 5, 2022
645975d
Create model.library
joernweissenborn Dec 5, 2022
a8ab614
Redesign megacomplex and dataset model.
joernweissenborn Dec 17, 2022
bc1d869
Implemented experiment model.
joernweissenborn Dec 17, 2022
d0ea1ed
Create library from megacomplex.
joernweissenborn Jan 5, 2023
ec28457
Library create datamodels for megacomplex.
joernweissenborn Jan 5, 2023
c71721d
Add DataModel.from_dict.
joernweissenborn Jan 5, 2023
7899171
Add ExperimentModel.from_dict
joernweissenborn Jan 5, 2023
e735ada
Adapted experiment items to new item types.
joernweissenborn Jan 5, 2023
7e9c868
Add validation logic for items.
joernweissenborn Jan 5, 2023
7e77d9e
Remove old model and items.
joernweissenborn Jan 5, 2023
5c2e09e
Move dataset scale to ExperimentModel
joernweissenborn Jan 6, 2023
d464a2f
Move weight to data_model.
joernweissenborn Jan 6, 2023
c2028c9
Resolve parameters.
joernweissenborn Jan 6, 2023
93e3df3
Remove link_clp.
joernweissenborn Jan 6, 2023
a73b568
Rewrite optimization test models.
joernweissenborn Jan 6, 2023
8115364
Adapt data provider.
joernweissenborn Jan 6, 2023
ac5e915
Also resolve resolved items.
joernweissenborn Jan 7, 2023
f5a4fbe
Created OptimizationData.
joernweissenborn Jan 27, 2023
72be264
Created OptimizationMatrix
joernweissenborn Jan 28, 2023
930af5b
Added OptimizationEstimation
joernweissenborn Jan 28, 2023
41363ee
Refactored tests.
joernweissenborn Jan 29, 2023
02684d3
Added penalty
joernweissenborn Jan 29, 2023
eec2250
Create OptimizationObjective.
joernweissenborn Jan 29, 2023
f325fc7
Created Optimization
joernweissenborn Jan 29, 2023
187f5e7
Subtract number of clp from dgrees of freedom.
joernweissenborn Jan 29, 2023
a958cb0
Make parameter type optional float for handy constant.
joernweissenborn Jan 29, 2023
1eb6eeb
Finetuning.
joernweissenborn Jan 30, 2023
382a20d
Added test for OptimizationObjective
joernweissenborn Jan 30, 2023
44bca3c
Remove weights from linked data.
joernweissenborn Jan 30, 2023
a2cfb94
Refactored simulation.
joernweissenborn Jan 30, 2023
efdf6f6
Added first test for optimization.
joernweissenborn Jan 30, 2023
a368460
Added OptimnizationMatrix.from_global_data.
joernweissenborn Jan 31, 2023
a569360
Add global path to Objective.
joernweissenborn Jan 31, 2023
315d3a6
Added test for penalties.
joernweissenborn Jan 31, 2023
5186489
Added optimization test for global model.
joernweissenborn Jan 31, 2023
b61b5ec
Added test for multiple experiments.
joernweissenborn Jan 31, 2023
59efdea
Cleanup.
joernweissenborn Jan 31, 2023
4bbe690
Added model issue guard to optimization
joernweissenborn Jan 31, 2023
f4b1ffb
Added Optimization.dry_run
joernweissenborn Jan 31, 2023
a0948a4
Renamed clp_labels to clp_axis.
joernweissenborn Jan 31, 2023
f94c6c0
Tempery deactivated mypy and darglint precommit checks.
joernweissenborn Feb 1, 2023
7b48327
Added test for megacomplex result.
joernweissenborn Feb 3, 2023
4798ca0
Added Parameters.close_or_equal
joernweissenborn Feb 4, 2023
6e9a244
Fixed resolving of none library items.
joernweissenborn Feb 4, 2023
c38cdc3
Fixed result resolving of clp.
joernweissenborn Feb 4, 2023
f215a78
Fixed datamodel model dimension for None case.
joernweissenborn Feb 4, 2023
e4fa9e3
Support item iteration over Annoted types.
joernweissenborn Feb 6, 2023
b14778b
Make OptimizationResult pydantic model
joernweissenborn Feb 7, 2023
14edfed
Created Activation item
joernweissenborn Jan 30, 2023
53e7877
Add item Kinetic.
joernweissenborn Feb 1, 2023
dc6bcf1
Add KineticMegacomplex
joernweissenborn Feb 1, 2023
ea20504
Refactored if parameter calculation.
joernweissenborn Feb 3, 2023
1d3dc7a
Refactored kinetic megacomplex calculation.
joernweissenborn Feb 3, 2023
7dad053
Ported tests from k matrix to kinetic item.
joernweissenborn Feb 3, 2023
d4bdeda
Added tests for gaussian action.
joernweissenborn Feb 3, 2023
d7d0f41
Added test for kinetic megacomplex
joernweissenborn Feb 4, 2023
b76d581
Adapted baseline megacomplex
joernweissenborn Feb 4, 2023
28dae9a
Adapted clp guide megacomplex
joernweissenborn Feb 4, 2023
6e947e6
Adapted coherent artifact.
joernweissenborn Feb 4, 2023
8c94431
Adapdet damped oscillation megacomplex
joernweissenborn Feb 6, 2023
7f2f45b
Adapted spectral megacomplex.
joernweissenborn Feb 6, 2023
3963a72
Add resultdata for kinetic megacomplex.
joernweissenborn Feb 6, 2023
a2359f3
Removed decay megacomplex
joernweissenborn Feb 6, 2023
0f9df73
Added register_as to megacomplexes
joernweissenborn Feb 6, 2023
ac512c5
Created basic new scheme.
joernweissenborn Feb 6, 2023
20772e5
Add new result class.
joernweissenborn Feb 7, 2023
10a7463
Changend name of experiment.validate to avoid pydantiv conflict
joernweissenborn Feb 7, 2023
2b0fe3a
Added basic test for scheme.
joernweissenborn Feb 7, 2023
682369d
Remove old scheme and result.
joernweissenborn Feb 7, 2023
564e5c8
Removed model related things from plugin and io.
joernweissenborn Feb 8, 2023
6f83257
Remove folder plugin.
joernweissenborn Feb 8, 2023
7703c33
Cleanded Model from YML io.
joernweissenborn Feb 8, 2023
b02c28f
Reimplemented load_scheme.
joernweissenborn Feb 8, 2023
789d51b
Fix activation.
joernweissenborn Feb 8, 2023
bf2619c
Fix baseline register
joernweissenborn Feb 8, 2023
2b9bd27
Fix kinetic megacomplex
joernweissenborn Feb 8, 2023
d70e8ca
Fix OptimizationMatrix
joernweissenborn Feb 8, 2023
3f4da66
Fix scheme
joernweissenborn Feb 8, 2023
1523450
Merge Kinetic part with megacomplex.
joernweissenborn Feb 8, 2023
ea593b4
Remove library.
joernweissenborn Feb 9, 2023
44970c0
Remove OptimizationGroup
joernweissenborn Feb 10, 2023
815134d
Renamed megacomplex to model.
joernweissenborn Feb 10, 2023
968a42b
Adapted optimization to latest changes.
joernweissenborn Feb 10, 2023
290d42f
Rename megacomplex plugins to models.
joernweissenborn Feb 10, 2023
7182330
Adapted scheme test.
joernweissenborn Feb 10, 2023
8e00bc2
Removed obsolete yml tests.
joernweissenborn Feb 10, 2023
93b0d1c
Make scheme library use get_annotated_type
joernweissenborn Feb 10, 2023
b0e002f
Enable per activation coherent_artifact
joernweissenborn Feb 11, 2023
d9d67e5
Rename model to element.
joernweissenborn Feb 17, 2023
a41ae90
Made scheme experiments dict.
joernweissenborn Feb 17, 2023
bcb9a9f
Create Result.save
joernweissenborn Feb 17, 2023
561b512
Updated nix flake.
joernweissenborn Aug 18, 2023
5de6cdc
Added ExtendableElement.
joernweissenborn Sep 1, 2023
a7eb023
Cleanup.
joernweissenborn Sep 1, 2023
75f2d08
Made kinetic element extendable
joernweissenborn Sep 1, 2023
be7a8d4
Remove generators,
joernweissenborn Sep 1, 2023
4659901
Remove dataclass helpers.
joernweissenborn Sep 1, 2023
a2b41e8
Remove project.
joernweissenborn Sep 1, 2023
1fadbab
Remove benchmark.
joernweissenborn Sep 1, 2023
deb8243
Remove cli.
joernweissenborn Sep 1, 2023
04b2fca
Fixed flake init.
joernweissenborn Sep 30, 2023
4b62a7a
Adapted test for full model.
joernweissenborn Sep 30, 2023
ccd95c1
Adapt simulated data.
joernweissenborn Oct 1, 2023
1c4e05a
Cleanup.
joernweissenborn Oct 1, 2023
c930100
More cleanup.
joernweissenborn Oct 1, 2023
f9bb72e
Add test for Result.save
joernweissenborn Oct 6, 2023
72a0ab5
Fix simulation test.
joernweissenborn Oct 6, 2023
b2e2df4
Update flake.
joernweissenborn Oct 6, 2023
92bfb7e
Fix typing of ArrayLike.
joernweissenborn Oct 6, 2023
8c9e83f
Change element scale to dict.
joernweissenborn Oct 14, 2023
9de1f78
Add parameters from expressions tp initial parameters.
joernweissenborn Oct 14, 2023
62fae03
Add fitted data to result.
joernweissenborn Oct 14, 2023
0e74f1e
Fixed mypy override issues.
joernweissenborn Oct 14, 2023
0480f2d
Fix pydantic-field mypy errors.
joernweissenborn Oct 14, 2023
31d24f7
Fixed damped oscillation issues.
joernweissenborn Oct 14, 2023
b2cb780
Fix datamodel creation.
joernweissenborn Oct 14, 2023
3e73ce5
Fix get parameter dependencies.
joernweissenborn Oct 14, 2023
2f96fb8
Fix mypy errors in coherent-artifact.
joernweissenborn Oct 14, 2023
ad3bfc6
Add scale to result data.
joernweissenborn Oct 14, 2023
54c0519
Fixed mypy issues in kinetic element.
joernweissenborn Oct 14, 2023
7eebb3f
Fixed mypy errors in activation.
joernweissenborn Oct 14, 2023
0b42fb3
Fixed mypy issues in spectral.
joernweissenborn Oct 14, 2023
cd5d83b
Small fixes.
joernweissenborn Oct 14, 2023
18f5930
Cleanup yml io.
joernweissenborn Oct 14, 2023
6b560ee
Fix project mypy issues.
joernweissenborn Oct 14, 2023
b2881fd
Fix mypy errors in optimization.
joernweissenborn Oct 14, 2023
c648185
Fix mypy issues for model.
joernweissenborn Oct 14, 2023
cf66ce6
Final mypy fixes.
jsnel Oct 14, 2023
c58222d
Precommit fixes.
joernweissenborn Oct 14, 2023
6b1b751
Add allow_overwrite to Result.save.
joernweissenborn Oct 14, 2023
1aa3d6a
Fix bug with nested extensions.
joernweissenborn Oct 15, 2023
a2211d6
Fix clp constraints (#1366)
jsnel Oct 17, 2023
d4ccfc4
Take into account the weight factor in clp_penalties (#1367)
jsnel Oct 17, 2023
e1ca87c
Various improvements (#1370)
jsnel Oct 17, 2023
3b68893
Add call to calculate_parameter_errors before returning Result (#1373)
jsnel Oct 20, 2023
26f45f4
⬆️ 0.8/pydantic2 fix (#1378)
s-weigand Oct 21, 2023
8a564bb
🧰 Use ruff as linter (#1379)
s-weigand Oct 21, 2023
af9b42c
♻️ Change Parameter from attrs to pydantic (#1381)
s-weigand Oct 22, 2023
40b3d5e
🩹 Fix load_plugins deprecation warning (#1383)
s-weigand Oct 22, 2023
ace4db8
Fix dataset weight application (#1384)
jsnel Oct 22, 2023
719a2d5
🩹 Fix schema generation by making private attributes private (#1382)
s-weigand Oct 22, 2023
8ee4c58
✨ Create useful schema (#1385)
s-weigand Oct 23, 2023
8c88c3b
♻️ Move tests to a dedicated tests folder (#1386)
s-weigand Oct 24, 2023
9d5d44e
👷 Use hatch as build system (#1392)
s-weigand Nov 11, 2023
662d2d5
🧰👌 Use ruff for formatting (replaces black, isort and nbqa) (#1396)
s-weigand Nov 18, 2023
bfd4fa7
Add unit test for link_clp
jsnel Jan 13, 2024
065ee43
🩹 Fix linked clp result creation (#1418)
joernweissenborn Jan 20, 2024
5f16090
🩹Fix for when the backsweep is a parameter rather than constant (#1422)
jsnel Jan 27, 2024
491a7b6
🧹 Remove redundant backsweep flag from GaussianActivationParameters (…
s-weigand Jan 27, 2024
60f9c7c
🧹 Use element plugin registry to define LibraryType (#1427)
s-weigand Feb 3, 2024
87f9303
⬆️🧰 Autoupdate pre-commit config staging (#1438)
s-weigand Mar 17, 2024
bc5679a
Staging fix relations (#1455)
joernweissenborn Jun 1, 2024
4cd51f1
🚇 Use pyglotaran-examples@staging_rewrite for CI integration tests (#…
s-weigand Jun 2, 2024
7aa933f
🧪🧹 Remove test of upstream schema creation functionality (#1464)
s-weigand Jun 8, 2024
11e359a
✨ Add official Python 3.12 support (#1459)
s-weigand Jun 8, 2024
9afaf1a
⬆️ Combined updates (#1472)
s-weigand Jun 15, 2024
898e6d7
🧹🚇 Clean up CI (#1473)
s-weigand Jun 15, 2024
2d0fc21
🩹 Fix scaling for linked dataset case (#1461)
jsnel Jun 22, 2024
745d7d3
Add `free_clp_size` to result dataset.
joernweissenborn Jul 6, 2024
0f4cc3c
Rname nr_clp to number_of_free_clp
joernweissenborn Jul 6, 2024
0b202c6
Rename back to number_of_clps
jsnel Jul 6, 2024
0884198
Add additional penalty to result.
joernweissenborn Jul 7, 2024
c176c78
🩹 Fix 1474 - add fields to result object - correct calculation of num…
joernweissenborn Jul 13, 2024
8dfac94
Bump the runtime-dependencies group with 4 updates (#1493)
dependabot[bot] Jul 13, 2024
eee3269
🩹Fix order of parameters involved in parameters expresssion (#1500)
jsnel Jul 14, 2024
3ffacca
Update flake.
joernweissenborn Jul 20, 2024
7654854
🧰 Fix pre-commit config issues (#1518)
jsnel Aug 23, 2024
76fb055
Bump the gh-actions group with 3 updates (#1488)
dependabot[bot] Aug 23, 2024
5517c7a
Bump actions/github-script from 6 to 7 (#1491)
dependabot[bot] Aug 23, 2024
e73f940
Bump github/codeql-action from 2 to 3 (#1492)
dependabot[bot] Aug 23, 2024
ba2ba85
Bump actions/upload-artifact from 3 to 4 (#1490)
dependabot[bot] Aug 23, 2024
05bb1ca
Bump softprops/action-gh-release from 1 to 2 (#1489)
dependabot[bot] Aug 23, 2024
4044f84
Update jinja2 requirement from <3.1.0 to <3.2.0 (#1494)
dependabot[bot] Aug 23, 2024
f21ca65
Bump asteval from 0.9.33 to 1.0.2 (#1506)
dependabot[bot] Aug 23, 2024
2ef4cea
🩹 Fix prepare_dataset's add_svd_to_dataset function (#1522)
jsnel Aug 25, 2024
a5fdc38
⬆️ Bump numpy from 1.26.4 to 2.0.1 (#1523)
dependabot[bot] Aug 25, 2024
06d4c98
Bump the runtime-dependencies group across 1 directory with 2 updates…
dependabot[bot] Aug 25, 2024
c2dc7cd
Refactor saving of element results.
joernweissenborn Aug 18, 2024
542a67f
Merge branch 'staging' into staging_1474
joernweissenborn Sep 9, 2024
9fe832d
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 9, 2024
95b318e
Fix issues constructing svd
jsnel Sep 14, 2024
eeec5e5
🩹Fix wrong order of arguments in OptimizationObjectiveResult
jsnel Sep 14, 2024
d10fac4
🩹⌨️ Fix mypy issues
s-weigand Sep 14, 2024
f41fd12
Rename datavars in result_dataset to be plural
jsnel Sep 14, 2024
18697f1
Move Clp Constraints to element level.
joernweissenborn Sep 29, 2024
663db75
Make Contraint target optionally a list.
joernweissenborn Sep 29, 2024
a3794b5
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 29, 2024
34dc508
cleanup
joernweissenborn Sep 29, 2024
e1aeb6a
fix
joernweissenborn Sep 29, 2024
f58bb9a
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Sep 29, 2024
c47ec65
WIP: Unflatten result.
joernweissenborn Sep 29, 2024
1c39372
Fix result data type
jsnel Oct 12, 2024
c839a34
Rename result.data to result.datasets
jsnel Oct 12, 2024
f3e51c9
Rename OptimizationResult to OptimizationInfo
jsnel Oct 12, 2024
809189f
Rename parameters in Results back to what it was
jsnel Oct 12, 2024
ec35a58
Refactor DatasetResults
jsnel Oct 12, 2024
85ee779
Change DatasetResult type to pydantic BaseModels instead of dataclass
jsnel Oct 12, 2024
4d274dc
Removed ElementResults in favor of xr.Dataset
jsnel Oct 13, 2024
fabd900
Rename residual to residuals
jsnel Oct 13, 2024
4042737
♻️ Refactor for more meaning function/class/method names
jsnel Oct 13, 2024
99c7b21
Start refactor coordinate species to compartment
jsnel Oct 13, 2024
1a975c8
Rename optimization_result to optimization_results in objective
jsnel Oct 13, 2024
4598f79
Fix kinetic element unit tests
jsnel Oct 13, 2024
a02b1e5
WIP ♻️ Rename activation to activations and use dict instead of a list
jsnel Oct 13, 2024
3138c49
Adapt to changed to dict like ActiviationDataModel
jsnel Oct 13, 2024
5da2676
Finish refactoring of activations
jsnel Oct 13, 2024
265f63d
Fix coherent_artifact unit tests
jsnel Oct 17, 2024
6cdb9d9
Fix typo
jsnel Oct 17, 2024
d71f3ee
Refactor coherent-artifact element compartment and coord labeling
jsnel Oct 17, 2024
66e9deb
Fixed unit test for damped-oscillation element
jsnel Oct 17, 2024
9482cc5
Fix unit test for spectral element
jsnel Oct 17, 2024
f12a1be
Fix most remaining unit tests
jsnel Oct 17, 2024
f5af4df
Disable test_result with warning that it needs to be fixed
jsnel Oct 17, 2024
4925c74
🧰⬆️ Update pre-commit config
s-weigand Oct 18, 2024
8c52c70
🧹 Fix typo
s-weigand Oct 18, 2024
fdec279
🧹 Fix pre-commit issues outside of result saving
s-weigand Oct 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
59 changes: 31 additions & 28 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -12,55 +12,58 @@
# This should make it easy to add new rules without breaking existing ones.

# Global rule:
* @glotaran/admins
* @glotaran/admins

# tooling
/.github @glotaran/admins @glotaran/maintainers
/.* @glotaran/admins @glotaran/maintainers
/*.y*ml @glotaran/admins @glotaran/maintainers
/*.ini @glotaran/admins @glotaran/maintainers
/*.toml @glotaran/admins @glotaran/maintainers
/*.txt @glotaran/admins @glotaran/maintainers
LICENSE @glotaran/pyglotaran_creators
/.github @glotaran/admins @glotaran/maintainers
/.* @glotaran/admins @glotaran/maintainers
/*.y*ml @glotaran/admins @glotaran/maintainers
/*.toml @glotaran/admins @glotaran/maintainers
/*.txt @glotaran/admins @glotaran/maintainers
LICENSE @glotaran/pyglotaran_creators

# docs
/docs/**/*.rst @glotaran/maintainers @glotaran/pyglotaran_creators
# /docs/**/*.md @glotaran/maintainers @glotaran/pyglotaran_creators
/docs/**/*.rst @glotaran/maintainers @glotaran/pyglotaran_creators
/docs/**/*.md @glotaran/maintainers @glotaran/pyglotaran_creators

# analysis module:
/glotaran/analysis/ @jsnel @joernweissenborn
# /glotaran/analysis/ @jsnel @joernweissenborn

# builtin module:
/glotaran/builtin/io/* @glotaran/admins
/glotaran/builtin/io/ascii @jsnel @glotaran/maintainers
/glotaran/builtin/io/pandas @glotaran/maintainers
/glotaran/builtin/io/netCDF @glotaran/maintainers
/glotaran/builtin/io/sdt @glotaran/maintainers
/glotaran/builtin/megacomplexes/ @jsnel @joernweissenborn
/glotaran/builtin/io/* @glotaran/admins
/glotaran/builtin/io/ascii @jsnel @glotaran/maintainers
/glotaran/builtin/io/pandas @glotaran/maintainers
/glotaran/builtin/io/netCDF @glotaran/maintainers
/glotaran/builtin/io/sdt @glotaran/maintainers

# cli
/glotaran/cli/ @jsnel @glotaran/admins
/glotaran/builtin/elements @jsnel @joernweissenborn
/glotaran/builtin/items @jsnel @joernweissenborn
/glotaran/optimization @jsnel @joernweissenborn
/glotaran/model @jsnel @joernweissenborn

# cli (deprecated)
# /glotaran/cli/ @jsnel @glotaran/admins

# examples # Removed in PR #866
# /glotaran/examples/ @jsnel @glotaran/maintainers
# /glotaran/examples/ @jsnel @glotaran/maintainers

# io
/glotaran/io/ @jsnel @glotaran/maintainers
/glotaran/io/ @jsnel @glotaran/maintainers

# model
/glotaran/model/ @jsnel @glotaran/admins @joernweissenborn
/glotaran/model/ @jsnel @glotaran/admins @joernweissenborn

# parameter
/glotaran/parameter/ @jsnel @glotaran/admins @joernweissenborn
/glotaran/parameter/ @jsnel @glotaran/admins @joernweissenborn

# plugin_system
glotaran/plugin_system @s-weigand @glotaran/admins
/glotaran/plugin_system @s-weigand @glotaran/admins

# deprecation framework and tests
glotaran/deprecation @s-weigand @glotaran/admins
# deprecation framework
/glotaran/deprecation @s-weigand @glotaran/admins

# utility function
glotaran/utils @s-weigand @glotaran/admins
/glotaran/utils @s-weigand @glotaran/admins

# project
/glotaran/project/ @jsnel @glotaran/admins
/glotaran/project/ @jsnel @glotaran/admins
74 changes: 30 additions & 44 deletions .github/workflows/CI_CD_actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,26 +17,11 @@ jobs:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Run pre-commit
uses: pre-commit/action@v3.0.0

check-manifest:
name: Check Manifest
runs-on: ubuntu-latest
steps:
- name: Check out repo
uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Install check manifest
run: python -m pip install check-manifest 'setuptools>=62.4.0'
- name: Run check manifest
run: check-manifest
uses: pre-commit/action@v3.0.1

docs:
runs-on: ubuntu-latest
Expand All @@ -48,15 +33,15 @@ jobs:
conda-channels: conda-forge
activate-conda: false
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
conda install -y pandoc
python -m pip install -U pip wheel
python -m pip install .
python -m pip install -U -r docs/requirements.txt
python -m pip install -U pip wheel
python -m pip install .[docs]
- name: Show installed packages
run: pip freeze
- name: Build docs
Expand All @@ -73,38 +58,37 @@ jobs:
conda-channels: conda-forge
activate-conda: false
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
conda install -y pandoc
python -m pip install -U pip wheel
python -m pip install .
python -m pip install -U -r docs/requirements.txt
python -m pip install .[docs]
- name: Show installed packages
run: pip freeze
- name: Check doc links
run: |
make --directory=docs clean linkcheck $@ | tee linkcheck-output.txt
exit ${PIPESTATUS[0]}
make --directory=docs clean linkcheck "$@" | tee linkcheck-output.txt
exit "${PIPESTATUS[0]}"
- name: Linkcheck summary
if: ${{ always() }}
run: cat linkcheck-output.txt | grep -E "(\(line.*\)|writing output)"
run: grep -E "(\(line.*\)|writing output)" < linkcheck-output.txt

docs-notebooks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install -U pip wheel
python -m pip install -U -r requirements_dev.txt
pip install .
python -m pip install -U -r requirements_pinned.txt
python -m pip install .[docs]
- name: Show installed packages
run: python -m pip freeze
- name: Build docs
Expand All @@ -113,53 +97,55 @@ jobs:

test:
runs-on: ${{ matrix.os }}
needs: [pre-commit, check-manifest]
needs: [pre-commit]
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
python-version: ["3.10", "3.11"]
python-version: ["3.10", "3.11", "3.12"]

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel
python -m pip install -r requirements_dev.txt
python -m pip install -e .
python -m pip install -U -r requirements_pinned.txt
python -m pip install ".[test]"
- name: Show installed packages
run: python -m pip freeze
- name: Run tests
run: |
python -m pytest --cov=./ --cov-report term --cov-report xml --cov-config pyproject.toml glotaran
python -m pytest --cov=./ --cov-report term --cov-report xml --cov-config pyproject.toml tests

- name: Codecov Upload
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v4
with:
file: ./coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}

deploy:
runs-on: ubuntu-latest
if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
needs: [test, docs, docs-notebooks]
permissions:
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"

- name: Install dependencies
run: |
python -m pip install -U pip wheel 'setuptools>=62.4.0'
run: python -m pip install -U hatch

- name: Build dist
run: |
python setup.py sdist bdist_wheel
run: hatch build

- name: Publish package
uses: pypa/gh-action-pypi-publish@master
uses: pypa/gh-action-pypi-publish@v1.9.0
with:
user: __token__
password: ${{ secrets.pypi_pyglotaran_token }}
print-hash: true
4 changes: 2 additions & 2 deletions .github/workflows/autoupdate-pre-commit-config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v4
- uses: actions/cache@v3
uses: actions/setup-python@v5
- uses: actions/cache@v4
with:
path: ~/.cache/pre-commit
key: pre-commit-autoupdate
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/binder-on-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: comment on PR with Binder link
uses: actions/github-script@v6
uses: actions/github-script@v7
with:
github-token: ${{secrets.GITHUB_TOKEN}}
script: |
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ jobs:
submodules: recursive

- name: Initialize CodeQL
uses: github/codeql-action/init@v2
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
queries: +security-and-quality
setup-python-dependencies: false

- name: Autobuild
uses: github/codeql-action/autobuild@v2
uses: github/codeql-action/autobuild@v3

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
uses: github/codeql-action/analyze@v3
with:
upload: False
output: sarif-results
Expand All @@ -51,6 +51,6 @@ jobs:
output: sarif-results/${{ matrix.language }}.sarif

- name: Upload SARIF
uses: github/codeql-action/upload-sarif@v2
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: sarif-results/${{ matrix.language }}.sarif
4 changes: 2 additions & 2 deletions .github/workflows/doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Python 3.10
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
Expand Down Expand Up @@ -63,7 +63,7 @@ jobs:
with:
doxyfile-path: "docs/Doxyfile.ini"
- name: Upload Doxygen Docs Artifact
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: doxygen_docs_pyglotaran
path: doxygen_docs_pyglotaran
Loading
Loading