deriva-cli 0.8.4__tar.gz → 0.8.6__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 (203) hide show
  1. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/PKG-INFO +1 -1
  2. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/config.py +28 -0
  3. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/derivation.py +13 -2
  4. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/ontology.py +2 -1
  5. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/session.py +6 -0
  6. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/pyproject.toml +1 -1
  7. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/pyproject.toml.orig +1 -1
  8. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/LICENSE +0 -0
  9. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/README.md +0 -0
  10. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/__init__.py +0 -0
  11. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/documentation/Diagram.html +0 -0
  12. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/documentation/View.html +0 -0
  13. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/documentation/model.html +0 -0
  14. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/examples/archimate3_Diagram.xsd +0 -0
  15. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/examples/archimate3_Model.xsd +0 -0
  16. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/examples/archimate3_View.xsd +0 -0
  17. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/schemas/archimate3_Diagram.xsd +0 -0
  18. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/schemas/archimate3_Model.xsd +0 -0
  19. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/schemas/archimate3_View.xsd +0 -0
  20. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-1.xml +0 -0
  21. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-10.xml +0 -0
  22. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-2.xml +0 -0
  23. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-3.xml +0 -0
  24. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-4.xml +0 -0
  25. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-5.xml +0 -0
  26. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-7.xml +0 -0
  27. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-8.xml +0 -0
  28. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/archimate_xsd/snippets/Interoperability testing snippet-9.xml +0 -0
  29. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/manager.py +0 -0
  30. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/models.py +0 -0
  31. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/validation.py +0 -0
  32. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/views.py +0 -0
  33. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/archimate/xml_export.py +0 -0
  34. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/README.md +0 -0
  35. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/__init__.py +0 -0
  36. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/data/derivation_config.json +0 -0
  37. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/data/derivation_patterns.json +0 -0
  38. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/data/extraction_config.json +0 -0
  39. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/data/file_types.json +0 -0
  40. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/data/function_models/pcf-8.0-cross-industry.csv +0 -0
  41. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/data/system_settings.json +0 -0
  42. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/db_tool.py +0 -0
  43. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/manager.py +0 -0
  44. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/scripts/7_extraction_params.sql +0 -0
  45. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/database/scripts/schema.sql +0 -0
  46. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/grafeo/__init__.py +0 -0
  47. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/grafeo/manager.py +0 -0
  48. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/graph/README.md +0 -0
  49. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/graph/__init__.py +0 -0
  50. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/graph/cache.py +0 -0
  51. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/graph/manager.py +0 -0
  52. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/graph/metamodel.py +0 -0
  53. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/graph/models.py +0 -0
  54. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/README.md +0 -0
  55. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/__init__.py +0 -0
  56. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/cache.py +0 -0
  57. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/manager.py +0 -0
  58. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/model_registry.py +0 -0
  59. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/models.py +0 -0
  60. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/rate_limiter.py +0 -0
  61. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/retry.py +0 -0
  62. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/llm/schemas.py +0 -0
  63. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/__init__.py +0 -0
  64. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/extract.py +0 -0
  65. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/language.py +0 -0
  66. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/manager.py +0 -0
  67. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/models.py +0 -0
  68. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/phrases.py +0 -0
  69. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/settings.py +0 -0
  70. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/text.py +0 -0
  71. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/nlp/translate.py +0 -0
  72. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/repository/README.md +0 -0
  73. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/repository/__init__.py +0 -0
  74. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/repository/manager.py +0 -0
  75. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/repository/models.py +0 -0
  76. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/__init__.py +0 -0
  77. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/cdk.py +0 -0
  78. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/__init__.py +0 -0
  79. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/base.py +0 -0
  80. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/bms.py +0 -0
  81. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/cobol.py +0 -0
  82. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/csharp.py +0 -0
  83. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/java.py +0 -0
  84. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/javascript.py +0 -0
  85. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/jcl.py +0 -0
  86. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/python.py +0 -0
  87. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/sql.py +0 -0
  88. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/languages/structural.py +0 -0
  89. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/manager.py +0 -0
  90. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/adapters/treesitter/models.py +0 -0
  91. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/README.md +0 -0
  92. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/__init__.py +0 -0
  93. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/cli.py +0 -0
  94. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/commands/__init__.py +0 -0
  95. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/commands/config.py +0 -0
  96. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/commands/graph.py +0 -0
  97. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/commands/repo.py +0 -0
  98. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/commands/run.py +0 -0
  99. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/cli/progress.py +0 -0
  100. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/__init__.py +0 -0
  101. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/cache_utils.py +0 -0
  102. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/chunking.py +0 -0
  103. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/document_reader.py +0 -0
  104. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/exceptions.py +0 -0
  105. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/file_utils.py +0 -0
  106. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/json_utils.py +0 -0
  107. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/llm_utils.py +0 -0
  108. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/logging.py +0 -0
  109. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/naming.py +0 -0
  110. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/ocel.py +0 -0
  111. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/paths.py +0 -0
  112. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/schema_utils.py +0 -0
  113. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/settings.py +0 -0
  114. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/time_utils.py +0 -0
  115. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/timing.py +0 -0
  116. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/types.py +0 -0
  117. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/common/urls.py +0 -0
  118. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/__init__.py +0 -0
  119. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/__init__.py +0 -0
  120. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/consistency.py +0 -0
  121. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/conventions.py +0 -0
  122. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/cross_repo_analysis.py +0 -0
  123. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/deviation.py +0 -0
  124. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/fit_analysis.py +0 -0
  125. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/model_quality.py +0 -0
  126. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/run_consistency.py +0 -0
  127. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/semantic_matching.py +0 -0
  128. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/stability_analysis.py +0 -0
  129. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/analysis/types.py +0 -0
  130. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/__init__.py +0 -0
  131. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/application_component.py +0 -0
  132. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/application_interface.py +0 -0
  133. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/application_service.py +0 -0
  134. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/base.py +0 -0
  135. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/business_actor.py +0 -0
  136. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/business_event.py +0 -0
  137. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/business_function.py +0 -0
  138. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/business_object.py +0 -0
  139. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/business_process.py +0 -0
  140. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/component_services.py +0 -0
  141. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/data_object.py +0 -0
  142. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/detail_level.py +0 -0
  143. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/device.py +0 -0
  144. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/element_base.py +0 -0
  145. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/function_model.py +0 -0
  146. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/levels.py +0 -0
  147. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/node.py +0 -0
  148. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/prep.py +0 -0
  149. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/quality.py +0 -0
  150. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/__init__.py +0 -0
  151. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/abstraction_levels.py +0 -0
  152. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/base.py +0 -0
  153. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/cross_layer.py +0 -0
  154. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/duplicate_elements.py +0 -0
  155. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/duplicate_relationships.py +0 -0
  156. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/graph_relationships.py +0 -0
  157. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/joint.py +0 -0
  158. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/joint_consistency.py +0 -0
  159. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/normalization.py +0 -0
  160. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/orphan_elements.py +0 -0
  161. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/refine/structural_consistency.py +0 -0
  162. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/system_software.py +0 -0
  163. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/derivation/technology_service.py +0 -0
  164. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/__init__.py +0 -0
  165. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/base.py +0 -0
  166. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/build_modules.py +0 -0
  167. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/business_concept.py +0 -0
  168. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/classification.py +0 -0
  169. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/concept_candidates.py +0 -0
  170. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/cooperation.py +0 -0
  171. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/coverage.py +0 -0
  172. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/data_domains.py +0 -0
  173. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/data_entities.py +0 -0
  174. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/deployable_units.py +0 -0
  175. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/deployments.py +0 -0
  176. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/directory.py +0 -0
  177. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/directory_classification.py +0 -0
  178. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/edges.py +0 -0
  179. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/external_dependency.py +0 -0
  180. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/file.py +0 -0
  181. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/lifecycles.py +0 -0
  182. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/method.py +0 -0
  183. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/repository.py +0 -0
  184. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/roles.py +0 -0
  185. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/step_tags.py +0 -0
  186. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/technologies.py +0 -0
  187. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/technology_candidates.py +0 -0
  188. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/test.py +0 -0
  189. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/modules/extraction/type_definition.py +0 -0
  190. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/__init__.py +0 -0
  191. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/about.py +0 -0
  192. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/config_models.py +0 -0
  193. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/export_bundle.py +0 -0
  194. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/export_levels.py +0 -0
  195. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/extraction.py +0 -0
  196. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/llm_log.py +0 -0
  197. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/model_configs.py +0 -0
  198. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/overfit.py +0 -0
  199. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/pipeline.py +0 -0
  200. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/quality.py +0 -0
  201. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/storage.py +0 -0
  202. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/deriva/services/trace.py +0 -0
  203. {deriva_cli-0.8.4 → deriva_cli-0.8.6}/packages/README-deriva-cli.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: deriva-cli
