Releases: EMMC-ASBL/oteapi-core
v0.7.0.dev6
Changelog
v0.7.0.dev6 (2024-11-25)
Patch update - avoid Pydantic v2.10
This version of Pydantic currently breaks a lot of functionality around the Url
models/classes.
Currently, we avoid v2.10.0 and v2.10.1.
This means the v2.10.2 (when released) should open a dependabot PR and it can be tested.
Note, it should be tested from OTEAPI Services, because this is where it failed most recently.
Fixed bugs:
* This Changelog was automatically generated by github_changelog_generator
v0.7.0.dev5
Changelog
v0.7.0.dev5 (2024-11-25)
Fix pydantic
import issues
Minor patch release to fix imports from pydantic.networks
for the latest Pydantic version (2.10).
Fixed bugs:
* This Changelog was automatically generated by github_changelog_generator
v0.7.0.dev4
Changelog
v0.7.0.dev4 (2024-11-20)
Support Python 3.13
Add support for Python 3.13 in both the package metadata, but also through testing and minor code fixes.
Miscellaneous
Add MatCHMaker to the Acknowledgement section of the README.
Update Python dependencies and GitHub Actions.
Implemented enhancements:
- Support Python 3.13 #538
Merged pull requests:
- Support Python 3.13 #539 (@CasperWA)
- Update acknowledgements #534 (@Treesarj)
- Update acknowledgements #532 (@Treesarj)
* This Changelog was automatically generated by github_changelog_generator
v0.7.0.dev3
Changelog
v0.7.0.dev3 (2024-09-09)
Extend customization for http(s)
download strategy
The http
/https
download strategy now supports several strategy-specific configurations for customizing the HTTP request.
DX updates
The CI/CD system has been overhauled, removing usage of the permanent dependencies branch and instead using dependabot's groups
feature.
Furthermore, Trusted Publishers for PyPI has been implemented.
Implemented enhancements:
- Support headers and more for download strategy #524
Fixed bugs:
- pre-commit config should be updated to state
master
instead ofmain
#469
Closed issues:
- Use Trusted Publishers from PyPI #526
Merged pull requests:
- Use Trusted Publishers for PyPI #527 (@CasperWA)
- Extend inputs for http/https download strategy #525 (@CasperWA)
- Update dev tools and CI/CD workflows #497 (@CasperWA)
* This Changelog was automatically generated by github_changelog_generator
v0.7.0.dev2
Support Python 3.12
Official support for Python 3.11 and 3.12 has been added, with the handling of the new entry points API. The old entry points API has been deprecated since Python 3.10 and support has been removed in Python 3.12.
Changelog
v0.7.0.dev2 (2024-07-05)
Closed issues:
- Update use of
importlib.metadata.entry_points
#395
Merged pull requests:
- Expect
EntryPoints
fromimportlib.metadata
#496 (@CasperWA) - [Auto-generated] Update dependencies #495 (@TEAM4-0)
- [Auto-generated] Update dependencies #491 (@TEAM4-0)
- [Auto-generated] Update dependencies #490 (@TEAM4-0)
- [Auto-generated] Update dependencies #487 (@TEAM4-0)
- [Auto-generated] Update dependencies #485 (@TEAM4-0)
- [Auto-generated] Update dependencies #480 (@TEAM4-0)
- [Auto-generated] Update dependencies #477 (@TEAM4-0)
- [Auto-generated] Update dependencies #474 (@TEAM4-0)
- [Auto-generated] Update dependencies #470 (@TEAM4-0)
- [pre-commit.ci] pre-commit autoupdate #468 (@pre-commit-ci[bot])
- [Auto-generated] Update dependencies #463 (@TEAM4-0)
- [Auto-generated] Update dependencies #460 (@TEAM4-0)
- [Auto-generated] Update dependencies #457 (@TEAM4-0)
- [Auto-generated] Update dependencies #454 (@TEAM4-0)
- [Auto-generated] Update dependencies #452 (@TEAM4-0)
- [Auto-generated] Update dependencies #447 (@TEAM4-0)
- [Auto-generated] Update dependencies #446 (@TEAM4-0)
* This Changelog was automatically generated by github_changelog_generator
v0.7.0.dev1
Minimize configurations passed to stategies upon creation
When creating a strategy with a pydantic data model configuration it is always dumped/serialized to a Python dict
. In order to ensure only the relevant user set configuration settings are passed on to the strategy, it must be dumped/serialized using the exclude_unset=True
option.
Update resource/url
strategy
This has been updated to return AttrDict
instances and also a similarly "minimized" result from its get()
method.
Changelog
v0.7.0.dev1 (2024-03-08)
Merged pull requests:
- [Auto-generated] Update dependencies #444 (@TEAM4-0)
- Ensure config models are dumped safely #443 (@CasperWA)
- Update resource/url strategy #440 (@CasperWA)
* This Changelog was automatically generated by github_changelog_generator
v0.7.0.dev0
Major reworking of the OTE strategy design and philosophy
Simplified session handling
Sessions are now no longer passed in as a separate parameter to any strategy method. Instead it is handled by the OTEAPI Services and merged into the strategy-specific configuration (the configuration
key's value) before initializing/creating a strategy.
The merging is done in a basic, conflict-free way at this point, meaning if a key/value-pair in the session would overwrite an existing key in the specific configuration, while the value differs, the merging is stopped and an exception is raised.
The actual merging logic is implemented in this repository and will/should be extended in the future to allow for different merging strategies to be defined and setup by end-users.
Updated Parser and Resource strategy purposes
Parser strategy
The Parser strategy's purpose is not to create and "execute" a Download strategy, parsing the downloaded object afterwards, according to its implementation.
This means the Download strategies will no longer be used directly, but rather only indirectly through the Parser strategies.
Resource strategy
The Resource strategy is no longer meant to represent a REST API service or similar, but rather a data catalogue. This means a Resource strategy can be used to connect to, search through, and resolve references to data in any given data catalogue. Then piping this result into a Parser strategy will ensure the data reference is retrieved (downloaded) and parsed.
Changelog
v0.7.0.dev0 (2024-02-29)
Merged pull requests:
- [Auto-generated] Update dependencies #439 (@TEAM4-0)
- [Auto-generated] Update dependencies #435 (@TEAM4-0)
- [Auto-generated] Update dependencies #431 (@TEAM4-0)
- Major/410 session removal #429 (@Treesarj)
- [Auto-generated] Update dependencies #422 (@TEAM4-0)
- [Auto-generated] Update dependencies #417 (@TEAM4-0)
- [Auto-generated] Update dependencies #414 (@TEAM4-0)
- [Auto-generated] Update dependencies #413 (@TEAM4-0)
- [Auto-generated] Update dependencies #409 (@TEAM4-0)
- [Auto-generated] Update dependencies #407 (@TEAM4-0)
- [Auto-generated] Update dependencies #405 (@TEAM4-0)
- [Auto-generated] Update dependencies #403 (@TEAM4-0)
- [Auto-generated] Update dependencies #394 (@TEAM4-0)
- [Auto-generated] Update dependencies #392 (@TEAM4-0)
- [Auto-generated] Update dependencies #391 (@TEAM4-0)
* This Changelog was automatically generated by github_changelog_generator
v0.6.1
Use proper regular expression for plugin package names
This patch ensures plugin package names matches the regular expression outlined in PEP 508.
Furthermore, dependencies and DX is updated.
Changelog
v0.6.1 (2023-11-14)
Implemented enhancements:
- Implement split development #346
Fixed bugs:
- Extend branch name for "normal" CI - Check dependencies job #371
- PRs for updating dependencies not opened #365
- Wrong key name used in CI workflow #363
- Update package name format check #361
Merged pull requests:
- [Auto-generated] Update dependencies #385 (@TEAM4-0)
- [Auto-generated] Update dependencies #381 (@TEAM4-0)
- Add branch name extension for CI workflow #376 (@CasperWA)
- [Auto-generated] Update dependencies #374 (@TEAM4-0)
- Use
branch_name_extension
and auto-merge dependency PRs #369 (@CasperWA) - [Auto-generated] Update dependencies #366 (@TEAM4-0)
- Fix workflow ignore rules key name #364 (@CasperWA)
- Implement PEP 508 regex for package_name #362 (@CasperWA)
- [Auto-generated] Update dependencies #360 (@TEAM4-0)
* This Changelog was automatically generated by github_changelog_generator
v0.6.0
Migration to pydantic v2
With this release, we have migrated OTEAPI Core to pydantic v2.
This migration has been done improve the performance of the pydantic models used for strategy configuration validation and handling.
Furthermore, the philosophies of pydantic v2 presents a more well-thought out design and implementation.
For more information about pydantic, please go to pydantic.dev.
Migrating plugin repositories to pydantic v2
This migration signifies a split in the development effort of OTEAPI Core.
v0.5.x will continue to support only pydantic v1, and hotfixes will be implemented and released throughout 2023.
v0.6 and onwards will support only pydantic v2.
It is therefore recommended that plugin repositories start migrating to pydantic v2, which can be done in their own development branch by depending on oteapi-core>=0.6.0
.
To keep the functionality working as is (in production), it is important to put an upper version limit on the OTEAPI Core dependency, e.g., oteapi-core~=0.5.2
or oteapi-core>=0.5.2,<0.6
.
There are different resources to consult when migrating to pydantic v2:
- Pydantic's own migration guide.
- The migrated version of the OTEAPI Plugin template repository (NB! As of 12.10.2023, this has not yet been migrated).
- The migrated version of other plugins (NB! As of 12.10.2023, these have not yet been migrated):
Changelog
v0.6.0 (2023-10-12)
Implemented enhancements:
- Upgrade to support only Pydantic v2 #339
Closed issues:
- Update dependency automation to include pydantic v1 support branch #349
- Update README in both branches to highlight the development/pydantic split #348
- Update release CD workflow to support releasing from
release/pydantic-v1-support
branch #347
Merged pull requests:
- [Auto-generated] Update dependencies #358 (@TEAM4-0)
- Update README to include info about pydantic v1 vs v2 #353 (@CasperWA)
- [Auto-generated] Update dependencies #352 (@TEAM4-0)
- Update CI/CD workflows for updating dependencies #351 (@CasperWA)
- Upgrade to pydantic v2 #330 (@CasperWA)
* This Changelog was automatically generated by github_changelog_generator
v0.5.2
Revert support for pydantic v2
The implemented way of supporting pydantic v2 was inherently incorrect, as it was using v1 parts under the hood, giving issues for plugin developers, when wanting to utilize pydantic v2, but still instantiating v1 through this implementation.
Changelog
v0.5.2 (2023-09-29)
Fixed bugs:
- Integrated support for pydantic v1 and v2 is wrong #341
Merged pull requests:
- Revert pydantic 2 false support #343 (@CasperWA)
- [Auto-generated] Update dependencies #342 (@TEAM4-0)
* This Changelog was automatically generated by github_changelog_generator