pyMetaModel 0.5.1__tar.gz → 0.5.3__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 (107) hide show
  1. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/PKG-INFO +3 -2
  2. pymetamodel-0.5.3/meta/__init__.py +1 -0
  3. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/metamodel.py +5 -0
  4. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/version.py +2 -2
  5. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/test_sidif.py +9 -3
  6. pymetamodel-0.5.1/meta/__init__.py +0 -1
  7. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/.github/workflows/build.yml +0 -0
  8. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/.github/workflows/upload-to-pypi.yml +0 -0
  9. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/.gitignore +0 -0
  10. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/.project +0 -0
  11. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/.pydevproject +0 -0
  12. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/LICENSE +0 -0
  13. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/README.md +0 -0
  14. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/docs/index.md +0 -0
  15. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/ceur-ws/ceur-ws.mermaid +0 -0
  16. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/ceur-ws/ceur-ws.puml +0 -0
  17. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/ceur-ws/ceur-ws.py +0 -0
  18. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/ceur-ws/ceur-ws.sidif +0 -0
  19. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/ceur-ws/ceur-ws.xlsx +0 -0
  20. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/ceur-ws/ceur-ws.yaml +0 -0
  21. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/ceur-ws/ceur-ws_puml.txt +0 -0
  22. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/city/city.mermaid +0 -0
  23. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/city/city.puml +0 -0
  24. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/city/city.py +0 -0
  25. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/city/city.sidif +0 -0
  26. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/city/city.xlsx +0 -0
  27. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/city/city.yaml +0 -0
  28. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/city/city_puml.txt +0 -0
  29. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/family/FamilyContext.mermaid +0 -0
  30. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/family/FamilyContext.puml +0 -0
  31. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/family/FamilyContext.py +0 -0
  32. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/family/FamilyContext.sidif +0 -0
  33. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/family/FamilyContext.xlsx +0 -0
  34. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/family/FamilyContext.yaml +0 -0
  35. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/family/FamilyContext_puml.txt +0 -0
  36. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/infrastructure/infrastructure.mermaid +0 -0
  37. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/infrastructure/infrastructure.puml +0 -0
  38. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/infrastructure/infrastructure.py +0 -0
  39. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/infrastructure/infrastructure.sidif +0 -0
  40. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/infrastructure/infrastructure.xlsx +0 -0
  41. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/infrastructure/infrastructure.yaml +0 -0
  42. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/infrastructure/infrastructure_puml.txt +0 -0
  43. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/metamodel/metamodel.mermaid +0 -0
  44. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/metamodel/metamodel.puml +0 -0
  45. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/metamodel/metamodel.py +0 -0
  46. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/metamodel/metamodel.sidif +0 -0
  47. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/metamodel/metamodel.xlsx +0 -0
  48. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/metamodel/metamodel.yaml +0 -0
  49. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/metamodel/metamodel_puml.txt +0 -0
  50. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/scientific-events/scientific-events.mermaid +0 -0
  51. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/scientific-events/scientific-events.puml +0 -0
  52. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/scientific-events/scientific-events.py +0 -0
  53. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/scientific-events/scientific-events.sidif +0 -0
  54. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/scientific-events/scientific-events.xlsx +0 -0
  55. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/scientific-events/scientific-events.yaml +0 -0
  56. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/scientific-events/scientific-events_puml.txt +0 -0
  57. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smartRQM/smartRQM.mermaid +0 -0
  58. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smartRQM/smartRQM.puml +0 -0
  59. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smartRQM/smartRQM.py +0 -0
  60. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smartRQM/smartRQM.sidif +0 -0
  61. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smartRQM/smartRQM.yaml +0 -0
  62. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smartRQM/smartRQM_puml.txt +0 -0
  63. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smwcon/smwcon.mermaid +0 -0
  64. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smwcon/smwcon.puml +0 -0
  65. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smwcon/smwcon.py +0 -0
  66. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smwcon/smwcon.sidif +0 -0
  67. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smwcon/smwcon.xlsx +0 -0
  68. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smwcon/smwcon.yaml +0 -0
  69. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/smwcon/smwcon_puml.txt +0 -0
  70. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/teaching/TeachingSchema.mermaid +0 -0
  71. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/teaching/TeachingSchema.puml +0 -0
  72. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/teaching/TeachingSchema.py +0 -0
  73. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/teaching/TeachingSchema.sidif +0 -0
  74. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/teaching/TeachingSchema.xlsx +0 -0
  75. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/teaching/TeachingSchema.yaml +0 -0
  76. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/teaching/TeachingSchema_puml.txt +0 -0
  77. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/wiki/wiki.mermaid +0 -0
  78. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/wiki/wiki.puml +0 -0
  79. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/wiki/wiki.py +0 -0
  80. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/wiki/wiki.sidif +0 -0
  81. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/wiki/wiki.xlsx +0 -0
  82. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/wiki/wiki.yaml +0 -0
  83. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/examples/wiki/wiki_puml.txt +0 -0
  84. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/metamodel_cmd.py +0 -0
  85. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/mw.py +0 -0
  86. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/profiler.py +0 -0
  87. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/sidif2linkml.py +0 -0
  88. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/smw_type.py +0 -0
  89. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/meta/uml.py +0 -0
  90. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/metamodel.puml +0 -0
  91. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/mkdocs.yml +0 -0
  92. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/pyproject.toml +0 -0
  93. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/scripts/blackisort +0 -0
  94. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/scripts/doc +0 -0
  95. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/scripts/genexamples +0 -0
  96. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/scripts/install +0 -0
  97. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/scripts/release +0 -0
  98. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/scripts/test +0 -0
  99. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/__init__.py +0 -0
  100. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/basemwtest.py +0 -0
  101. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/basesmwtest.py +0 -0
  102. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/basetest.py +0 -0
  103. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/test_generators.py +0 -0
  104. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/test_linkml.py +0 -0
  105. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/test_metamodel.py +0 -0
  106. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/test_mw.py +0 -0
  107. {pymetamodel-0.5.1 → pymetamodel-0.5.3}/tests/test_plantuml.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: pyMetaModel