3
- Version: 0.8.4
3
+ Version: 0.8.6
4
4
  Summary: Deriva is a research project aimed at enabling digital architects by automating the derivation of enterprise architecture models. Deriva uses dual knowledge graphs, heuristics and LLM's.
5
5
  Keywords: archimate,enterprise-architecture,code-analysis,llm,grafeo,fastapi
6
6
  Author: S. T. Grond
@@ -713,9 +713,35 @@ def setting_default(key: str) -> str | None:
713
713
  """The value that applies while a setting is not set (None when nothing does)."""
714
714
  if key == "excluded_directories":
715
715
  return json.dumps(DEFAULT_EXCLUDED_DIRECTORIES)
716
+ if key == GRAPH_VIEW_NODES_SETTING:
717
+ return str(DEFAULT_GRAPH_VIEW_NODES)
716
718
  return None
717
719
 
718
720
 
721
+ # How many graph nodes the studio's graph views sample (the model is always shown whole); more shows more of the graph
722
+ # and draws slower. A display setting: it changes no extraction or derivation result.
723
+ GRAPH_VIEW_NODES_SETTING = "graph_view_nodes"
724
+ DEFAULT_GRAPH_VIEW_NODES = 300
725
+ GRAPH_VIEW_NODES_RANGE = (50, 5000)
726
+
727
+
728
+ def _parse_graph_view_nodes(raw: str) -> int:
729
+ low, high = GRAPH_VIEW_NODES_RANGE
730
+ text = raw.strip()
731
+ if not text.isdigit() or not low <= int(text) <= high:
732
+ raise ValueError(f"graph_view_nodes must be a whole number from {low} to {high}, not {raw!r}")
733
+ return int(text)
734
+
735
+
736
+ def get_graph_view_nodes(engine: Any) -> int:
737
+ """The graph views' node count: the graph_view_nodes setting, or 300 while it is not set (or not a valid count)."""
738
+ raw = get_setting(engine, GRAPH_VIEW_NODES_SETTING)
739
+ try:
740
+ return DEFAULT_GRAPH_VIEW_NODES if raw is None else _parse_graph_view_nodes(raw)
741
+ except ValueError:
742
+ return DEFAULT_GRAPH_VIEW_NODES
743
+
744
+
719
745
  def get_excluded_directories(engine: Any) -> list[str]:
