Releases: octue/octue-sdk-python
Improve CLI subcommand organisation and convert docs to Material for Mkdocs
Contents (#738)
IMPORTANT: There is 1 breaking change.
Enhancements
- Update version compatibility table script for markdown format
Dependencies
- Add
mkdocs-material - Add
mkdocs-glightboxto provide image zooming to docs - Remove dependencies and config from old documentation
- Add
tabulatefor version table script
Refactoring
- 💥 BREAKING CHANGE: Replace
octue twined startCLI subcommand withoctue twined service startsubcommand
Reversions
- Revert "REF: Remove
google_crc32cwarning suppression"
Other
- Convert documentation from restructured text (RST) to markdown (MD)
- Use
mkdocsand Material for Mkdocs to build and theme documentation - Document using
TWINED_SERVICES_TOPIC_NAMEenvvar - Disable sphinx pre-commit step
- Update CLI printout in readme
- Replace "Octue SDK" with "Twined" in docs
- Move
CONTRIBUTING.mdto repo root and update it
Upgrade instructions
💥 Replace `octue twined start` CLI subcommand with `octue twined service start` subcommand
Use octue twined service start instead of octue twined start
Move current Octue SDK code into `twined` subpackage
Contents (#737)
IMPORTANT: There are 4 breaking changes.
Fixes
- Update command in dockerfiles to use new
octue twinedCLI
Refactoring
- 💥 BREAKING CHANGE: Move Twined-related
octuecode intotwinedsubpackage - 💥 BREAKING CHANGE: Rename
OCTUE_SERVICES_TOPIC_NAMEtoTWINED_SERVICES_TOPIC_NAME - 💥 BREAKING CHANGE: Move
octue.runnertooctue.twined.runner - 💥 BREAKING CHANGE: Remove unused
folders,isfolder, andisfileutils - Merge
TwinedEncoderwithOctueJSONEncoder - Rename scripts
Testing
- Restructure test directories
- Remove unused base test method
Upgrade instructions
💥 Move Twined-related `octue` code into `twined` subpackage
Import Twined-related code that was formerly in octue from octue.twined
💥 Rename `OCTUE_SERVICES_TOPIC_NAME` to `TWINED_SERVICES_TOPIC_NAME`
Use the TWINED_SERVICES_TOPIC_NAME envvar instead of OCTUE_SERVICES_TOPIC_NAME and ensure its value ends in octue.twined.services
💥 Move `octue.runner` to `octue.twined.runner`
Use the new import path: from octue.twined.runner import Runner (note that from octue.twined import Runner will not work)
💥 Remove unused `folders`, `isfolder`, and `isfile` utils
Stop using the get_file_name_from_strand, isfolder, and isfile functions
Move twined package into octue
Summary
This release moves the twined package into octue in preparation for the rebranding of Octue SDK into Twined.
Contents (#735)
Dependencies
- Remove
twinedlibrary dependency
Refactoring
- Move
twinedpackage insideoctue
Switch to octue twined CLI
Summary
This release moves the octue CLI commands down into the octue twined subcommand in preparation for the rebranding of Octue SDK into Twined.
Contents (#734)
IMPORTANT: There are 3 breaking changes.
New features
- 💥 BREAKING CHANGE: Move CLI commands into
twinedcommand
Operations
- Set pre-commit checks to not fail fast (this results in fewer runs for developers)
Refactoring
- 💥 BREAKING CHANGE: Remove deprecated
octue get-diagnosticsCLI command - 💥 BREAKING CHANGE: Remove no-op CLI options
Upgrade instructions
💥 Move CLI commands into `twined` command
Type octue twined for the CLI instead of just octue
💥 Remove deprecated `octue get-diagnostics` CLI command
Use octue twined question diagnostics instead
💥 Remove no-op CLI options
Stop providing the --id and --force-reset/--no-force-reset options to the CLI
Use new docker base images
Contents (#732)
New features
- Add new python3.12 and python3.13 dockerfiles
Enhancements
- Use new
rational-swordtailbase images in dockerfiles
Operations
- Update devcontainer base image
- Use python3.12 for CI tests
Refactoring
- Remove
google_crc32cwarning suppression
Style
- Run isort
- Ignore
D401(first line of docstring not in imperative)
Other
- Update contribution docs python version
Rename `project_name` to `project_id`
Contents (#731)
IMPORTANT: There is 1 breaking change.
Refactoring
- 💥 BREAKING CHANGE: Rename
project_nametoproject_id - Remove unused test environment variable
TEST_PROJECT_ID
Operations
- Stop using
toxfor CI tests
Dependencies
- Use version
0.16.0of service communication schema - Use
twined=^0.7.0 - Remove
tox
Upgrade instructions
💥 Rename `project_name` to `project_id`
Rename the project_name argument to project_id
Move app configuration into service configuration
Contents (#730)
IMPORTANT: There is 1 breaking change.
New features
- 💥 BREAKING CHANGE: Move app configuration into service configuration
Upgrade instructions
💥 Move app configuration into service configuration
- Move the contents of the
app_configuration.jsonfile into theoctue.yamlfile under the first item in theserviceslist (make sure to convert from JSON to YAML) - Remove the
app_configuration_pathargument from theoctue.yamlfile - Use
ServiceConfiguration.from_fileinstead ofload_service_and_app_configuration - Replace any uses of the
app_configurationargument/variable withservice_configuration
Fix google auth library imports and `grpcio` version
Contents (#729)
Fixes
- Fix google auth library imports
Dependencies
- Use new version of
grpcioto avoid spurious warning
Switch to Kueue service backend
Summary
This release switches to running Twined services on Kubernetes + Kueue. This brings the following features:
- Queue questions so they're not just dropped if the service backend is overwhelmed
- Run questions that take any amount of time (specifically opening us up to runs > 1 hour)
- Request arbitrary compute resources per question (CPU, memory, storage etc.)
- Stop extraneous question reruns by allowing us to control when we acknowledge question events
- Monitor running questions individually
- Make it easier to run questions on providers other than Google in the future (i.e. on any Kubernetes cluster)
Contents (#723)
IMPORTANT: There are breaking changes.
New features
- #709 (see PR for list of breaking changes)
- Authenticate requests to service registries
Enhancements
- Add
allow_not_foundoption toServiceConfiguration.from_file - Add default event store ID to
get_events - Increase default maximum heartbeat interval to 360s
Refactoring
Dependencies
- Remove
gunicornandFlaskdependencies
Operations
- Replace Terraform configuration with new
terraform-octue-twined-coremodule
Testing
- Move deployment test to
octue/example-service-kueuerepository
Improve output validation/upload logging
Contents (#691)
Enhancements
- Improve output validation/upload logging
Fixes
- Avoid attempting to upload output manifest if it's
None