Latest version: v0.7.0

PyUp actively tracks 471,271 Python packages for vulnerabilities to keep your Python environments secure.

Scan your dependencies


Version [**0.7.0**]( of [xOpera TOSCA orchestration tool]( is finally here!

It includes the following updates:

- [x] updated Ansible executor for ansible-core migration
- [x] reduced `opera` Python package size - this has been done by replacing [ansible]( dependency with [ansible-core](, which does not install half gig of Ansible collections as users can install only the ones they need (with `ansible-galaxy collection install`) or can still use extended install option with `pip install opera[ansible]` to install all collections
- [x] removed Pipfile and Makefile
- [x] updated and Python requirements
- [x] migrated CI/CD from CircleCI to GitHub Actions
- [x] further reduce size of orchestrator by moving [xOpera TOSCA parser]( to [`opera-tosca-parser`]( Python package
- [x] xOpera TOSCA parser add experimental support for TOSCA 2.0 in README

**Full Changelog**:


There is a new version [**0.6.9**]( of [xOpera orchestrator]( available and includes the following new things and changes:

- [x] Bugfixes for concurrent output issues
- [x] Display additional info for operation errors
- [x] Updates for parsing of TOSCA interfaces (derivation, optimization, etc.)
- [x] Fixes for TOSCA template comparer file comparison function
- [x] Remove CI/CD runs for Python 3.7
- [x] Updates for opera validate library function
- [x] Allow creating only zipped CSARs to be more compliant with TOSCA


A 'o ia!

We are happily releasing a new version [**0.6.8**]( of [xOpera TOSCA orchestration tool](

This version contains the following new things and updates:

- [x] Bugfixes for TOSCA type operation definition inputs
- [x] Corrections for TOSCA templates within examples and integration tests
- [x] Updates for README and Python package info
- [x] Additions for missing normative TOSCA networking types
- [x] Removal of deprecated `opera init` CLI command
- [x] Enable CLI version retrieval with `--version/-v` CLI flag
- [x] Fixes for the latest CLI command bugs
- [x] Adding detection for missing TOSCA requirements
- [x] Resolving errors in unit and integration tests
- [x] Dockerfile for xOpera CLI

A hui hou...


Happy Halloween from xOpera! πŸ‘» πŸŽƒ πŸ•·οΈ πŸŒ• 😈 πŸ—‘οΈ πŸ§› 🧟 πŸ•ΈοΈ

We're are proudly announcing version [**0.6.7**]( of [xOpera TOSCA orchestrator](

This release comes with the following new features and updates:

- [x] Better indication of different node orchestration states
- [x] Faster integration tests
- [x] Generalize usage of pathlib objects in CLI command functions
- [x] Adding unit tests for CLI commands
- [x] Update old unit tests to satisfy pylint
- [x] Fixes for unpackaging TOSCA CSARs
- [x] Refactorings for validation for of TOSCA CSARs
- [x] Apply TOSCA functions to all entities
- [x] Check also TOSCA executors with opera validate
- [x] Upgrade Python dependency packages
- [x] Add support for Python 3.10 and omit Python 3.6
- [x] Use only f-strings for string formatting in the code
- [x] Add new xOpera logo


We're are marking a new release - [**0.6.6**]( of xOpera TOSCA orchestrator, which brings the following new features and updates:

- [x] xOpera's documentation has been moved to [xopera-docs]( repo and is now available at
- [x] adding evaluation for TOSCA functions that are used inside YAML maps and lists
- [x] calculate code coverage and push reports to [Code Climate](
- [x] updates for README badges and quickstart section
- [x] directly render input values instead of the path in `opera info` command and expand the output with CSAR and service template metadata
- [x] repair the integration test for concurrency
- [x] catch undeclared requirements on node templates (TOSCA requirement assignments match with TOSCA requirement definitions)
- [x] enable validating directory-based CSARs with `opera validate` CLI command
- [x] add CI/CD test executor that uses python `3.9.4`
- [x] update package versions in `Pipfile` and refactor code to satisfy pylint


Waiting is over! We are happy to release the newest version - [**0.6.5**]( of `opera` orchestrator, which includes the following new features and updates:

- [x] introducing mandatory sanity checks for PEP8, linters, typing, commit messages
- [x] refactorings for `tosca.nodes.Storage.ObjectStorage` TOSCA normative type definition
- [x] refactorings for `tosca.nodes.Database` TOSCA normative type definition
- [x] apply tab completion to diff and update CLI commands
- [x] allow saving orchestration outputs and info to a file
- [x] update help messages for all CLI commands
- [x] detection for invalid Standard and Configure TOSCA interface operations
- [x] including TOSCA policies to topology and other necessary things for the new notify CLI command
- [x] the new [`opera notify`]( CLI command, which enables invoking TOSCA triggers from TOSCA policies (and therefore enables scaling)
- [x] fixes for diff CLI command for different workdirs
- [x] updating and adding new examples (e.g. Docker and Kubernetes) to opera's [documentation](


New version - [**0.6.4**]( of opera TOSCA orchestrator is here and it's bringing the following new features and updates:

- [x] a new `opera diff` CLI command for comparing TOSCA topologies and instances
- [x] a new `opera update` CLI command for redeploying application blueprints based on the detected changes
- [x] updates for README (badges, links, svgs)
- [x] implementation of TOSCA `occurrences` keyname that can be used to control the usage of TOSCA requirements
- [x] major updates for [xOpera's documentation]( - including CLI, SaaS and Template library
- [x] initial support for opera tab completion for bash and zsh shells (we added `--shell-completion/-s` global optional argument that will print out the completion script which can then be sourced to activate the completion)


The xOpera TOSCA orchestrator has a new version - [**0.6.3**](

The new release contains the following additions:

- [x] a new CI routine for testing opera examples
- [x] serialization of topology template policies as a list
- [x] refactorings for using node name references with TOSCA intrinsic functions
- [x] better README with badges
- [x] fixes for all existing opera CLI commands (bugs, missing flags)
- [x] an integration test for all opera CLI commands
- [x] fixes for passing inputs and getting outputs within relationship types
- [x] `opera init` CLI command is now marked as deprecated
- [x] compressed (zipped) CSAR deployment is possible just with `opera deploy`
- [x] new `opera package` command for preparing TOSCA CSARs
- [x] new `opera unpackage` command for extracting TOSCA CSARs
- [x] make TOSCA properties required by default


The new version [**0.6.2**]( of opera TOSCA orchestrator contains:

- [x] bugfixes for concurrent immediate cancellation
- [x] increased verbosity when encountering unset values
- [x] initial support for the intrinsic TOSCA functions (`concat`, `join` and `token`)
- [x] compressed CSAR deployment fixes
- [x] new `opera info` command for getting current deployment state
- [x] bugfixes for `get_artifact` TOSCA function
- [x] new `OPERA_SSH_HOST_KEY_CHECKING` environment variable to disable Ansible host key checks
- [x] initial documentation for xOpera SaaS


This version [**0.6.1**]( includes mostly bugfixes which are:

- [x] refactoring of CI/CD configuration for pushing stable branch with CircleCI
- [x] removal of some unnecessary checks for undeclared TOSCA artifacts


We are proudly releasing version [**0.6.0**]( of opera TOSCA orchestrator!

This release adds new useful features, which are:

- [x] verbose/debug mode CLI option to have higher verbosity and to print Ansible playbook outputs
- [x] fresh new options for `opera deploy` command: `--clean-state` , `--resume` and `--force`
- [x] the very first opera Read the docs Sphinx documentation available at:
and continuous publishing with CIrcleCI and GitHub pages
- [x] some refactorings for the deployment of initialized compressed CSARs from their extracted root
- [x] initial support for `get_artifact` TOSCA function
- [x] fixes for calling multiple references for policy type targets
- [x] parsing support for activity, condition clause and event filter definitions
- [x] parsing of TOSCA policy type triggers
- [x] refinement of required fields in interface and operation inputs


Say hello to the new **0.5.9** version of opera TOSCA orchestration tool!

This release concludes decoupling a Python library API from CLI interaction by
reshaping opera of commands (`init`, `validate`, `undeploy`, `outputs`, and
`deploy`). This would allow using opera as a Python library in other projects without
having to know anything about its CLI. Apart from that the release also includes
detecting duplicate map entries in TOSCA YAML templates.


The new **0.5.8** version of opera orchestrator includes the following important additions:

- [x] first opera integration tests and additional unit tests
- [x] CI/CD updates with nightly opera testing and semi-automated PyPI releases
- [x] relocating opera storage folder
- [x] prevent squaring of relationships during the execution
- [x] attribute mapping support
- [x] merge imported topology templates
- [x] concurrent task execution (multiple possible workers)
- [x] TOSCA policy type updates (targets keyname)
- [x] private ssh key file support (`OPERA_SSH_IDENTITY_FILE` env var)
- [x] new opera init command and support for compressed TOSCA CSAR files
- [x] updates for opera validate, deploy, undeploy and outputs commands
- [x] add acknowledgement for SODALITE project
- [x] support for getting attributes and properties from capabilities


The new release of [opera-api]( brings an additonal `OPERA_API_WORKDIR` env var for setting the working directory of the target user's TOSCA CSAR. This means that the user will not have to move to a specific dir anymore and will also be useful when starting xOpera API Docker container.


We are releasing a new version of [opera-api]( which brings these new additions:

* The version of `opera` package dependency has been upgraded to `0.6.9`
* Public []( Docker image
* Updated OpenAPI spec and OpenAPI generator
* Updated requirements
* Updated integration tests
* New environment variables
* Updated README info


The new release of [opera-api]( has these new additions:

* The version of `xopera-opera` was upgraded to `0.6.8`
* Update OpenAPI spec for opera 0.6.8 and OpenAPI generator
* Update requirements
* Update integration tests
* Enable SwaggerUI only in debug mode
* Update README
* Implement CI/CD pipeline with semi-automated PyPI releases


*The version of `xopera-opera` remains unchanged at `0.6.6`*

This release has these new additions:

* API support for `opera diff` and `opera update`.
* API support for `opera validate <csar>`, a split endpoint from service template validation.
* The result returned by `/info` now contains all available CSAR and service template metadata.

It improves:

* The test suite now has a completely valid CSAR with complete metadata and a JSON-decoding trigger target.
* The test suite has been improved to be stricter and more sensitive to failures.

The following endpoints were deprecated pending removal in a future release:

* `/validate`, which performed service template diffs, is now deprecated in favour of the following two endpoints
* `/validate/servicetemplate` for service template validation,
* `/validate/csar` for CSAR validation.


This is the first version that supports TOSCA Simple Profile for YAML 1.3. Other noteworthy additions are:

* Support for relationship operations from the `tosca.interfaces.relationship.Configure` interface.
* Support for the operation dependencies (secondary artifacts).

This release is available on [PyPI](

Happy orchestrating!


This release has the following bugfixes:

* The service template filename was incorrectly passed to the underlying library function, causing a far-downstream type mismatch. The parameter is now passed through as the proper type.


*The version of `xopera-opera` has been updated to `0.6.6`*

This release has these new additions:

* API support for `opera deploy --clean-state`.


*The version of `xopera-opera` has been updated to `0.6.5`*

This release has these new additions:

* API support for `opera notify`, enabling events/triggers and thus scaling flows

It improves:

* semi-automated testing to help ensure better, consistent and faster releases
* the version of `cryptography` has been pinned to ensure builds on Alpine succeed - currently without Rust


_The version of `xopera-opera` has been updated to `0.6.4`_

This release has these new additions:

* API support for `opera init`
* API support for `opera package`
* API support for `opera unpackage`

It improves:

* the `opera info` implementation has been updated to return more information when using an non-deployed or uninitialized project


What's Changed
* [TOSCA 2.0 - part 1]: Separate v1.3 and make room for v2.0 by anzoman in
* [TOSCA 2.0 - part 2]: Supply core v2.0 entities for parsing by anzoman in
* [TOSCA 2.0 - part 3]: Provide unit and integration tests and enable parsing 2.0 via CLI by anzoman in

**Full Changelog**:


Update to xopera-opera 0.6.2, which introduces the info command.


This release brings much better output handling, supporting in-progress output monitoring. Stdout and stderr have been split in the API, hence a bigger version change.


End-to-end testing is apparently important. The `xopera-opera` dependency wasn't applied in `setup.cfg`, which meant functions were called with incorrect (newer) signatures. Fun times without static typing.


The first release where a complete workflow with all commands was tested.


An initial release.