720
746
  """Directory names skipped (with their contents) by every repository walk.
721
747
 
@@ -752,6 +778,8 @@ def set_setting(engine: Any, key: str, value: str) -> None:
752
778
  """Set a system setting (upsert); settings read as structured values are validated first."""
753
779
  if key == "excluded_directories":
754
780
  _parse_excluded_directories(value)
781
+ if key == GRAPH_VIEW_NODES_SETTING:
782
+ value = str(_parse_graph_view_nodes(value))
755
783
  existing = get_setting(engine, key)
756
784
  if existing is not None:
757
785
  engine.execute(
@@ -1411,6 +1411,12 @@ def _run_prep_step(
1411
1411
  # =============================================================================
1412
1412
 
1413
1413
 
1414
+ def _model_totals(archimate_manager: ArchimateManager) -> str:
1415
+ """The closing summary: what the model holds, counted as the studio's model stats count it. The step counters
1416
+ miss what refine steps add and delete (graph relationships, duplicates), so they stay in ``stats`` only."""
1417
+ return f"{len(archimate_manager.get_elements())} elements, {len(archimate_manager.get_relationships())} relationships in the model"
1418
+
1419
+
1414
1420
  def run_derivation(
1415
1421
  engine: Any,
1416
1422
  graph_manager: GraphManager,
@@ -1501,6 +1507,8 @@ def run_derivation(
1501
1507
  total_steps += len(gen_configs)
1502
1508
  if "refine" in phases:
1503
1509
  total_steps += len(refine_configs)
1510
+ if relationship_pass:
1511
+ total_steps += 1
1504
1512
 
1505
1513
  # Start progress tracking
1506
1514
  if progress:
@@ -1905,7 +1913,7 @@ def run_derivation(
1905
1913
 
1906
1914
  # Complete progress tracking
1907
1915
  if progress:
1908
- msg = f"Derivation complete: {stats['elements_created']} elements, {stats['relationships_created']} relationships"
1916
+ msg = f"Derivation complete: {_model_totals(archimate_manager)}"
1909
1917
  if stats.get("elements_disabled", 0) > 0:
1910
1918
  msg += f", {stats['elements_disabled']} disabled"
1911
1919
  progress.complete_phase(msg)
@@ -1992,6 +2000,9 @@ def run_derivation_iter(
1992
2000
  stats=stats,
1993
2001
  )
1994
2002
  return
2003
+ # The deferred relationship pass is a step of its own (it runs when the model has elements)
2004
+ if defer_relationships:
2005
+ total_steps += 1
1995
2006
 
1996
2007
  current_step = 0
1997
2008
 
@@ -2332,7 +2343,7 @@ def run_derivation_iter(
2332
2343
  )
2333
2344
 
2334
2345
  # Yield final completion
2335
- final_message = f"{stats['elements_created']} elements, {stats['relationships_created']} relationships"
2346
+ final_message = _model_totals(archimate_manager)
2336
2347
  if stats.get("elements_disabled", 0) > 0:
2337
2348
  final_message += f", {stats['elements_disabled']} disabled"
2338
2349
  if errors:
@@ -57,7 +57,8 @@ def intermediate_ontology(session: Any) -> dict[str, Any]:
57
57
  for label in sorted(set(classes) | set(counts), key=lambda name: (order.get(node_group(name), len(order)), name)):
58
58
  rows = run(f"MATCH (n:Graph:`{label}`) RETURN n LIMIT 1", None) if counts[label] else []
59
59
  sample = {k: _short(v) for k, v in rows[0]["n"].items() if not k.startswith("_")} if rows else {}
60
- pattern = re.compile(rf":`?(Graph:)?{re.escape(label)}\b")
60
+ # A query reads a type by matching it (n:Graph:Label) or by testing its labels ("Label" IN labels(n))
61
+ pattern = re.compile(rf":`?(Graph:)?{re.escape(label)}\b|[\"']{re.escape(label)}[\"']\s+IN\s+labels\(")
61
62
  producers = sorted(writers.get(label) or ({label} if label in steps else set()))
62
63
  node_types.append(
63
64
  {
@@ -1349,6 +1349,12 @@ class PipelineSession:
1349
1349
  assert self._engine is not None
1350
1350
  return config.get_active_config_versions(self._engine, include_disabled=include_disabled)
1351
1351
 
1352
+ def graph_view_nodes(self) -> int:
1353
+ """How many graph nodes the studio's graph views sample (the graph_view_nodes setting, 300 until set)."""
1354
+ self._ensure_connected()
1355
+ assert self._engine is not None
1356
+ return config.get_graph_view_nodes(self._engine)
1357
+
1352
1358
  def get_setting(self, key: str) -> str | None:
1353
1359
  """Get a system setting value (None when not set)."""
1354
1360
  self._ensure_connected()
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "deriva-cli"
3
- version = "0.8.4"
3
+ version = "0.8.6"
4
4
  description = "Deriva is a research project aimed at enabling digital architects by automating the derivation of enterprise architecture models. Deriva uses dual knowledge graphs, heuristics and LLM's."
5
5
  readme = "packages/README-deriva-cli.md"
6
6
  requires-python = ">=3.14"
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "deriva-cli"
3
- version = "0.8.4"
3
+ version = "0.8.6"
4
4
  description = "Deriva is a research project aimed at enabling digital architects by automating the derivation of enterprise architecture models. Deriva uses dual knowledge graphs, heuristics and LLM's."
5
5
  # The PyPI page; README.md is the repository's own
6
6
  readme = "packages/README-deriva-cli.md"
File without changes
File without changes