Skip to content

Releases: EMMC-ASBL/oteapi-core

v0.7.0.dev6

25 Nov 14:22
Compare
Choose a tag to compare

Changelog

v0.7.0.dev6 (2024-11-25)

Full Changelog

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

25 Nov 12:46
Compare
Choose a tag to compare

Changelog

v0.7.0.dev5 (2024-11-25)

Full Changelog

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

20 Nov 08:14
Compare
Choose a tag to compare

Changelog

v0.7.0.dev4 (2024-11-20)

Full Changelog

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:

* This Changelog was automatically generated by github_changelog_generator

v0.7.0.dev3

09 Sep 13:31
Compare
Choose a tag to compare

Changelog

v0.7.0.dev3 (2024-09-09)

Full Changelog

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 of main #469

Closed issues:

  • Use Trusted Publishers from PyPI #526

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator

v0.7.0.dev2

05 Jul 12:41
Compare
Choose a tag to compare

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)

Full Changelog

Closed issues:

  • Update use of importlib.metadata.entry_points #395

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator

v0.7.0.dev1

08 Mar 13:27
Compare
Choose a tag to compare

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)

Full Changelog

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator

v0.7.0.dev0

29 Feb 14:22
Compare
Choose a tag to compare

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)

Full Changelog

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator

v0.6.1

14 Nov 00:16
Compare
Choose a tag to compare

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)

Full Changelog

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:

* This Changelog was automatically generated by github_changelog_generator

v0.6.0

12 Oct 11:07
Compare
Choose a tag to compare

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:

Changelog

v0.6.0 (2023-10-12)

Full Changelog

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:

* This Changelog was automatically generated by github_changelog_generator

v0.5.2

29 Sep 08:50
Compare
Choose a tag to compare

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)

Full Changelog

Fixed bugs:

  • Integrated support for pydantic v1 and v2 is wrong #341

Merged pull requests:

* This Changelog was automatically generated by github_changelog_generator