3
- Version: 0.5.1
3
+ Version: 0.5.3
4
4
  Dynamic: Summary
5
5
  Project-URL: Home, https://github.com/WolfgangFahl/pyMetaModel
6
6
  Project-URL: Documentation, https://wiki.bitplan.com/index.php/PyMetaModel
@@ -208,6 +208,7 @@ License: Apache License
208
208
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
209
209
  See the License for the specific language governing permissions and
210
210
  limitations under the License.
211
+ License-File: LICENSE
211
212
  Classifier: Development Status :: 4 - Beta
212
213
  Classifier: Environment :: Web Environment
213
214
  Classifier: Intended Audience :: Developers
@@ -0,0 +1 @@
1
+ __version__ = "0.5.3"
@@ -210,6 +210,7 @@ class Context(MetaModelElement):
210
210
  prop.type = "Page"
211
211
  prop.topicLink = tl
212
212
  prop.isLink = True
213
+ prop.showInGrid = False
213
214
  return prop
214
215
 
215
216
  @classmethod
@@ -603,6 +604,7 @@ class Topic(MetaModelElement):
603
604
  mainlabel: str = None,
604
605
  filterShowInGrid: bool = True,
605
606
  listLimit: int = None,
607
+ result_format: str="table"
606
608
  ) -> str:
607
609
  """
608
610
  Get the askQuery for the topic, considering inheritance.
@@ -632,6 +634,7 @@ class Topic(MetaModelElement):
632
634
  # Use the topic_name as prefix, which will be correct for inherited properties
633
635
  markup += f"|?{topic_name} {prop.name} = {prop.name}\n"
634
636
  markup += f"|limit={listLimit}\n"
637
+ markup += f"|format={result_format}\n"
635
638
  markup += f"""{self.askSort()}}}}}"""
636
639
  return markup
637
640
 
@@ -695,6 +698,8 @@ class Property(MetaModelElement):
695
698
  self.topicLink=None
696
699
  if hasattr(self, "scope"):
697
700
  pass
701
+ if not hasattr(self, "showInGrid"):
702
+ self.showInGrid=True
698
703
  pass
699
704
 
700
705
  class TopicLink(MetaModelElement):
@@ -16,12 +16,12 @@ class Version(object):
16
16
  description = "pyMetaModel: MetaModel for Knowledge Graphs"
17
17
  version = meta.__version__
18
18
  date = "2022-11-30"
19
- updated = "2024-11-27"
19
+ updated = "2025-05-12"
20
20
  authors = "Wolfgang Fahl"
21
21
  doc_url = "https://wiki.bitplan.com/index.php/pyMetaModel"
22
22
  chat_url = "https://github.com/WolfgangFahl/pyMetaModel/discussions"
23
23
  cm_url = "https://github.com/WolfgangFahl/pyMetaModel"
24
- license = f"""Copyright 2022-2024 contributors. All rights reserved.
24
+ license = f"""Copyright 2022-2025 contributors. All rights reserved.
25
25
  Licensed under the Apache License 2.0
26
26
  http://www.apache.org/licenses/LICENSE-2.0
27
27
  Distributed on an "AS IS" basis without warranties
@@ -18,6 +18,9 @@ class TestSiDIF(Basetest):
18
18
 
19
19
 
20
20
  def check_sidif(self,sidif_path,file)->Context:
21
+ """
22
+ check the given SiDIF input
23
+ """
21
24
  debug=self.debug
22
25
  context, error, errMsg = Context.fromSiDIF_input(sidif_path, debug=debug)
23
26
  self.assertFalse(error, f"Error in {file}: {errMsg}")
@@ -38,9 +41,12 @@ class TestSiDIF(Basetest):
38
41
 
39
42
  # Check if all properties have names and types
40
43
  for topic in context.topics.values():
41
- for prop in topic.properties.values():
42
- self.assertTrue(hasattr(prop, 'name'), f"Property without name in {file}")
43
- self.assertTrue(hasattr(prop, 'type'), f"Property without type in {file}")
44
+ for key, prop in topic.properties.items():
45
+ for needed_prop in ["name", "type", "showInGrid"]:
46
+ self.assertTrue(
47
+ hasattr(prop, needed_prop),
48
+ f"Property '{key}' missing attribute '{needed_prop}' in {file}"
49
+ )
44
50
  return context
45
51
 
46
52
 
@@ -1 +0,0 @@
1
- __version__ = "0.5.1"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes