Octue

Latest version: v0.62.1

Safety actively analyzes 723177 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 10 of 40

0.39.0

Not secure
Summary
Allow parents to override the default children its child uses (i.e. the parent's grandchildren). This allows services that produce the same type of results but use, for example, different versions of a model to be swapped in and out for each other without modifying the child.

Note that the child has to be running version `0.39.0` to be able to accept the override (otherwise it will just use its default children).

<!--- SKIP AUTOGENERATED NOTES --->
Contents ([524](https://github.com/octue/octue-sdk-python/pull/524))

New features
- Add ability to dynamically override a child's children when asking it a question

Enhancements
- Use raw service IDs in logs and errors

Fixes
- Use full service ID in `MockService` when answering question

Refactoring
- Refactor `OrderedMessageHandler` methods into smaller methods

Testing
- Remove middle-man `ask_question_and_wait_for_answer` method in `TestService`

<!--- END AUTOGENERATED NOTES --->

0.38.1

Not secure
Summary
Ensure that datasets constructed using the `files` argument are successfully serialised/deserialised without losing file information.

<!--- SKIP AUTOGENERATED NOTES --->
Contents ([525](https://github.com/octue/octue-sdk-python/pull/525))

Fixes
- Fix serialisation/deserialisation of datasets in `Manifest` when the datasets have been constructed using the `files` argument
- Use datafile cloud path in `files` field if available in `Dataset.to_primitive`
- Use `Manifest.serialise` instead of `Manifest.to_primitive` in `Analysis.finalise`

Dependencies
- Use `twined=^0.5.1`

<!--- END AUTOGENERATED NOTES --->

0.38.0

Not secure
Summary
Make the `Topic` and `Subscription` classes standalone instead of relying on a `Service` instance and a related subscriber.

<!--- SKIP AUTOGENERATED NOTES --->
Contents ([523](https://github.com/octue/octue-sdk-python/pull/523))

**IMPORTANT:** There are 2 breaking changes.

Enhancements
- 💥 **BREAKING CHANGE:** Remove `service` argument from `Topic` constructor
- 💥 **BREAKING CHANGE:** Remove `subscriber` argument from `Subscription` constructor
- Implicitly get `Service` credentials from environment and remove `credentials` attribute

Fixes
- Move `finally` clause to correct nesting level in `OrderedMessageHandler.handle_messages`

---
Upgrade instructions
<details>
<summary>💥 <b>Remove `service` argument from `Topic` constructor</b></summary>

Provide the `project_name` argument instead of the old `service` argument.
</details>

<details>
<summary>💥 <b>Remove `subscriber` argument from `Subscription` constructor</b></summary>

Remove the old `subscriber` argument as it's no longer needed.
</details>

<!--- END AUTOGENERATED NOTES --->

0.37.0

Not secure
Summary
Only allow services with unique names to be started via the `octue start` CLI command. This ensures that, when using the command:
- A new service can't intercept/receive questions meant for an existing service of the same name
- When running a service locally that's already deployed, a modified service name is generated and used, preventing the deletion of the deployed service's topic/subscription on exit

<!--- SKIP AUTOGENERATED NOTES --->
Contents ([515](https://github.com/octue/octue-sdk-python/pull/515))

**IMPORTANT:** There is 1 breaking change.

Enhancements
- 💥 **BREAKING CHANGE:** Remove the `--rm` option and instead delete the service topic and subscription by default on exit of the `octue start` CLI command
- Add `--no-rm` flag to `octue start` to avoid topic and subscription deletion
- Allow `octue start` users to create a service with a variant of the ID in `octue.yaml` if the service already exists
- Add `allow_existing` parameter to `Service.serve` and default it to `False` (it was always `True` within the method before)
- Add `creation_triggered_locally` property to `Topic` and `Subscription` to facilitate avoiding deletion of subscriptions and topics that weren't created by the local service

Fixes
- Don't allow answer subscriptions to already exist
- Don't allow a service to be started by `octue start` if its ID is the same as an existing service's ID
- Ensure "what next" log message for starting a service is displayed at the right time

Testing
- Speed up `Topic.exists` test
- Simplify `Topic` tests

Operations
- Improve table generated by version compatibility table printing script

---
Upgrade instructions
<details>
<summary>💥 <b>Delete topic/subscription at end of octue start command by default</b></summary>

Stop providing the `--rm` / `--delete-topic-and-subscription-on-exit` option to the `octue start` CLI command. Use the `--no-rm` flag or deploy your service if you want the service topic and subscription to persist after exiting this command.
</details>

<!--- END AUTOGENERATED NOTES --->

0.36.0

Not secure
Summary
This PR adds the use of empirical data (instead of intuition) on compatible versions of `octue` for inter-service communication to warn about version compatibilities when errors are raised during communication.

<!--- SKIP AUTOGENERATED NOTES --->
Contents ([498](https://github.com/octue/octue-sdk-python/pull/498))

New features
- Add `octue` version compatibility checker that uses empirical compatibility data

Enhancements
- Warn if incompatible SDK version detected if an error is raised while handling messages in parent or answering questions in child
- Add recorded questions and empirical version compatibility data for versions since `0.16.0` inclusively

Operations
- Add workflow that checks version compatibility testing has been carried out for the current version
- Add script that prints a table of version compatibilities

<!--- END AUTOGENERATED NOTES --->

0.35.1

Not secure
Summary
When finalising analyses that produce output datasets, automatically upload the datasets to the `output_location` if it's specified in the app configuration. Additionally, the datasets are put in unique subdirectories within the `output_location` to avoid unintended overwriting or combining of sets of datasets.

These changes remove the need to explicitly call `Analysis.finalise` or construct a unique path to upload datasets to within an app when an `output_location` is provided in the app configuration.

<!--- SKIP AUTOGENERATED NOTES --->
Contents ([519](https://github.com/octue/octue-sdk-python/pull/519))

Enhancements
- Automatically upload output datasets to output location specified in app configuration in `Analysis.finalise`
- Automatically use a unique subdirectory within the output location in `Analysis.finalise` to avoid data loss/pollution

<!--- END AUTOGENERATED NOTES --->

Page 10 of 40

Links

Releases

Has known vulnerabilities

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.