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

v24.6 #395

Merged
merged 446 commits into from
Jul 8, 2024
Merged

v24.6 #395

Show file tree
Hide file tree
Changes from 250 commits
Commits
Show all changes
446 commits
Select commit Hold shift + click to select a range
ef265db
Update CHANGELOG for #308
agriyakhetarpal May 7, 2024
f6b18c0
Merge branch 'develop' into fix-macos-workflow-entries
agriyakhetarpal May 7, 2024
7cb8718
Revert "temp commit"
BradyPlanden May 7, 2024
5bbb40e
clean up comments, expdecay model
BradyPlanden May 7, 2024
490273b
Merge pull request #308 from agriyakhetarpal/fix-macos-workflow-entries
BradyPlanden May 7, 2024
09ad9b0
Adds initial AdamW implementation
BradyPlanden Apr 27, 2024
e1c3447
Merge branch 'develop' into 302-reduce-integation-test-suite-time
BradyPlanden May 8, 2024
a454c12
Fix Pints' optimiser bound arg, add AdamW tests, update Adam notebook…
BradyPlanden May 8, 2024
c04f0f0
Merge branch 'develop' into 295-add-adamw-optimiser
BradyPlanden May 8, 2024
26c8fa1
change coverage runner to macos-14
BradyPlanden May 8, 2024
ecca2f1
Install seed packages (`setuptools` and `wheel`)
agriyakhetarpal May 8, 2024
10e68f2
Add CHANGELOG entry for #317
agriyakhetarpal May 8, 2024
7825f1a
Merge pull request #317 from agriyakhetarpal/install-seed-packages
BradyPlanden May 9, 2024
5bda64a
add changelog entry
BradyPlanden May 9, 2024
9aa3439
docs: update README.md [skip ci]
allcontributors[bot] May 9, 2024
872872e
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] May 9, 2024
61f2d4c
Merge branch 'develop' into 302-reduce-integation-test-suite-time
BradyPlanden May 9, 2024
682fe61
renable macOS x86 runners for examples, integration
BradyPlanden May 9, 2024
0395429
Merge pull request #304 from pybop-team/302-reduce-integation-test-su…
BradyPlanden May 9, 2024
2551739
Merge branch 'develop' into model-rebuild-parameters-refactor
BradyPlanden May 9, 2024
55373cc
adds initial cuckoo implementation and corresponding tests, fixes the…
BradyPlanden May 9, 2024
8f6a384
updt filename, increase coverage
BradyPlanden May 10, 2024
c7df8c7
fixes parameterisation integration test
BradyPlanden May 10, 2024
46d5c46
tighten assertions, split scipy.minimize
BradyPlanden May 10, 2024
993c8af
splits integration asserts per pybamm version
BradyPlanden May 10, 2024
5943c0a
shift infeasible integration test to pybop.Adam
BradyPlanden May 10, 2024
0f7b3f5
add coverage
BradyPlanden May 12, 2024
8576c8a
test(integr): Adds x0 resampling to SciPyMinimize
BradyPlanden May 12, 2024
c8f8bb6
refactor: replace Adam optimiser with AdamW, add changelog entry
BradyPlanden May 11, 2024
44c7bb8
test(integ): Adjusts sigma0, adds coverage for prior updt
BradyPlanden May 13, 2024
60361cd
Merge branch 'develop' into 295-add-adamw-optimiser
BradyPlanden May 13, 2024
320b076
fix: synchronise job completion
BradyPlanden May 13, 2024
9e6e4b6
test: increase assert for PSO
BradyPlanden May 13, 2024
849b4b6
Merge pull request #324 from pybop-team/update-scheduled-CI-workflow
BradyPlanden May 13, 2024
bdf610d
chore: update pre-commit hooks
pre-commit-ci[bot] May 13, 2024
c3bb6ec
test: extend unchanged iterations
BradyPlanden May 13, 2024
46791a1
Merge branch 'develop' into 320-bug-fix-integration-tests-post-304
BradyPlanden May 14, 2024
716cc81
Merge pull request #325 from pybop-team/pre-commit-ci-update-config
BradyPlanden May 14, 2024
c0815a1
fix: restore financial entries, add local faraday logo
BradyPlanden May 14, 2024
de122a8
fix: faraday entry in .all-contributorsrc
BradyPlanden May 14, 2024
074deb6
Merge pull request #318 from pybop-team/all-contributors/add-agriyakh…
BradyPlanden May 14, 2024
c126ee2
Merge remote-tracking branch 'upstream/develop' into issue-223-GITT
brosaplanella May 15, 2024
3e1b601
#223 get surface area to volume ratio from PyBaMM
brosaplanella May 15, 2024
6a5ee3d
#223 reverted change as surface area per unit volume is a variable
brosaplanella May 15, 2024
d38b38f
#223 remove GITT class and move to example
brosaplanella May 15, 2024
0a646f8
#223 update CHANGELOG
brosaplanella May 15, 2024
20d3612
#223 remove references to GITT class
brosaplanella May 15, 2024
fdbc803
#223 add credit to pbparam team
brosaplanella May 15, 2024
1eb817a
fix: docstrings, tests, add changlog entry
BradyPlanden May 15, 2024
1ab30d4
#223 add tests for WeppnerHuggins
brosaplanella May 16, 2024
d91c1e5
style: pre-commit fixes
pre-commit-ci[bot] May 16, 2024
10a0a16
Merge pull request #249 from brosaplanella/issue-223-GITT
BradyPlanden May 16, 2024
fa1fd8d
docs: update README.md [skip ci]
allcontributors[bot] May 16, 2024
dc30f69
docs: update .all-contributorsrc [skip ci]
allcontributors[bot] May 16, 2024
0174322
entry alignment, update URKI image
BradyPlanden May 16, 2024
ec5d2c1
Merge pull request #328 from pybop-team/all-contributors/add-muhammed…
BradyPlanden May 16, 2024
0c1421c
fix(test): Shrink parameterisation test solution distribution
BradyPlanden May 16, 2024
1b522ed
Merge branch 'develop' into 320-bug-fix-integration-tests-post-304
BradyPlanden May 16, 2024
0d7596c
Fix default option setting in quick_plot (#331)
NicolaCourtier May 16, 2024
0af5a87
fix(test): splits flaky optimisers to simple model, adds flaky plugin
BradyPlanden May 17, 2024
ecde0d8
Merge branch 'develop' into 320-bug-fix-integration-tests-post-304
BradyPlanden May 17, 2024
0d0e214
fix: name change for concistency, revert solution distribution shrink
BradyPlanden May 17, 2024
e149cfb
Merge pull request #321 from pybop-team/320-bug-fix-integration-tests…
BradyPlanden May 17, 2024
ccc4ddb
fix: revert removal of Adam, adds depreciation warning instead
BradyPlanden May 20, 2024
877abbc
Merge branch 'develop' into 295-add-adamw-optimiser
BradyPlanden May 20, 2024
9e0058f
Restructure optimisers to enable passing of kwargs (#255)
NicolaCourtier May 22, 2024
dc24e07
Merge branch 'develop', refactor pints and pybamm general imports
BradyPlanden May 23, 2024
b176c21
Merge branch 'develop' into 307-add-cuckoo-optimiser
BradyPlanden May 23, 2024
d0f56f3
feat: integrate pybop optimisers with base_pints structure
BradyPlanden May 23, 2024
f396cd0
fix: restore IntelLiGent consortium
BradyPlanden May 23, 2024
0626139
Merge pull request #332 from pybop-team/restore-intelligent-readme
BradyPlanden May 23, 2024
34d9821
Initialise PyBaMM models without building and add kwargs (#256)
NicolaCourtier May 24, 2024
61de1d1
chore: update pre-commit hooks
pre-commit-ci[bot] May 27, 2024
04b78af
Merge pull request #336 from pybop-team/pre-commit-ci-update-config
BradyPlanden May 28, 2024
e88fa65
Merge branch 'develop' into model-rebuild-parameters-refactor
BradyPlanden May 30, 2024
2b3ee76
Add changelog entry
BradyPlanden May 31, 2024
296cdfa
fix: restore benchmarks to working order, modify CI timing to be twic…
BradyPlanden May 31, 2024
91248ee
restore asv config, add changelog entry
BradyPlanden May 31, 2024
48488d0
fix: update optimiser kwarg test
BradyPlanden May 31, 2024
0d58d08
fix: update changelog, fix errant misparameterisation assert
BradyPlanden May 31, 2024
4de2c2e
Merge pull request #337 from pybop-team/333-bug-update-benchmarks-pos…
BradyPlanden May 31, 2024
31c8865
fix: Enables GaussLogLikelihood with optimisers, adds testing, defaul…
BradyPlanden Jun 2, 2024
7070e7c
Add changelog entry, add arg for bounds std, align sigma->sigma0 acro…
BradyPlanden Jun 3, 2024
660ef7b
chore: update pre-commit hooks
pre-commit-ci[bot] Jun 3, 2024
8b2524a
Merge pull request #342 from pybop-team/pre-commit-ci-update-config
BradyPlanden Jun 3, 2024
02cbb14
Add parameters class (#322)
NicolaCourtier Jun 5, 2024
9c1ca44
tests: updates incorrect sigma0 values
BradyPlanden Jun 5, 2024
f3fa4bd
Merge branch 'develop' into gauss-log-like-fixes
BradyPlanden Jun 5, 2024
9ab99da
adds x0 / bounds within BaseCost and BaseOptimiser for GaussLogLikeli…
BradyPlanden Jun 5, 2024
1020428
Merge branch 'develop', updt __init__.py order, add Parameters type h…
BradyPlanden Jun 6, 2024
f32c383
Merge pull request #315 from pybop-team/model-rebuild-parameters-refa…
BradyPlanden Jun 6, 2024
5df3210
tests: Add skip for Adam + GaussLogLikelihood SPM integration test
BradyPlanden Jun 6, 2024
7c4f000
Merge branch 'develop', tune spm_param tests
BradyPlanden Jun 6, 2024
fd171d0
Fix failing scheduled test on MSMR (#348)
NicolaCourtier Jun 6, 2024
832c8a2
tests: up coverage
BradyPlanden Jun 6, 2024
cd69359
Merge branch 'develop' into gauss-log-like-fixes
BradyPlanden Jun 6, 2024
dd985c2
refactor: change sigma0 attr logic on GaussLogLikelihoodKnownSigma, a…
BradyPlanden Jun 6, 2024
ff0ec36
Merge branch 'develop' into 307-add-cuckoo-optimiser
BradyPlanden Jun 6, 2024
34b05b3
Suggestions from review
BradyPlanden Jun 7, 2024
a4b5907
Apply remainder suggestions from code review
BradyPlanden Jun 7, 2024
5ac5d0d
fix: imports List for type-hints
BradyPlanden Jun 7, 2024
7e1dd31
refactor: add abandon_nest method, bugfix BaseOptimiser boundaries co…
BradyPlanden Jun 7, 2024
e65d51b
tests: up coverage, add sigma0 to BaseLikelihood
BradyPlanden Jun 7, 2024
82a5cf5
Merge branch 'gauss-log-like-fixes' into 307-add-cuckoo-optimiser
BradyPlanden Jun 7, 2024
011f5f8
Apply suggestions from code review
BradyPlanden Jun 7, 2024
5bffaf8
style: pre-commit fixes
pre-commit-ci[bot] Jun 7, 2024
05ee07e
Merge branch 'develop' into 295-add-adamw-optimiser
BradyPlanden Jun 7, 2024
faee7eb
tests: adds coverage, updates _AdamW for improved error catching
BradyPlanden Jun 7, 2024
66ad9d1
refactor: Updt _AdamW to AdamImpl, updt set methods, tests
BradyPlanden Jun 7, 2024
f3c1454
Apply suggestions from code review
BradyPlanden Jun 7, 2024
9d57d2c
remove old file artifact from merge develop
BradyPlanden Jun 7, 2024
bd733a8
Align optimisation result (#334)
NicolaCourtier Jun 7, 2024
0974d54
refactor: updts _CuckooSearch to CuckooSearchImpl
BradyPlanden Jun 7, 2024
7095049
Add fit_keys and sigma as a Parameter
NicolaCourtier Jun 7, 2024
7e4cc7f
Update CMAES x0 check
NicolaCourtier Jun 7, 2024
8833c00
Add plot2d warning if not 2 parameters
NicolaCourtier Jun 7, 2024
23847e4
Fix integration tests' get_data
NicolaCourtier Jun 7, 2024
22301e6
Update exp_UKF example
NicolaCourtier Jun 7, 2024
341ad54
Fix case with sigma length 1
NicolaCourtier Jun 7, 2024
ff9ce43
Reset parameters not None checks
NicolaCourtier Jun 7, 2024
3641a47
Fix sigma2 in GLLKnownSigma
NicolaCourtier Jun 7, 2024
59f09b1
Update dsigma_scale
NicolaCourtier Jun 7, 2024
76371ed
style: pre-commit fixes
pre-commit-ci[bot] Jun 7, 2024
baf61c5
refactor: updt. readme methods table
BradyPlanden Jun 8, 2024
8d05986
Merge branch 'develop' into 295-add-adamw-optimiser
BradyPlanden Jun 10, 2024
fc6f1c9
fix: AdaMW unit test location
BradyPlanden Jun 10, 2024
eed0fd0
Merge pull request #316 from pybop-team/295-add-adamw-optimiser
BradyPlanden Jun 10, 2024
f20c942
Merge branch 'develop' into gauss-log-like-fixes
BradyPlanden Jun 10, 2024
88b936c
Fix GaussianLogLikelihoodKnownSigma
NicolaCourtier Jun 10, 2024
57d1768
Update plot2d for wrong number of parameters
NicolaCourtier Jun 10, 2024
fa3a70b
Fix classify_and_update_parameters
NicolaCourtier Jun 10, 2024
d2a6b5e
Add get_initial_value
NicolaCourtier Jun 10, 2024
e3251ca
Update sigma setting and tests
NicolaCourtier Jun 10, 2024
52ff78d
style: pre-commit fixes
pre-commit-ci[bot] Jun 10, 2024
1e6d149
Merge branch 'gauss-log-like-fixes' into 338b-gauss-loglikelihood
NicolaCourtier Jun 10, 2024
21f44a6
Update optim trace for >2 parameters
NicolaCourtier Jun 10, 2024
6793c3d
Add test_scipy_minimize_invalid_x0
NicolaCourtier Jun 10, 2024
c173c69
Add log prior gradient
NicolaCourtier Jun 10, 2024
aa38b95
chore: update pre-commit hooks
pre-commit-ci[bot] Jun 10, 2024
7addfe3
Fix RMSE gradient (#355)
NicolaCourtier Jun 10, 2024
4e8b0bc
Merge pull request #356 from pybop-team/pre-commit-ci-update-config
BradyPlanden Jun 11, 2024
dfdc0c5
Add optimiser.parameters, remove problem.x0
NicolaCourtier Jun 11, 2024
3315cc0
Update integration tests
NicolaCourtier Jun 11, 2024
20b7822
Pass inputs instead of x
NicolaCourtier Jun 11, 2024
51e8c7c
Specify inputs as Inputs
NicolaCourtier Jun 12, 2024
2b92ea9
Update notebooks
NicolaCourtier Jun 12, 2024
9121833
Add initial and true options to as_dict
NicolaCourtier Jun 12, 2024
c6553f4
Reset notebook versions
NicolaCourtier Jun 12, 2024
fed62f6
Update parameter_values to inputs
NicolaCourtier Jun 12, 2024
799122a
Update notebooks
NicolaCourtier Jun 12, 2024
07e90ad
Add parameters tests
NicolaCourtier Jun 13, 2024
63dd1f4
Add quick_plot test
NicolaCourtier Jun 13, 2024
6bcb155
Add test_no_optimisation_parameters
NicolaCourtier Jun 13, 2024
e402e38
Add test_error_in_cost_calculation
NicolaCourtier Jun 13, 2024
2adbdce
Add parameters.verify
NicolaCourtier Jun 13, 2024
10df0d2
Fix change to base_model
NicolaCourtier Jun 13, 2024
467f1f4
Add more base_model tests
NicolaCourtier Jun 13, 2024
c2f4ec4
Merge branch 'develop' into gauss-log-like-fixes
NicolaCourtier Jun 13, 2024
d6645cd
Merge branch '358-passing-inputs' into 338b-gauss-loglikelihood
NicolaCourtier Jun 13, 2024
a8ee7cb
Update base_cost.py
NicolaCourtier Jun 13, 2024
10314d7
Merge branch 'gauss-log-like-fixes' into 338b-gauss-loglikelihood
NicolaCourtier Jun 13, 2024
d3c4f1b
Remove fit_keys
NicolaCourtier Jun 13, 2024
e6d359a
Update base_model.py
NicolaCourtier Jun 13, 2024
85788dd
Replace store_optimised_parameters with update
NicolaCourtier Jun 14, 2024
17c44ef
Update value() output to ndarray
NicolaCourtier Jun 14, 2024
6d2776a
Update likelihood inputs
NicolaCourtier Jun 14, 2024
4dfdd1d
Update optim.log to store cost (#335)
NicolaCourtier Jun 17, 2024
692548e
chore: update pre-commit hooks
pre-commit-ci[bot] Jun 17, 2024
ec11c2c
Update np.array to np.asarray
NicolaCourtier Jun 18, 2024
c59460f
Switch tests from CMAES to XNES
NicolaCourtier Jun 18, 2024
025d60f
Merge branch 'develop' into v24.3.1_into_develop
BradyPlanden Jun 18, 2024
5e1c7f8
Merge pull request #373 from pybop-team/v24.3.1_into_develop
BradyPlanden Jun 18, 2024
1ff8115
Add new logo (#374)
NicolaCourtier Jun 18, 2024
e0421a5
Merge branch 'develop' into gauss-log-like-fixes
BradyPlanden Jun 18, 2024
c2ab968
Merge branch 'develop' into 367-numpy-updates
NicolaCourtier Jun 18, 2024
0148bec
Merge branch 'gauss-log-like-fixes' into 338b-gauss-loglikelihood
NicolaCourtier Jun 19, 2024
ae29165
style: pre-commit fixes
pre-commit-ci[bot] Jun 19, 2024
0e75c8f
Re-implement get item check
NicolaCourtier Jun 19, 2024
b806129
Merge branch 'develop' into pre-commit-ci-update-config
BradyPlanden Jun 21, 2024
71f3e43
Merge pull request #370 from pybop-team/pre-commit-ci-update-config
BradyPlanden Jun 21, 2024
e637110
add changelog entry
BradyPlanden Jun 24, 2024
4fe242c
Merge pull request #372 from pybop-team/367-numpy-updates
BradyPlanden Jun 24, 2024
efde62d
chore: update pre-commit hooks
pre-commit-ci[bot] Jun 24, 2024
af5df5f
Merge pull request #377 from pybop-team/pre-commit-ci-update-config
BradyPlanden Jun 24, 2024
ac16694
feat: add model.simulateS1 to benchmarks, add build clean between CI
BradyPlanden Jun 28, 2024
5c99037
Merge pull request #352 from pybop-team/338b-gauss-loglikelihood
BradyPlanden Jun 28, 2024
f72a85e
fix: docstrings, remove ls -la command
BradyPlanden Jun 28, 2024
5b1d093
Merge branch 'develop' into 358-passing-inputs
BradyPlanden Jun 28, 2024
5fc94d8
fix: restore ValueError on incorrect parameter __getitem__
BradyPlanden Jun 28, 2024
ec1b881
Merge branch '358-passing-inputs' into gauss-log-like-fixes
BradyPlanden Jun 28, 2024
765e703
fix: likelihood powers as floats, bugfix outdated Adam logic conditio…
BradyPlanden Jun 28, 2024
3fcf0c8
refactor: default dsigma_scale update, changes to GaussLogLikelihood …
BradyPlanden Jun 28, 2024
5b614fe
feat: improve robustness of MAP prior grad approximate
BradyPlanden Jun 28, 2024
f2eb406
refactor: MAP finite difference gradient
BradyPlanden Jun 28, 2024
9ac4d01
Merge pull request #379 from pybop-team/378-add-modelsimulates1-to-be…
BradyPlanden Jun 28, 2024
dfe4009
fix: restore boundaries to PSO
BradyPlanden Jun 28, 2024
d98181c
tests: refactor optimiser construction, add asserts for sigma identif…
BradyPlanden Jun 29, 2024
febcce8
add changelog entry
BradyPlanden Jun 28, 2024
20362c9
test: add test for sampling parameter initial value
BradyPlanden Jul 1, 2024
6b54415
refactor: GaussLogLikelihood __init__, revert temporary test workaround
BradyPlanden Jul 1, 2024
afadac1
chore: update pre-commit hooks
pre-commit-ci[bot] Jul 1, 2024
02e18bf
fix: assertion in plotly_manager causing ruff complaints
BradyPlanden Jul 2, 2024
401c27f
Merge pull request #384 from pybop-team/pre-commit-ci-update-config
BradyPlanden Jul 2, 2024
76b59f1
Merge branch 'develop' into 380-bug-self_boundaries-not-created-for-p…
BradyPlanden Jul 2, 2024
300c6c7
Apply suggestions from code review
NicolaCourtier Jul 3, 2024
0cad055
style: pre-commit fixes
pre-commit-ci[bot] Jul 3, 2024
b39fe15
Merge branch 'develop' into 358-passing-inputs
NicolaCourtier Jul 3, 2024
6b815a9
Import Union and Inputs
NicolaCourtier Jul 3, 2024
1331a8f
Move Inputs definition to parameter.py
NicolaCourtier Jul 3, 2024
d6120c8
Retrieve x0 from SciPyDE
NicolaCourtier Jul 3, 2024
a02257a
Add test for evaluate(List)
NicolaCourtier Jul 3, 2024
6e9ad43
Refactor as suggested
NicolaCourtier Jul 3, 2024
301d4c7
style: pre-commit fixes
pre-commit-ci[bot] Jul 3, 2024
a2c91cf
Remove duplicate line
NicolaCourtier Jul 3, 2024
1fa9d36
Merge pull request #381 from pybop-team/380-bug-self_boundaries-not-c…
BradyPlanden Jul 3, 2024
9949478
Change quick_plot inputs to problem_inputs
NicolaCourtier Jul 3, 2024
b49ede4
Add keys to ParameterSet and update ECM OCV check (#388)
NicolaCourtier Jul 4, 2024
d495ed7
Update calculation of cyclable lithium capacity (#349)
NicolaCourtier Jul 4, 2024
8d09998
Merge branch 'develop' into 358-passing-inputs
NicolaCourtier Jul 4, 2024
a9f73df
Remove duplicate lines
NicolaCourtier Jul 4, 2024
7fe761c
Merge branch '358-passing-inputs' into gauss-log-like-fixes
BradyPlanden Jul 4, 2024
4c4a31e
Pass Inputs dictionary (#359)
NicolaCourtier Jul 4, 2024
f49ea70
fix: incorrect dimensions self._dl, tweak settings integration tests
BradyPlanden Jul 4, 2024
b209048
Merge branch 'develop' into gauss-log-like-fixes
BradyPlanden Jul 4, 2024
1f33081
tests: updt to GaussLogLikelihood sigma0 values
BradyPlanden Jul 4, 2024
ff8d6e2
Merge branch 'gauss-log-like-fixes' into 307-add-cuckoo-optimiser
BradyPlanden Jul 4, 2024
991a59c
tests: increase coverage
BradyPlanden Jul 5, 2024
aa94180
fix: cuckoo boundaries==None clipping, add missing cuckoo to unit opt…
BradyPlanden Jul 5, 2024
ee73c2b
fixes from code review, user output for boundaries
BradyPlanden Jul 5, 2024
7a85dd0
Merge pull request #338 from pybop-team/gauss-log-like-fixes
BradyPlanden Jul 5, 2024
fa3bd76
Merge branch 'develop' into 307-add-cuckoo-optimiser
BradyPlanden Jul 5, 2024
f3038f9
fix: align self._iterations with codebase
BradyPlanden Jul 5, 2024
86a297a
add changelog entry
BradyPlanden Jul 5, 2024
59e2ce1
Merge pull request #319 from pybop-team/307-add-cuckoo-optimiser
BradyPlanden Jul 5, 2024
c417ced
fix: default cuckoo sigma0, updt integration test settings, flag for …
BradyPlanden Jul 5, 2024
b6fdc3b
fix: revert ValueError to printed warning for poor Plot2D ranges with…
BradyPlanden Jul 5, 2024
77740ae
fix: convert prior-based bound print() to UserWarning, add test
BradyPlanden Jul 5, 2024
062918c
Apply suggestions from code review
BradyPlanden Jul 5, 2024
bddf5e0
style: pre-commit fixes
pre-commit-ci[bot] Jul 5, 2024
50bd26d
feat: add 'Breaking Changes' section to Changelog, add missing entry
BradyPlanden Jul 8, 2024
64f635e
Merge pull request #393 from pybop-team/fixes-ahead-v24.6
BradyPlanden Jul 8, 2024
d42cba5
release: increment version
BradyPlanden Jul 8, 2024
09cb665
fix: API render, version switcher
BradyPlanden Jul 8, 2024
a9c3547
update release_worklfow.md for docs version switcher
BradyPlanden Jul 8, 2024
184bb15
docs: revert v24.3.1 docs to v24.3
BradyPlanden Jul 8, 2024
812e25b
fix: api ref in installation.md
BradyPlanden Jul 8, 2024
c945ce5
fix: broken links, stale contributing information
BradyPlanden Jul 8, 2024
b4499f1
fix: grammar
BradyPlanden Jul 8, 2024
d40cc4f
Merge pull request #398 from pybop-team/397-bug-api-docs-not-rendered
BradyPlanden Jul 8, 2024
37a12bf
Merge branch 'develop' into v24.6
BradyPlanden Jul 8, 2024
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
36 changes: 28 additions & 8 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -61,13 +61,25 @@
"avatar_url": "https://avatars.githubusercontent.com/u/28443643?v=4",
"profile": "https://www.brosaplanella.xyz",
"contributions": [
"review",
"code"
]
},
{
"login": "agriyakhetarpal",
"name": "Agriya Khetarpal",
"avatar_url": "https://avatars.githubusercontent.com/u/74401230?v=4",
"profile": "https://github.com/agriyakhetarpal",
"contributions": [
"code",
"infra",
"review"
]
},
{
"login": "FaradayInstitution",
"name": "Faraday Institution",
"avatar_url": "/assets/UKRI.svg",
"avatar_url": "assets/faraday-logo.jpg",
"profile": "https://faraday.ac.uk",
"contributions": [
"financial"
Expand All @@ -76,20 +88,28 @@
{
"login": "UKRI",
"name": "UK Research and Innovation",
"avatar_url": "/assets/UKRI.svg",
"avatar_url": "assets/UKRI.png",
"profile": "https://www.ukri.org/",
"contributions": [
"financial"
]
},
{
"login": "agriyakhetarpal",
"name": "Agriya Khetarpal",
"avatar_url": "https://avatars.githubusercontent.com/u/74401230?v=4",
"profile": "https://github.com/agriyakhetarpal",
"login": "IntelLiGent",
"name": "Horizon Europe IntelLiGent Consortium",
"avatar_url": "assets/logo-farger.pdf",
"profile": "https://heuintelligent.eu/",
"contributions": [
"code",
"infra"
"financial"
]
},
{
"login": "muhammedsogut",
"name": "Muhammed Nedim Sogut",
"avatar_url": "https://avatars.githubusercontent.com/u/34511375?v=4",
"profile": "https://www.linkedin.com/in/muhammedsogut/",
"contributions": [
"code"
]
}
],
Expand Down
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Before you mark your PR as ready for review, please ensure that you've considere
## Type of change
- [ ] New Feature: A non-breaking change that adds new functionality.
- [ ] Optimization: A code change that improves performance.
- [ ] Examples: A change to existing or additional examples.
- [ ] Bug Fix: A non-breaking change that addresses an issue.
- [ ] Documentation: Updates to documentation or new documentation for new features.
- [ ] Refactoring: Non-functional changes that improve the codebase.
Expand All @@ -24,7 +25,7 @@ Before you mark your PR as ready for review, please ensure that you've considere

- [ ] No style issues: `$ pre-commit run` (or `$ nox -s pre-commit`) (see [CONTRIBUTING.md](https://github.com/pybop-team/PyBOP/blob/develop/CONTRIBUTING.md#installing-and-using-pre-commit) for how to set this up to run automatically when committing locally, in just two lines of code)
- [ ] All unit tests pass: `$ nox -s tests`
- [ ] The documentation builds: `$ nox -s docs`
- [ ] The documentation builds: `$ nox -s doctest`

You can run integration tests, unit tests, and doctests together at once, using `$ nox -s quick`.

Expand Down
2 changes: 1 addition & 1 deletion .github/release_workflow.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ To create a new release, follow these steps:
1. **Prepare the Release:**
- Create a new branch for the release (i.e. `v24.XX`) from `develop`.
- Increment the following;
- The version number in the `pyproject.toml` file following CalVer versioning.
- The version number in the `pyproject.toml` and `CITATION.cff` files following CalVer versioning.
- The`CHANGELOG.md` version with the changes for the new version.
- Open a PR to the `main` branch. Once the PR is merged, proceed to the next step.

Expand Down
48 changes: 48 additions & 0 deletions .github/workflows/nightly_dependency_tests.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: Nightly dependencies at develop

on:
workflow_dispatch:
schedule:
- cron: "0 23 * * 1"

concurrency:
# github.workflow: name of the workflow, so that we don't cancel other workflows
# github.run_id || github.event_name: either the unique identifier for the job or the event that triggered it
group: ${{ github.workflow }}-${{ github.run_id || github.event_name }}
# Cancel in-progress runs when a new workflow with the same group name is triggered
cancel-in-progress: true

jobs:
nightly_tests:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-14]
python-version: ["3.12"]
suite: ["unit", "integration", "examples"]

name: Test-${{ matrix.os }}-py-${{ matrix.python-version }}-${{ matrix.suite }})

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install -e .[all,dev]
python -m pip uninstall -y pybamm
python -m pip install "pybamm[all] @ git+https://github.com/pybamm-team/PyBaMM@develop"


- name: Run ${{ matrix.suite }} tests
run: |
if [[ "${{ matrix.suite }}" == "unit" ]]; then
python -m pytest --unit
elif [[ "${{ matrix.suite }}" == "integration" ]]; then
python -m pytest --integration
elif [[ "${{ matrix.suite }}" == "examples" ]]; then
python -m pytest --nbmake --examples
fi
9 changes: 7 additions & 2 deletions .github/workflows/periodic_benchmarks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@
# - Publish website
name: Benchmarks
on:
# Everyday at 12 pm UTC
# Every Monday and Thursday at 12 pm UTC
schedule:
- cron: "0 12 * * *"
- cron: "0 12 * * 1,4"
# Make it possible to trigger the
# workflow manually
workflow_dispatch:
Expand All @@ -22,6 +22,11 @@ jobs:
runs-on: [self-hosted, macOS, ARM64]
if: github.repository == 'pybop-team/PyBOP'
steps:
- name: Cleanup build folder
run: |
rm -rf ./* || true
rm -rf ./.??* || true

- uses: actions/checkout@v4

- name: Install python & create virtualenv
Expand Down
29 changes: 10 additions & 19 deletions .github/workflows/release_action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,8 @@ jobs:
uses: actions/setup-python@v4
with:
python-version: "3.12"
- name: Install pypa/build
run: >-
python3 -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: python -m build
- name: Build a source tarball and a wheel from it
run: pipx run build
- name: Store the distribution packages
uses: actions/upload-artifact@v3
with:
Expand Down Expand Up @@ -77,20 +71,17 @@ jobs:
inputs: >-
./dist/*.tar.gz
./dist/*.whl
- name: Upload artifact signatures to GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
# Upload to GitHub Release using the `gh` CLI.
# `dist/` contains the built packages, and the
# sigstore-produced signatures and certificates.
run: >-
gh release upload
'${{ github.ref_name }}' dist/**
--repo '${{ github.repository }}'
- name: Publish artifacts and signatures to GitHub Releases
uses: softprops/action-gh-release@9d7c94cfd0a1f3ed45544c887983e9fa900f0564 # v2.0.4
with:
# `dist/` contains the built packages, and the
# sigstore-produced signatures and certificates.
files: dist/*

publish-to-testpypi:
name: Publish Python 🐍 distribution 📦 to TestPyPI
if: contains(github.ref, 'rc') && github.repository == github.event.repository # only publish to TestPyPI for rc tags
# only publish to TestPyPI for rc tags
if: contains(github.ref, 'rc') && github.repository == 'pybop-team/PyBOP'
needs:
- build
runs-on: ubuntu-latest
Expand Down
38 changes: 26 additions & 12 deletions .github/workflows/scheduled_tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@ on:
branches:
- main

# runs every day at 09:00 and 15:00 UTC
# runs every day at 09:00 UTC
schedule:
- cron: '0 9 * * *'
- cron: '0 15 * * *'

# Check noxfile.py for associated environment variables
env:
Expand All @@ -35,10 +34,12 @@ jobs:
outputs:
pybop_matrix: ${{ steps.set-matrix.outputs.matrix }}

# filter the matrix to only include the macOS-latest entries
# Filter the matrix to only include Python and PyBaMM versions. This job
# is used for the self-hosted macOS-14 (arm64) runner at this time.
filter_pybamm_matrix:
name: Filter the matrix for macOS-latest entries
name: Filter the matrix for OS and Python version
needs: [create_pybamm_matrix]
if: github.repository == 'pybop-team/PyBOP'
runs-on: ubuntu-latest
outputs:
filtered_pybop_matrix: ${{ steps.set-matrix.outputs.matrix }}
Expand All @@ -53,8 +54,12 @@ jobs:
matrix_json = '${{ needs.create_pybamm_matrix.outputs.pybop_matrix }}'
matrix = json.loads(matrix_json)

# Filter the matrix for macOS-latest entries only
filtered_entries = [entry for entry in matrix['include'] if entry['os'] == 'macos-latest']
# Filter the matrix to include just the Python version and PyBaMM version
# First filter the matrix to only include macOS-14 entries
filtered_entries = [entry for entry in matrix['include'] if entry['os'] == 'macos-14']
# Then remove the os key from the entries
for entry in filtered_entries:
entry.pop('os')
filtered_matrix = {'include': filtered_entries}

# Set the output variable for other jobs to use
Expand All @@ -63,6 +68,8 @@ jobs:
output_stream.write(f"matrix={json.dumps(filtered_matrix)}\n")
shell: python

# This job is dependent on filter_pybamm_matrix so that the self-hosted runner starts
# as soon as the matrix is filtered (i.e. the runners don't get tied up with build below).
build:
needs: [create_pybamm_matrix, filter_pybamm_matrix]
name: Build (${{ matrix.os }}, Python ${{ matrix.python_version }}, PyBaMM ${{ matrix.pybamm_version }})
Expand All @@ -82,16 +89,18 @@ jobs:

- name: Install dependencies
run: |
python -m pip install --upgrade pip nox
python -m pip install --upgrade pip nox[uv]

- name: Unit tests with nox
run: python -m nox -s coverage

- name: Run notebooks with nox
run: python -m nox -s notebooks
- name: Run examples with nox
run: python -m nox -s examples

# M-series Mac Mini
build-apple-mseries:
# This job filters the matrix JSON created in build_matrix.sh to provide
# a matrix of only macOS-14 (arm64) entries
needs: [filter_pybamm_matrix]
name: Build (MacOS M-series, Python ${{ matrix.python_version }}, PyBaMM ${{ matrix.pybamm_version }})
runs-on: [self-hosted, macOS, ARM64]
Expand All @@ -104,6 +113,11 @@ jobs:
matrix: ${{fromJson(needs.filter_pybamm_matrix.outputs.filtered_pybop_matrix)}}

steps:
- name: Cleanup build folder
run: |
rm -rf ./* || true
rm -rf ./.??* || true

- uses: actions/checkout@v4
- name: Install python & create virtualenv
shell: bash
Expand All @@ -112,14 +126,14 @@ jobs:
pyenv install ${{ matrix.python_version }} -s
pyenv virtualenv ${{ matrix.python_version }} pybop-${{ matrix.python_version }}-${{ matrix.pybamm_version }}

- name: Install dependencies & run unit + notebook tests
- name: Install dependencies & run tests
shell: bash
run: |
eval "$(pyenv init -)"
pyenv activate pybop-${{ matrix.python_version }}-${{ matrix.pybamm_version }}
python -m pip install --upgrade pip nox
python -m pip install --upgrade pip nox[uv]
python -m nox -s coverage
python -m nox -s notebooks
python -m nox -s examples

- name: Uninstall pyenv-virtualenv & python
if: always()
Expand Down
Loading
Loading