You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/release_workflow.md
+19-16Lines changed: 19 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,29 +7,32 @@ This document outlines the release workflow for publishing to PyPI and TestPyPI
7
7
To create a new release, follow these steps:
8
8
9
9
1.**Prepare the Release:**
10
-
- Create a new branch for the release (i.e. `v24.XX`) from `develop`.
11
-
- Increment the following;
10
+
- Create a new branch for the release (i.e. `24.XX`) from `develop`.
11
+
- Increment the following:
12
12
- The version number in the `pyproject.toml` and `CITATION.cff` files following CalVer versioning.
13
-
- The`CHANGELOG.md` version with the changes for the new version.
14
-
- Add a new entry for the documentation site version switcher located at `docs/_static/switcher.json`
13
+
- The`CHANGELOG.md` version with the changes for the new version.
14
+
- Add a new entry for the documentation site version switcher located at `docs/_static/switcher.json`.
15
15
- Open a PR to the `main` branch. Once the PR is merged, proceed to the next step.
16
16
17
-
2.**Tag the Release:**
18
-
-Create a new Git tag for the release. For a full release, use a tag like `v24.2`. For a release candidate, use a tag like `v24.2rc.1`.
19
-
-Push the tag to the remote repository: `git push origin <tag_name>`.
20
-
21
-
3.**Create a GitHub Release:**
22
-
- Go to the "Releases" section of on GitHub.
23
-
- Click "Draft a new release."
24
-
- Enter the tag you created in the "Tag version" field.
17
+
2.**Create a GitHub Release:**
18
+
-Go to the "Releases" section on GitHub.
19
+
-Click "Draft a new release".
20
+
- Select the `main` branch as the release target.
21
+
-Create a release tag:
22
+
- For a full release, use the following CalVer format: `vYY.M` (i.e. `v24.3`).
23
+
- For a release candidate, use: `vYY.Mrc.X` (i.e. `v24.3rc.1`).
24
+
- Note: GitHub provides the option to create this tag on publish if you start typing a new tag
25
25
- Fill in the release title and description. Add any major changes and link to the `CHANGELOG.md` for a list of total changes.
26
26
- If it's a pre-release (release candidate), check the "This is a pre-release" checkbox.
27
27
- Click "Publish release" to create the release.
28
28
29
-
4.**Monitor the Workflow:**
30
-
- Go to the "Actions" tab of your repository to monitor the workflow's progress.
29
+
3.**Monitor the Workflow:**
30
+
- Go to the "Actions" tab of the repository and monitor the workflow's progress.
31
31
- The workflow will build the distribution packages and then publish them to PyPI or TestPyPI, depending on whether the release is a full release or a pre-release.
32
32
33
-
5.**Verify the Release:**
33
+
4.**Verify the Release:**
34
34
- Check PyPI or TestPyPI to ensure that your package is available and has been updated to the new version.
35
-
- Test installing the package using `pip` to ensure everything works as expected.
35
+
- Test installing the package using `pip` to ensure everything works as expected (run an example as confirmation).
36
+
37
+
5.**Merge Main into Develop**
38
+
- Finally, open a PR from `main` to `develop` to synchronise the release changes. This ensures `develop` is always ahead of `main`, reducing the work required for future releases.
-[#676](https://github.com/pybop-team/PyBOP/pull/676) - Update the format of the problem sensitivities to a dict.
23
+
-[#681](https://github.com/pybop-team/PyBOP/pull/681) - Update the spatial variable defaults of the `GroupedSPMe` model.
24
+
-[#692](https://github.com/pybop-team/PyBOP/pull/692) - Improvements/fixes for `BaseSampler` and `BasePintsSampler` classes, adds `ChainProcessor` classes w/ clearer structure.
25
+
26
+
## Bug Fixes
27
+
28
+
-[#678](https://github.com/pybop-team/PyBOP/pull/678) - Fixed bug where model wasn't plotted for observer classes with `pybop.plot.quick()`.
29
+
30
+
## Breaking Changes
31
+
32
+
-[#684](https://github.com/pybop-team/PyBOP/pull/684) - Updates `plot.quick` to `plot.problem` for clarity.
33
+
-[#661](https://github.com/pybop-team/PyBOP/pull/661) - Adds `pybop.CostInterface` which aligns the optimisers and samplers with a unified `call_cost` in which transformations and sign inversions are applied. Also includes bug fixes for transformations and gradient calculations.
[](https://pypi.org/project/pybop/)
PyBOP provides a complete set of tools for parameterisation and optimisation of battery models, using both Bayesian and frequentist approaches, with [example workflows](https://github.com/pybop-team/PyBOP/tree/develop/examples/notebooks) to assist the user. PyBOP can be used to parameterise various battery models, including electrochemical and equivalent circuit models available in [PyBaMM](https://pybamm.org/). PyBOP prioritises clear and informative diagnostics for the user, while also allowing for advanced probabilistic methods.
22
+
PyBOP provides a complete set of tools for parameterisation and optimisation of battery models, using both Bayesian and frequentist approaches, with [example workflows](https://github.com/pybop-team/PyBOP/tree/main/examples/) to assist the user. PyBOP can be used to parameterise various battery models, including electrochemical and equivalent circuit models available in [PyBaMM](https://pybamm.org/). PyBOP prioritises clear and informative diagnostics for the user, while also allowing for advanced probabilistic methods.
25
23
26
24
The diagram below shows the conceptual framework of PyBOP. This package is currently under development, so users can expect the API to evolve with future releases.
The data files in this directory have the following metadata
3
+
4
+
`{model}_charge_discharge_{soc}.csv`
5
+
- Time, current, terminal voltage, and open-circuit voltage data for a Chen2020 parameters at the corresponding SOC. 0.5mV of noise is applied to both voltage signals.
6
+
- See `discharge_charge_data_gen.py` for reference
7
+
8
+
`{model}_pulse_{soc}.csv`
9
+
- Time, current, terminal voltage, and open-circuit voltage data for a Chen2020 parameters at the corresponding SOC. 0.5mV of noise is applied to both voltage signals.
0 commit comments