pyArchimate 0.9.64__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. pyArchimate-0.9.64/LICENSE +19 -0
  2. pyArchimate-0.9.64/PKG-INFO +39 -0
  3. pyArchimate-0.9.64/README.md +22 -0
  4. pyArchimate-0.9.64/pyproject.toml +24 -0
  5. pyArchimate-0.9.64/setup.cfg +17 -0
  6. pyArchimate-0.9.64/src/pyArchimate/__init__.py +10 -0
  7. pyArchimate-0.9.64/src/pyArchimate/checker_rules.yml +4204 -0
  8. pyArchimate-0.9.64/src/pyArchimate/logger.py +57 -0
  9. pyArchimate-0.9.64/src/pyArchimate/pyArchimate.py +3437 -0
  10. pyArchimate-0.9.64/src/pyArchimate/readers/__init__.py +4 -0
  11. pyArchimate-0.9.64/src/pyArchimate/readers/archiReader.py +293 -0
  12. pyArchimate-0.9.64/src/pyArchimate/readers/archimateReader.py +289 -0
  13. pyArchimate-0.9.64/src/pyArchimate/readers/arisAMLreader.py +508 -0
  14. pyArchimate-0.9.64/src/pyArchimate/writers/__init__.py +0 -0
  15. pyArchimate-0.9.64/src/pyArchimate/writers/archiWriter.py +296 -0
  16. pyArchimate-0.9.64/src/pyArchimate/writers/archimateWriter.py +333 -0
  17. pyArchimate-0.9.64/src/pyArchimate/writers/csvWriter.py +71 -0
  18. pyArchimate-0.9.64/src/pyArchimate.egg-info/PKG-INFO +39 -0
  19. pyArchimate-0.9.64/src/pyArchimate.egg-info/SOURCES.txt +26 -0
  20. pyArchimate-0.9.64/src/pyArchimate.egg-info/dependency_links.txt +1 -0
  21. pyArchimate-0.9.64/src/pyArchimate.egg-info/requires.txt +3 -0
  22. pyArchimate-0.9.64/src/pyArchimate.egg-info/top_level.txt +1 -0
  23. pyArchimate-0.9.64/src/pyArchimate.egg-info/zip-safe +1 -0
  24. pyArchimate-0.9.64/tests/test_aml_reader.py +11 -0
  25. pyArchimate-0.9.64/tests/test_archi_reader.py +14 -0
  26. pyArchimate-0.9.64/tests/test_archi_writer.py +11 -0
  27. pyArchimate-0.9.64/tests/test_pyArchimate.py +746 -0
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2018 The Python Packaging Authority
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
@@ -0,0 +1,39 @@
1
+ Metadata-Version: 2.1
2
+ Name: pyArchimate
3
+ Version: 0.9.64
4
+ Summary: A library to create & manage Archimate files
5
+ Author-email: Xavier Mayeur <xavier@mayeur.be>
6
+ Project-URL: Homepage, https://github.com/pyArchimate/pyArchimate
7
+ Project-URL: Bug Tracker, https://github.com/pyArchimate/pyArchimate/issues
8
+ Classifier: Programming Language :: Python :: 3
9
+ Classifier: License :: OSI Approved :: MIT License
10
+ Classifier: Operating System :: OS Independent
11
+ Requires-Python: >=3.7
12
+ Description-Content-Type: text/markdown
13
+ License-File: LICENSE
14
+ Requires-Dist: lxml
15
+ Requires-Dist: oyaml
16
+ Requires-Dist: pillow
17
+
18
+ # pyArchimate package
19
+
20
+
21
+ pyArchimate is a Python library to manage [Open Group Archimate ](https://www.opengroup.org/xsd/archimate/) files.
22
+
23
+ It enables to:
24
+
25
+ * Read or write a file in Archimate xml format
26
+ * create new models
27
+ * Create, update and delete Archimate artefacts
28
+ * Create, update and delete diagrams
29
+
30
+ The following artefacts are implemented as per the metamodel here below:
31
+
32
+ * Model: a set of architecture concepts that relate together and their visual representation in views
33
+ * View: a specific visualization of element and their conns in a diagram
34
+ * Element: architectural concepts of Archimate language
35
+ * Relationship: the architectural concept expressing the relation between two Elements
36
+ * Node: the visual representation of an Element in a View
37
+ * Connection: the visual representation of a Relationship in a View
38
+
39
+ ![](docs/metaModel.png)
@@ -0,0 +1,22 @@
1
+ # pyArchimate package
2
+
3
+
4
+ pyArchimate is a Python library to manage [Open Group Archimate ](https://www.opengroup.org/xsd/archimate/) files.
5
+
6
+ It enables to:
7
+
8
+ * Read or write a file in Archimate xml format
9
+ * create new models
10
+ * Create, update and delete Archimate artefacts
11
+ * Create, update and delete diagrams
12
+
13
+ The following artefacts are implemented as per the metamodel here below:
14
+
15
+ * Model: a set of architecture concepts that relate together and their visual representation in views
16
+ * View: a specific visualization of element and their conns in a diagram
17
+ * Element: architectural concepts of Archimate language
18
+ * Relationship: the architectural concept expressing the relation between two Elements
19
+ * Node: the visual representation of an Element in a View
20
+ * Connection: the visual representation of a Relationship in a View
21
+
22
+ ![](docs/metaModel.png)
@@ -0,0 +1,24 @@
1
+ [project]
2
+ name = "pyArchimate"
3
+ version = "0.9.64"
4
+ authors = [
5
+ { name="Xavier Mayeur", email="xavier@mayeur.be" }
6
+ ]
7
+ description = "A library to create & manage Archimate files"
8
+ readme = "README.md"
9
+ requires-python = ">=3.7"
10
+ classifiers = [
11
+ "Programming Language :: Python :: 3",
12
+ "License :: OSI Approved :: MIT License",
13
+ "Operating System :: OS Independent",
14
+ ]
15
+ dependencies = ['lxml', 'oyaml', 'pillow']
16
+
17
+ [project.urls]
18
+ "Homepage" = "https://github.com/pyArchimate/pyArchimate"
19
+ "Bug Tracker" = "https://github.com/pyArchimate/pyArchimate/issues"
20
+
21
+ [build-system]
22
+ requires = ["setuptools>=61.0"]
23
+ build-backend = "setuptools.build_meta"
24
+
@@ -0,0 +1,17 @@
1
+ [options]
2
+ zip_safe = True
3
+ include_package_data = True
4
+ package_dir =
5
+ =src
6
+ packages = find:
7
+
8
+ [options.packages.find]
9
+ where = src
10
+
11
+ [options.package_data]
12
+ * = checker_rules.yml
13
+
14
+ [egg_info]
15
+ tag_build =
16
+ tag_date = 0
17
+
@@ -0,0 +1,10 @@
1
+ import os
2
+ import sys
3
+ import lxml.etree as et
4
+ from collections import defaultdict
5
+ # sys.path.append(os.path.dirname(os.path.realpath(__file__)))
6
+
7
+ from .logger import log, log_set_level, log_to_stderr, log_to_file
8
+ from .pyArchimate import Model, View, Element, Node, Relationship, AccessType, archi_category, set_id, ARIS_type_map, \
9
+ ArchimateRelationshipError, ArchimateConceptTypeError, get_default_rel_type, Point, RGBA, ArchiType, \
10
+ check_valid_relationship, default_color, default_theme, TextPosition, TextAlignment, Position