Releases: octue/octue-sdk-python
Improve CLI and rewrite documentation
Contents (#739)
IMPORTANT: There are 4 breaking changes.
Enhancements
- 💥 BREAKING CHANGE: Run local example service (Fibonacci calculator) if
exampleis used as the service namespace inChild.ask - 💥 BREAKING CHANGE: Raise error if
exampleis used as the service namespace in service configurations - Add Fibonacci sequence example function
Fixes
- Update log message advising use of
octue twined questioncommand
Refactoring
- 💥 BREAKING CHANGE: Remove
--logger-urioption from CLI - 💥 BREAKING CHANGE: Un-nest CLI commands for asking questions
- Factor out template setting as a class
Chores
- Remove
check-yamlpre-commit check
Documentation
- Overhaul docs layout
- Add getting started guides for using services, creating services, and managing infrastructure for services
- Move most old docs into core concepts section
- Consolidate old
twinedrepo docs - Add troubleshooting infrastructure page
- Add glossary
- Use new URL for docs
- Update CLI help text
- Simplify installation instructions
- Enable code snippet copy buttons
- Adjust wording and style on licence and version history pages
- Add support page
- Improve authentication instructions
Upgrade instructions
💥 Run local example service (Fibonacci calculator) if `example` is used as the service namespace in service configurations
Stop using example as a service namespace unless you want to trigger the local example service.
💥 Raise error if example is used as the service namespace in service configurations
Stop using "example" as a service namespace in the service configuration class or octue.yaml file.
💥 Un-nest CLI commands for asking questions
Use:
octue twined question askinstead ofoctue twined question ask remoteoctue twined question ask-localinstead ofoctue twined question ask local
💥 Remove `--logger-uri` option from CLI
Stop providing the --logger-uri option to the CLI
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