{"id":22230144,"url":"https://github.com/xlab-si/xopera-tosca-parser","last_synced_at":"2025-07-27T19:32:24.219Z","repository":{"id":40003267,"uuid":"465236160","full_name":"xlab-si/xopera-tosca-parser","owner":"xlab-si","description":"TOSCA YAML parser (used in xOpera orchestrator)","archived":false,"fork":false,"pushed_at":"2022-09-26T14:42:12.000Z","size":153,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-25T17:59:57.496Z","etag":null,"topics":["orchestration","parser","python","tosca"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xlab-si.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-02T09:20:26.000Z","updated_at":"2024-06-22T07:27:46.000Z","dependencies_parsed_at":"2022-07-23T01:02:15.841Z","dependency_job_id":null,"html_url":"https://github.com/xlab-si/xopera-tosca-parser","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/xlab-si/xopera-tosca-parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlab-si%2Fxopera-tosca-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlab-si%2Fxopera-tosca-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlab-si%2Fxopera-tosca-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlab-si%2Fxopera-tosca-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xlab-si","download_url":"https://codeload.github.com/xlab-si/xopera-tosca-parser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xlab-si%2Fxopera-tosca-parser/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267413917,"owners_count":24083515,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["orchestration","parser","python","tosca"],"created_at":"2024-12-03T01:14:25.876Z","updated_at":"2025-07-27T19:32:23.870Z","avatar_url":"https://github.com/xlab-si.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xOpera TOSCA parser\nTOSCA YAML parser for xOpera orchestrator.\n\n[![cicd](https://github.com/xlab-si/xopera-tosca-parser/actions/workflows/ci_cd.yaml/badge.svg)](https://github.com/xlab-si/xopera-tosca-parser/actions/workflows/ci_cd.yaml)\n[![PyPI](https://img.shields.io/pypi/v/opera-tosca-parser)](https://pypi.org/project/opera-tosca-parser/)\n[![Test PyPI](https://img.shields.io/badge/test%20pypi-dev%20version-blueviolet)](https://test.pypi.org/project/opera-tosca-parser/)\n\n## Table of Contents\n  - [Introduction](#introduction)\n  - [Prerequisites](#prerequisites)\n  - [Installation and Quickstart](#installation-and-quickstart)\n  - [License](#license)\n  - [Contact](#contact)\n  - [Acknowledgement](#acknowledgement)\n\n## Introduction\nxOpera TOSCA parser aims to be a lightweight parser component compliant with [OASIS TOSCA]. \nThe current compliance is with the [TOSCA Simple Profile in YAML v1.3].\n\n*We are also testing experimental support for [TOSCA Version 2.0], which will\nbecome the main version after TOSCA 2.0 is released.*\n\n## Prerequisites\n`opera-tosca-parser` requires Python 3 and a virtual environment. \nIn a typical modern Linux environment, we should already be set. \nIn Ubuntu, however, we might need to run the following commands:\n\n```console\n$ sudo apt update\n$ sudo apt install -y python3-venv python3-wheel python-wheel-common\n```\n\n## Installation and Quickstart\nThe orchestration tool is available on PyPI as a package named [opera-tosca-parser]. \nApart from the latest [PyPI production] version, you can also find the latest [PyPI development] version, which \nincludes pre-releases so that you will be able to test the latest features before they are officially released.\n\nThe simplest way to test `opera-tosca-parser` is to install it into Python virtual environment:\n\n```console\n$ python3 -m venv .venv \u0026\u0026 . .venv/bin/activate\n(.venv) $ pip install opera-tosca-parser\n```\n\nTo test if everything is working as expected, you can clone [xopera-examples] GitHub repository and try to parse a \nsimple [hello-world] example with the `opera-tosca-parser` CLI tool that comes along with the TOSCA parser:\n\n```console\n(.venv) $ git clone git@github.com:xlab-si/xopera-examples.git\n(.venv) $ cd xopera-examples/misc/hello-world\n(.venv) $ opera-tosca-parser parse service.yaml\nParsing service template...\nDone.\n```\n\nAnd that is it. \nThe `opera` orchestrator is available in [xopera-opera] repository.\nFor more startup examples please visit [xopera-examples] repository.\nIf you want to use opera commands from an API take a look at [xopera-api] repository. \nYou can also take a look at the [xOpera SaaS] component, which is designed for business partners and enterprise users.\nTo find more about xOpera project visit our [xOpera documentation].\n\n## License\nThis work is licensed under the [Apache License 2.0].\n\n## Contact\nYou can contact the xOpera team by sending an email to [xopera@xlab.si].\n\n## Acknowledgement\nSome work from this project has received funding from the European Union’s Horizon 2020 research and innovation \nprogramme under Grant Agreements No. 825040 ([RADON]), No. 825480 ([SODALITE]) and No. 101000162 ([PIACERE]).\n\n[opera-tosca-parser]: https://pypi.org/project/opera-tosca-parser/\n[TOSCA Simple Profile in YAML v1.3]: https://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.3/TOSCA-Simple-Profile-YAML-v1.3.html\n[TOSCA Version 2.0]: https://docs.oasis-open.org/tosca/TOSCA/v2.0/TOSCA-v2.0.html\n[xOpera documentation]: https://xlab-si.github.io/xopera-docs/\n[xopera@xlab.si]: mailto:xopera@xlab.si\n[OASIS TOSCA]: https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=tosca\n[PyPI production]: https://pypi.org/project/opera-tosca-parser/#history\n[PyPI development]: https://test.pypi.org/project/opera-tosca-parser/#history\n[hello-world]: https://github.com/xlab-si/xopera-examples/tree/master/misc/hello-world\n[xopera-opera]: https://github.com/xlab-si/xopera-opera\n[xopera-examples]: https://github.com/xlab-si/xopera-examples\n[xopera-api]: https://github.com/xlab-si/xopera-api\n[xOpera SaaS]: https://xlab-si.github.io/xopera-docs/saas.html\n[Apache License 2.0]: https://www.apache.org/licenses/LICENSE-2.0\n[RADON]: http://radon-h2020.eu\n[SODALITE]: http://www.sodalite.eu/\n[PIACERE]: https://www.piacere-project.eu/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxlab-si%2Fxopera-tosca-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxlab-si%2Fxopera-tosca-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxlab-si%2Fxopera-tosca-parser/lists"}