<!--
~ SPDX-FileCopyrightText: 2022 Copyright DB InfraGO AG and the capellambse-context-diagrams contributors
~ SPDX-License-Identifier: Apache-2.0
-->
# Context Diagram extension for capellambse
This extension of [py-capellambse](https://github.com/DSD-DBS/py-capellambse) enables generation of views (diagrams) that describe an element context (from a user-defined perspective). This allows systems engineers to do less layouting work and at the same time get diagrams with optimal layouts into the model-derived documents.
The contents of an element context (what elements make it to the context) depend on the element of interest and are selected based on a hand-picked set of rules. However in many cases end user can further customize what and how needs to be in the context view.
The generated views are delivered as SVG images and do not persist in the model itself. This approach enables generation of large number of views at scale (in parallel) in the document production pipeline and also saves quite some XML space in the models. When you rely on generated views for documentation the models can stay lite as they only need to have the engineering / design views (that dont need to have a nice layout).
The layout work is done by [elkjs'](https://github.com/kieler/elkjs) Layered algorithm.
## Generate **Context Diagrams** from your model data!
When the extension is installed you get additional method `.context_diagram` available on those model elements that are already covered by context view definitions.
### Simple context
![Context diagram of **Left**](https://raw.githubusercontent.com/DSD-DBS/capellambse-context-diagrams/main/docs/assets/images/Context%20of%20Left.svg "Context diagram of **Left**")
### Interface context
![Interface context diagram of **Interface**](https://raw.githubusercontent.com/DSD-DBS/capellambse-context-diagrams/main/docs/assets/images/Interface%20Context%20of%20Interface.svg "Interface context diagram of **Interface**")
Have a look at our [documentation](https://dsd-dbs.github.io/capellambse-context-diagrams/) to get started and see the capabilities of this extension.
---
Special thanks goes to the developers and maintainers of [Eclipse Layout Kernelâ„¢](https://www.eclipse.org/elk/).
# Licenses
Copyright and license information added and maintained via the reuse tool from [Reuse Software](https://reuse.software/).
***Copyright 2022 DB InfraGO AG, own contributions licensed under Apache 2.0 (see full text in [LICENSES/Apache-2.0](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/LICENSES/Apache-2.0.txt))***
***Copyright (c) 2021 Kiel University and others, ELK/Sprotty contributions ([elkgraph-json.js](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/capellambse_context_diagrams/elkgraph-json.js) & [elkgraph-to-sprotty.js](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/capellambse_context_diagrams/elkgraph-to-sprotty.js)) licensed under EPL-2.0***
***Dot-files licensed under CC0-1.0 (see full text in [LICENSES/CC0-1.0](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/LICENSES/CC0-1.0.txt))***
Raw data
{
"_id": null,
"home_page": null,
"name": "capellambse-context-diagrams",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "capella, mbse, context, diagram, automatic diagrams",
"author": "DB InfraGO AG",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/50/35/2d4cf020e02a2bd853ae77eb3577b856a66c92d3a82c05095f1404627be0/capellambse_context_diagrams-0.6.1.tar.gz",
"platform": "any",
"description": "<!--\n ~ SPDX-FileCopyrightText: 2022 Copyright DB InfraGO AG and the capellambse-context-diagrams contributors\n ~ SPDX-License-Identifier: Apache-2.0\n -->\n\n# Context Diagram extension for capellambse\n\nThis extension of [py-capellambse](https://github.com/DSD-DBS/py-capellambse) enables generation of views (diagrams) that describe an element context (from a user-defined perspective). This allows systems engineers to do less layouting work and at the same time get diagrams with optimal layouts into the model-derived documents.\n\nThe contents of an element context (what elements make it to the context) depend on the element of interest and are selected based on a hand-picked set of rules. However in many cases end user can further customize what and how needs to be in the context view.\n\nThe generated views are delivered as SVG images and do not persist in the model itself. This approach enables generation of large number of views at scale (in parallel) in the document production pipeline and also saves quite some XML space in the models. When you rely on generated views for documentation the models can stay lite as they only need to have the engineering / design views (that dont need to have a nice layout).\n\nThe layout work is done by [elkjs'](https://github.com/kieler/elkjs) Layered algorithm.\n\n## Generate **Context Diagrams** from your model data!\n\nWhen the extension is installed you get additional method `.context_diagram` available on those model elements that are already covered by context view definitions.\n\n### Simple context\n\n![Context diagram of **Left**](https://raw.githubusercontent.com/DSD-DBS/capellambse-context-diagrams/main/docs/assets/images/Context%20of%20Left.svg \"Context diagram of **Left**\")\n\n### Interface context\n\n![Interface context diagram of **Interface**](https://raw.githubusercontent.com/DSD-DBS/capellambse-context-diagrams/main/docs/assets/images/Interface%20Context%20of%20Interface.svg \"Interface context diagram of **Interface**\")\n\nHave a look at our [documentation](https://dsd-dbs.github.io/capellambse-context-diagrams/) to get started and see the capabilities of this extension.\n\n---\n\nSpecial thanks goes to the developers and maintainers of [Eclipse Layout Kernel\u2122](https://www.eclipse.org/elk/).\n\n# Licenses\n\nCopyright and license information added and maintained via the reuse tool from [Reuse Software](https://reuse.software/).\n\n***Copyright 2022 DB InfraGO AG, own contributions licensed under Apache 2.0 (see full text in [LICENSES/Apache-2.0](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/LICENSES/Apache-2.0.txt))***\n\n***Copyright (c) 2021 Kiel University and others, ELK/Sprotty contributions ([elkgraph-json.js](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/capellambse_context_diagrams/elkgraph-json.js) & [elkgraph-to-sprotty.js](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/capellambse_context_diagrams/elkgraph-to-sprotty.js)) licensed under EPL-2.0***\n\n***Dot-files licensed under CC0-1.0 (see full text in [LICENSES/CC0-1.0](https://github.com/DSD-DBS/capellambse-context-diagrams/blob/master/LICENSES/CC0-1.0.txt))***\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "Extension for py-capellambse that adds automatically generated context diagrams for arbitrary model elements.",
"version": "0.6.1",
"project_urls": {
"Documentation": "https://dsd-dbs.github.io/capellambse-context-diagrams",
"Homepage": "https://github.com/DSD-DBS/capellambse-context-diagrams"
},
"split_keywords": [
"capella",
" mbse",
" context",
" diagram",
" automatic diagrams"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "2d439d4eae4e21a215d9245d8a56526868810eb1730b43e51a5d1dd078aaf6bf",
"md5": "4209d09d3a2f511b6c7fbef6e09daa91",
"sha256": "3f842ad7c50d348628a5af07d56992e610b31e6cc8df9a9e87e10dea945063ad"
},
"downloads": -1,
"filename": "capellambse_context_diagrams-0.6.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4209d09d3a2f511b6c7fbef6e09daa91",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 55333,
"upload_time": "2024-12-10T18:25:39",
"upload_time_iso_8601": "2024-12-10T18:25:39.386109Z",
"url": "https://files.pythonhosted.org/packages/2d/43/9d4eae4e21a215d9245d8a56526868810eb1730b43e51a5d1dd078aaf6bf/capellambse_context_diagrams-0.6.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "50352d4cf020e02a2bd853ae77eb3577b856a66c92d3a82c05095f1404627be0",
"md5": "d365f2b89427e2321c0851174c8cac08",
"sha256": "9e4b038dd2c3039503086f607347d7d154fe62410432191e162ccd65b13dc4cc"
},
"downloads": -1,
"filename": "capellambse_context_diagrams-0.6.1.tar.gz",
"has_sig": false,
"md5_digest": "d365f2b89427e2321c0851174c8cac08",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 347162,
"upload_time": "2024-12-10T18:25:42",
"upload_time_iso_8601": "2024-12-10T18:25:42.277632Z",
"url": "https://files.pythonhosted.org/packages/50/35/2d4cf020e02a2bd853ae77eb3577b856a66c92d3a82c05095f1404627be0/capellambse_context_diagrams-0.6.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-10 18:25:42",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "DSD-DBS",
"github_project": "capellambse-context-diagrams",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "capellambse-context-diagrams"
}