Skip to content

Releases: octue/octue-sdk-python

Improve output validation/upload logging

17 Dec 14:16
12c120a
Compare
Choose a tag to compare

Contents (#691)

Enhancements

  • Improve output validation/upload logging

Fixes

  • Avoid attempting to upload output manifest if it's None

Log warning when runtime timeout is near

16 Dec 13:36
2142ceb
Compare
Choose a tag to compare

Contents (#690)

Enhancements

  • Log warning when running on on Cloud Run and runtime timeout (1 hour) is near

Dependencies

  • Add pydash dependency

Refactoring

  • Replace custom nested attribute functions with pydash usage

Allow optional strands

13 Dec 16:50
c467cbd
Compare
Choose a tag to compare

Contents (#688)

New features

  • Allow optional strands

Dependencies

  • Use twined=0.6.0

Fixes

  • Skip dataset validation for missing optional manifests

Add documentation on updating Octue services

25 Oct 12:50
8fb10ce
Compare
Choose a tag to compare

Contents (#683)

Operations

  • Use latest ruff pre-commit check

Dependencies

  • Add ruff to dev dependencies

Other

  • Add doc on updating an Octue service

Switch to ruff developer tooling

18 Sep 11:51
25b6c08
Compare
Choose a tag to compare

Contents (#682)

Operations

  • Switch from flake8, black, and isort to ruff

Dependencies

  • Remove old formatters/linters and add ruff config

Refactoring

  • Apply ruff to all files

Check for service revision existence

27 Aug 11:40
d948b8f
Compare
Choose a tag to compare

Contents (#680)

IMPORTANT: There is 1 breaking change.

Enhancements

  • 💥 BREAKING CHANGE: Use cloud URIs by default for datasets in output manifests
  • Add comments around checking for service revision existence
  • Improve error when octue.services topic doesn't exist

Fixes

  • Raise error if service revision subscription doesn't exist when no service registry is in use
  • Remove octue.services prefix from subscription names

Refactoring

  • Avoid repeated conversion to Pub/Sub ID for a service

Upgrade instructions

💥 Use cloud URIs by default for datasets in output manifests

Set use_signed_urls_for_output_datasets to True in the app configuration to keep using signed URLs for datasets in output manifests.

Revert analysis output location removal

16 Aug 14:02
f1bce70
Compare
Choose a tag to compare

Contents (#677)

Fixes

  • Pass output arguments into Analysis and use them

Reversions

  • Revert "REF: Stop storing output_location in Analysis"

Make signed URLs for output datasets optional

15 Aug 15:10
fa2cfdf
Compare
Choose a tag to compare

Contents (#676)

IMPORTANT: There is 1 breaking change.

Enhancements

  • Allow using non-signed URLs for datasets in output manifest (controllable via the app configuration file)
  • Handle all requests errors while:
    • Getting cloud metadata for datafiles and datasets
    • Downloading datafiles

Fixes

  • Avoid trying to access buckets for URL datasets

Refactoring

  • 💥 BREAKING CHANGE: Stop storing output_location in Analysis
  • Remove unnecessary finalisation from template apps

Upgrade instructions

💥 Stop storing `output_location` in `Analysis`

If calling Analysis.finalise manually, either stop doing this and rely on the output_location field of the app configuration or explicitly pass in the upload_output_datasets_to argument.

Improve event filtering

13 Aug 12:29
e116143
Compare
Choose a tag to compare

Contents (#673)

IMPORTANT: There are 2 breaking changes.

New features

  • Add dictionary_product utility function

Enhancements

  • 💥 BREAKING CHANGE: Disable event validation in EventReplayer by default
  • 💥 BREAKING CHANGE: Enable filtering by multiple event kinds in get_events
  • Enable excluding multiple event kinds in get_events
  • Use all non-question events for question redelivery check in flask app
  • Add ability to skip handling logs containing certain text in AbstractEventHandler and subclasses
  • Return outside of ThreadPoolExecutor context managers

Upgrade instructions

💥 Disable event validation in `EventReplayer` by default

Set validate_events=True in the EventReplayer constructor to retain the previous behaviour.

💥 Enable filtering by multiple event kinds in `get_events`

To filter by one event kind as before, use kinds=[event_kind] instead of kind=event_kind.

Enable question retries on single questions

24 Jul 12:11
f0c5eaf
Compare
Choose a tag to compare

Summary

This release adds to the question retry capability already available on concurrent questions by allowing retries of single questions.

Contents (#671)

Enhancements

  • Enable question retries on single questions with Child.ask
  • Log when retries are prevented for an exception type in Child.ask
  • Remove PYTHONUNBUFFERED warning

Refactoring

  • Move retry logic from Child.ask_multiple into Child.ask