moderne-visualizations-misc 0.68.0__tar.gz → 0.70.0__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 (212) hide show
  1. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/PKG-INFO +3 -11
  2. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/README.md +4 -1
  3. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/call_graph_uml.ipynb +1 -1
  4. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/cobol_relationships_data_grid.ipynb +0 -1
  5. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/comment_language_distribution.ipynb +1 -1
  6. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/composite_recipe_results_sankey.ipynb +179 -0
  7. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_vulnerabilities.ipynb +0 -1
  8. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_vulnerabilities_npm.ipynb +0 -1
  9. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_vulnerabilities_nuget.ipynb +0 -1
  10. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/embeddings_clustering.ipynb +1 -2
  11. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/eslint_problems.ipynb +1 -2
  12. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/find_source_files.ipynb +1 -1
  13. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/get_embeddings_and_cluster.ipynb +24 -13
  14. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/images/ui5lint_rule_treemap.300.png +0 -0
  15. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/images/ui5lint_violations_heatmap.300.png +0 -0
  16. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/java_versions_by_sourceset.ipynb +15 -15
  17. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/java_versions_in_use.ipynb +14 -18
  18. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/parse_failure_stacktraces.ipynb +0 -2
  19. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/recommendations.ipynb +1 -1
  20. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/specs/ui5lint_rule_treemap.yml +7 -0
  21. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/specs/ui5lint_violations_heatmap.yml +7 -0
  22. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/spring_component_relationships.ipynb +188 -0
  23. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/ui5lint_rule_treemap.ipynb +110 -0
  24. moderne_visualizations_misc-0.70.0/moderne_visualizations_misc/ui5lint_violations_heatmap.ipynb +76 -0
  25. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc.egg-info/PKG-INFO +3 -11
  26. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc.egg-info/SOURCES.txt +7 -1
  27. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc.egg-info/requires.txt +0 -11
  28. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/pyproject.toml +9 -6
  29. moderne_visualizations_misc-0.68.0/moderne_visualizations_misc/composite_recipe_results_sankey.ipynb +0 -167
  30. moderne_visualizations_misc-0.68.0/moderne_visualizations_misc/spring_component_relationships.ipynb +0 -189
  31. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/MANIFEST.in +0 -0
  32. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/__init__.py +0 -0
  33. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/call_graph_data_grid.ipynb +0 -0
  34. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/cobol_find_copybook.ipynb +0 -0
  35. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/cobol_relationships.ipynb +0 -0
  36. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view.ipynb +0 -0
  37. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs.ipynb +0 -0
  38. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_build_tools.ipynb +0 -0
  39. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_db.ipynb +0 -0
  40. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_forms.ipynb +0 -0
  41. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_lint.ipynb +0 -0
  42. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_rtc.ipynb +0 -0
  43. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_security.ipynb +0 -0
  44. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_ss.ipynb +0 -0
  45. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_state.ipynb +0 -0
  46. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_testing.ipynb +0 -0
  47. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_ui.ipynb +0 -0
  48. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_tree_view_nodejs_utility.ipynb +0 -0
  49. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin.ipynb +0 -0
  50. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_gradle.ipynb +0 -0
  51. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_jackson.ipynb +0 -0
  52. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_maven.ipynb +0 -0
  53. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs.ipynb +0 -0
  54. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_build_tools.ipynb +0 -0
  55. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_db.ipynb +0 -0
  56. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_forms.ipynb +0 -0
  57. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_lint.ipynb +0 -0
  58. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_rtc.ipynb +0 -0
  59. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_security.ipynb +0 -0
  60. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_ss.ipynb +0 -0
  61. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_state.ipynb +0 -0
  62. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_testing.ipynb +0 -0
  63. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_ui.ipynb +0 -0
  64. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nodejs_utility.ipynb +0 -0
  65. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/dependency_usage_violin_nuget.ipynb +0 -0
  66. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/effective_maven_settings.ipynb +0 -0
  67. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/eslint_problems_by_repo.ipynb +0 -0
  68. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/find_methods.ipynb +0 -0
  69. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/find_methods_ai.ipynb +0 -0
  70. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/find_methods_ai_generate_yaml.ipynb +0 -0
  71. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/github_secrets_in_use.ipynb +0 -0
  72. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/gradle_wrappers.ipynb +0 -0
  73. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/call_graph_data_grid.300.png +0 -0
  74. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/call_graph_uml.300.png +0 -0
  75. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/cobol_find_copybook.300.png +0 -0
  76. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/cobol_relationships.300.png +0 -0
  77. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/cobol_relationships_data_grid.300.png +0 -0
  78. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/comment_language_distribution.300.png +0 -0
  79. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/composite_recipe_results_sankey.300.png +0 -0
  80. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view.300.png +0 -0
  81. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs.300.png +0 -0
  82. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_build_tools.300.png +0 -0
  83. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_db.300.png +0 -0
  84. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_forms.300.png +0 -0
  85. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_lint.300.png +0 -0
  86. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_rtc.300.png +0 -0
  87. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_security.300.png +0 -0
  88. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_ss.300.png +0 -0
  89. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_state.300.png +0 -0
  90. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_testing.300.png +0 -0
  91. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_ui.300.png +0 -0
  92. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_tree_view_nodejs_utility.300.png +0 -0
  93. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin.300.png +0 -0
  94. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_gradle.300.png +0 -0
  95. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_jackson.300.png +0 -0
  96. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_maven.300.png +0 -0
  97. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs.300.png +0 -0
  98. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_build_tools.300.png +0 -0
  99. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_db.300.png +0 -0
  100. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_forms.300.png +0 -0
  101. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_lint.300.png +0 -0
  102. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_rtc.300.png +0 -0
  103. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_security.300.png +0 -0
  104. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_ss.300.png +0 -0
  105. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_state.300.png +0 -0
  106. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_testing.300.png +0 -0
  107. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_ui.300.png +0 -0
  108. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nodejs_utility.300.png +0 -0
  109. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_usage_violin_nuget.300.png +0 -0
  110. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_vulnerabilities.300.png +0 -0
  111. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_vulnerabilities_npm.300.png +0 -0
  112. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/dependency_vulnerabilities_nuget.300.png +0 -0
  113. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/eslint_problems.300.png +0 -0
  114. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/eslint_problems_by_repo.300.png +0 -0
  115. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/find_methods.300.png +0 -0
  116. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/find_methods_ai.300.png +0 -0
  117. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/find_methods_ai_generate_yaml.300.png +0 -0
  118. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/github_secrets_in_use.300.png +0 -0
  119. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/gradle_wrappers.300.png +0 -0
  120. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/language_composition.300.png +0 -0
  121. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/language_composition_by_folder.300.png +0 -0
  122. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/language_composition_by_repo.300.png +0 -0
  123. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/maven_parent_poms.300.png +0 -0
  124. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/parse_failure_stacktraces.300.png +0 -0
  125. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/recipe_performance.300.png +0 -0
  126. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/spring_component_relationships.300.png +0 -0
  127. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/spring_component_relationships_data_grid.300.png +0 -0
  128. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/spring_components_data_grid.300.png +0 -0
  129. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/sql_crud.300.png +0 -0
  130. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/images/text_matches_tree_grid.300.png +0 -0
  131. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/language_composition.ipynb +0 -0
  132. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/language_composition_by_folder.ipynb +0 -0
  133. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/language_composition_by_repo.ipynb +0 -0
  134. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/lst_provenance.ipynb +0 -0
  135. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/maven_parent_poms.ipynb +0 -0
  136. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/recipe_performance.ipynb +0 -0
  137. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/resources/plantuml.jar +0 -0
  138. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/reusable/tree_view_nodejs.py +0 -0
  139. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/reusable/violin_nodejs.py +0 -0
  140. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/call_graph_data_grid.yml +0 -0
  141. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/call_graph_uml.yml +0 -0
  142. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/cobol_find_copybook.yml +0 -0
  143. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/cobol_relationships.yml +0 -0
  144. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/cobol_relationships_data_grid.yml +0 -0
  145. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/comment_language_distribution.yml +0 -0
  146. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/composite_recipe_results_sankey.yml +0 -0
  147. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view.yml +0 -0
  148. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs.yml +0 -0
  149. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_build_tools.yml +0 -0
  150. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_db.yml +0 -0
  151. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_forms.yml +0 -0
  152. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_lint.yml +0 -0
  153. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_rtc.yml +0 -0
  154. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_security.yml +0 -0
  155. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ss.yml +0 -0
  156. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_state.yml +0 -0
  157. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_testing.yml +0 -0
  158. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ui.yml +0 -0
  159. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_tree_view_nodejs_utility.yml +0 -0
  160. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin.yml +0 -0
  161. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_gradle.yml +0 -0
  162. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_jackson.yml +0 -0
  163. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_maven.yml +0 -0
  164. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs.yml +0 -0
  165. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_build_tools.yml +0 -0
  166. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_db.yml +0 -0
  167. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_forms.yml +0 -0
  168. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_lint.yml +0 -0
  169. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_rtc.yml +0 -0
  170. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_security.yml +0 -0
  171. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_ss.yml +0 -0
  172. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_state.yml +0 -0
  173. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_testing.yml +0 -0
  174. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_ui.yml +0 -0
  175. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_utility.yml +0 -0
  176. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_usage_violin_nuget.yml +0 -0
  177. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_vulnerabilities.yml +0 -0
  178. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_vulnerabilities_npm.yml +0 -0
  179. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/dependency_vulnerabilities_nuget.yml +0 -0
  180. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/effective_maven_settings.yml +0 -0
  181. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/embeddings_clustering.yml +0 -0
  182. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/eslint_problems.yml +0 -0
  183. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/eslint_problems_by_repo.yml +0 -0
  184. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/find_methods.yml +0 -0
  185. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/find_methods_ai.yml +0 -0
  186. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/find_methods_ai_generate_yaml.yml +0 -0
  187. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/find_source_files.yml +0 -0
  188. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/get_embeddings_and_cluster.yml +0 -0
  189. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/github_secrets_in_use.yml +0 -0
  190. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/gradle_wrappers.yml +0 -0
  191. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/java_versions_by_sourceset.yml +0 -0
  192. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/java_versions_in_use.yml +0 -0
  193. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/language_composition.yml +0 -0
  194. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/language_composition_by_folder.yml +0 -0
  195. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/language_composition_by_repo.yml +0 -0
  196. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/lst_provenance.yml +0 -0
  197. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/maven_parent_poms.yml +0 -0
  198. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/parse_failure_stacktraces.yml +0 -0
  199. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/recipe_performance.yml +0 -0
  200. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/recommendations.yml +0 -0
  201. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/spring_component_relationships.yml +0 -0
  202. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/spring_component_relationships_data_grid.yml +0 -0
  203. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/spring_components_data_grid.yml +0 -0
  204. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/sql_crud.yml +0 -0
  205. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/specs/text_matches_tree_grid.yml +0 -0
  206. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/spring_component_relationships_data_grid.ipynb +0 -0
  207. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/spring_components_data_grid.ipynb +0 -0
  208. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/sql_crud.ipynb +0 -0
  209. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc/text_matches_tree_grid.ipynb +0 -0
  210. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc.egg-info/dependency_links.txt +0 -0
  211. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/moderne_visualizations_misc.egg-info/top_level.txt +0 -0
  212. {moderne_visualizations_misc-0.68.0 → moderne_visualizations_misc-0.70.0}/setup.cfg +0 -0
@@ -1,10 +1,11 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: moderne_visualizations_misc
3
- Version: 0.68.0
3
+ Version: 0.70.0
4
4
  Summary: Miscellaneous visualizations for the Moderne platform
5
5
  Author-email: Jonathan Schneider <jonathan@moderne.io>, Kyle Scully <kyle@moderne.io>
6
6
  License: Apache-2.0
7
7
  Project-URL: Homepage, https://github.com/moderneinc/visualizations-misc
8
+ Requires-Python: >=3.9
8
9
  Requires-Dist: code-data-science==2.1.2
9
10
  Requires-Dist: graphviz==0.20.1
10
11
  Requires-Dist: ipython==8.13.0
@@ -16,12 +17,3 @@ Requires-Dist: typing-extensions
16
17
  Requires-Dist: umap-learn==0.5.5
17
18
  Requires-Dist: networkx==3.1
18
19
  Requires-Dist: numpy==1.24.4
19
- Provides-Extra: dev
20
- Requires-Dist: poethepoet; extra == "dev"
21
- Requires-Dist: nbqa; extra == "dev"
22
- Requires-Dist: black; extra == "dev"
23
- Requires-Dist: nb_mypy; extra == "dev"
24
- Provides-Extra: ci
25
- Requires-Dist: poethepoet; extra == "ci"
26
- Requires-Dist: python-semantic-release; extra == "ci"
27
- Requires-Dist: papermill; extra == "ci"
@@ -18,10 +18,13 @@ jupyter notebook
18
18
 
19
19
  ## Contributing
20
20
 
21
+ Install [uv](https://docs.astral.sh/uv/getting-started/installation/)
22
+
21
23
  Install development requirements:
22
24
 
23
25
  ```bash
24
- pip install ".[dev]"
26
+ uv sync --dev
27
+ source .venv/bin/activate
25
28
  ```
26
29
 
27
30
  Run type checking:
@@ -187,7 +187,7 @@
187
187
  "name": "python",
188
188
  "nbconvert_exporter": "python",
189
189
  "pygments_lexer": "ipython3",
190
- "version": "3.11.4"
190
+ "version": "3.13.0"
191
191
  },
192
192
  "orig_nbformat": 4
193
193
  },
@@ -26,7 +26,6 @@
26
26
  "source": [
27
27
  "import re\n",
28
28
  "from code_data_science import data_table as dt, data_grid as moderne_data_grid\n",
29
- "import code_data_science.palette as palette\n",
30
29
  "\n",
31
30
  "df = dt.read_csv(\"../samples/cobol_relationships.csv\")"
32
31
  ]
@@ -6,7 +6,7 @@
6
6
  "metadata": {},
7
7
  "outputs": [],
8
8
  "source": [
9
- "from code_data_science import data_table as dt, data_grid as moderne_data_grid\n",
9
+ "from code_data_science import data_table as dt\n",
10
10
  "from code_data_science import palette as colors\n",
11
11
  "import matplotlib.pyplot as plt\n",
12
12
  "import plotly.express as px\n",
@@ -0,0 +1,179 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {
7
+ "tags": [
8
+ "parameters"
9
+ ]
10
+ },
11
+ "outputs": [],
12
+ "source": [
13
+ "repository_filter: list[str] = []\n",
14
+ "count_threshold = \"0\""
15
+ ]
16
+ },
17
+ {
18
+ "cell_type": "code",
19
+ "execution_count": null,
20
+ "metadata": {},
21
+ "outputs": [],
22
+ "source": [
23
+ "from code_data_science import data_table as dt\n",
24
+ "import warnings\n",
25
+ "\n",
26
+ "warnings.simplefilter(\"ignore\")\n",
27
+ "\n",
28
+ "df = dt.read_csv(\"../samples/composite_recipe_results_sankey.csv\")\n",
29
+ "\n",
30
+ "df[\"repositoryWithBranch\"] = df[\"repositoryPath\"] + \"/\" + df[\"repositoryBranch\"]\n",
31
+ "# Filter the data frame to only include rows where repositoryWithBranch contain\n",
32
+ "# a term in the repository_filter (case insensitive)\n",
33
+ "if len(repository_filter) > 0:\n",
34
+ " df = df[\n",
35
+ " df[\"repositoryWithBranch\"].str.contains(\"|\".join(repository_filter), case=False)\n",
36
+ " ]"
37
+ ]
38
+ },
39
+ {
40
+ "cell_type": "code",
41
+ "execution_count": null,
42
+ "metadata": {},
43
+ "outputs": [],
44
+ "source": [
45
+ "df = df[[\"parentRecipe\", \"recipe\"]].assign(count=lambda r: 1)\n",
46
+ "recipe_counts = (\n",
47
+ " df[[\"parentRecipe\", \"recipe\", \"count\"]]\n",
48
+ " .groupby(by=[\"parentRecipe\", \"recipe\"])[\"count\"]\n",
49
+ " .count()\n",
50
+ " .sort_values(ascending=False)\n",
51
+ " .reset_index(name=\"count\")\n",
52
+ ")\n",
53
+ "recipe_counts[\"parentRecipe\"] = recipe_counts[\"parentRecipe\"].transform(\n",
54
+ " lambda s: s.split(\".\")[-1]\n",
55
+ ")\n",
56
+ "recipe_counts[\"recipe\"] = recipe_counts[\"recipe\"].transform(lambda s: s.split(\".\")[-1])\n",
57
+ "\n",
58
+ "# sort recipe_counts by count\n",
59
+ "recipe_counts = recipe_counts.sort_values(by=[\"count\"], ascending=False)\n",
60
+ "\n",
61
+ "count_threshold_int = int(count_threshold)\n",
62
+ "\n",
63
+ "if count_threshold_int > 0:\n",
64
+ " recipe_counts = recipe_counts[recipe_counts[\"count\"] > count_threshold_int]"
65
+ ]
66
+ },
67
+ {
68
+ "cell_type": "code",
69
+ "execution_count": null,
70
+ "metadata": {},
71
+ "outputs": [],
72
+ "source": [
73
+ "import plotly.graph_objects as go\n",
74
+ "\n",
75
+ "# Extract all unique nodes (parent and child recipes)\n",
76
+ "all_nodes = list(set(recipe_counts[\"parentRecipe\"]).union(set(recipe_counts[\"recipe\"])))\n",
77
+ "\n",
78
+ "# Create node indices mapping for preparing for plotly\n",
79
+ "node_indices = {node: i for i, node in enumerate(all_nodes)}\n",
80
+ "\n",
81
+ "# iterates over each row in recipe_counts and find the index of the 'parentRecipe' in node_indices and adds it to the source list.\n",
82
+ "source = [node_indices[row[\"parentRecipe\"]] for _, row in recipe_counts.iterrows()]\n",
83
+ "\n",
84
+ "# iterates over each row in recipe_counts and find the index of the 'recipe' in node_indices and adds it to the target list.\n",
85
+ "target = [node_indices[row[\"recipe\"]] for _, row in recipe_counts.iterrows()]\n",
86
+ "\n",
87
+ "# convert the 'count' column to a list\n",
88
+ "value = list(recipe_counts[\"count\"])\n",
89
+ "\n",
90
+ "# Format labels with node names and counts\n",
91
+ "\n",
92
+ "\n",
93
+ "def getCount(node):\n",
94
+ " left = recipe_counts[recipe_counts[\"recipe\"] == node][\"count\"].sum()\n",
95
+ " if left == 0:\n",
96
+ " return recipe_counts[recipe_counts[\"parentRecipe\"] == node][\"count\"].sum()\n",
97
+ " else:\n",
98
+ " return left\n",
99
+ "\n",
100
+ "\n",
101
+ "formatted_labels = [f\"{node} - {getCount(node)}\" for node in all_nodes]\n",
102
+ "base_colors = [\n",
103
+ " \"#2f42ff\",\n",
104
+ " \"#7e9bd2\",\n",
105
+ " \"#27aa88\",\n",
106
+ " \"#dcefde\",\n",
107
+ " \"#84C9AA\",\n",
108
+ " \"#ECB81F\",\n",
109
+ " \"#F9A91B\",\n",
110
+ " \"#DB4197\",\n",
111
+ " \"#992FB9\",\n",
112
+ " \"#D9D8E8\",\n",
113
+ " \"#FF3232\",\n",
114
+ "]\n",
115
+ "\n",
116
+ "# create a color palette for the nodes\n",
117
+ "# important that the number of colors is equal to the number of nodes\n",
118
+ "\n",
119
+ "colors = []\n",
120
+ "for i in range(len(all_nodes)):\n",
121
+ " if i < len(base_colors):\n",
122
+ " colors.append(base_colors[i])\n",
123
+ " else:\n",
124
+ " colors.append(base_colors[i % len(base_colors)])\n",
125
+ "\n",
126
+ "\n",
127
+ "# Create the Sankey diagram\n",
128
+ "fig = go.Figure(\n",
129
+ " data=[\n",
130
+ " go.Sankey(\n",
131
+ " node=dict(\n",
132
+ " pad=15,\n",
133
+ " thickness=15,\n",
134
+ " line=dict(color=\"black\", width=0.5),\n",
135
+ " label=formatted_labels,\n",
136
+ " color=colors,\n",
137
+ " ),\n",
138
+ " link=dict(\n",
139
+ " source=source,\n",
140
+ " target=target,\n",
141
+ " value=value,\n",
142
+ " ),\n",
143
+ " )\n",
144
+ " ]\n",
145
+ ")\n",
146
+ "\n",
147
+ "# Update layout\n",
148
+ "fig.update_layout(\n",
149
+ " title_text=\"Recipes that made changes\",\n",
150
+ " font_size=10,\n",
151
+ " height=max(len(all_nodes) * 15, 400),\n",
152
+ ")\n",
153
+ "\n",
154
+ "fig.show()"
155
+ ]
156
+ }
157
+ ],
158
+ "metadata": {
159
+ "kernelspec": {
160
+ "display_name": "Python 3",
161
+ "language": "python",
162
+ "name": "python3"
163
+ },
164
+ "language_info": {
165
+ "codemirror_mode": {
166
+ "name": "ipython",
167
+ "version": 3
168
+ },
169
+ "file_extension": ".py",
170
+ "mimetype": "text/x-python",
171
+ "name": "python",
172
+ "nbconvert_exporter": "python",
173
+ "pygments_lexer": "ipython3",
174
+ "version": "3.11.4"
175
+ }
176
+ },
177
+ "nbformat": 4,
178
+ "nbformat_minor": 2
179
+ }
@@ -1144,7 +1144,6 @@
1144
1144
  "import warnings\n",
1145
1145
  "import plotly.express as px\n",
1146
1146
  "import code_data_science.data_table as dt\n",
1147
- "import code_data_science.palette as palette\n",
1148
1147
  "\n",
1149
1148
  "warnings.simplefilter(\"ignore\")\n",
1150
1149
  "\n",
@@ -1144,7 +1144,6 @@
1144
1144
  "import warnings\n",
1145
1145
  "import plotly.express as px\n",
1146
1146
  "import code_data_science.data_table as dt\n",
1147
- "import code_data_science.palette as palette\n",
1148
1147
  "\n",
1149
1148
  "warnings.simplefilter(\"ignore\")\n",
1150
1149
  "\n",
@@ -1144,7 +1144,6 @@
1144
1144
  "import warnings\n",
1145
1145
  "import plotly.express as px\n",
1146
1146
  "import code_data_science.data_table as dt\n",
1147
- "import code_data_science.palette as palette\n",
1148
1147
  "\n",
1149
1148
  "warnings.simplefilter(\"ignore\")\n",
1150
1149
  "\n",
@@ -33422,7 +33422,6 @@
33422
33422
  "from code_data_science import palette\n",
33423
33423
  "import plotly.express as px\n",
33424
33424
  "from sklearn.cluster import KMeans\n",
33425
- "from sklearn.manifold import TSNE\n",
33426
33425
  "from sklearn.metrics import silhouette_score\n",
33427
33426
  "import numpy as np\n",
33428
33427
  "import umap\n",
@@ -33490,7 +33489,7 @@
33490
33489
  " log_x=False,\n",
33491
33490
  " color=\"cluster id\",\n",
33492
33491
  " hover_name=\"name\",\n",
33493
- " color_discrete_sequence=colors\n",
33492
+ " color_discrete_sequence=colors,\n",
33494
33493
  ")\n",
33495
33494
  "fig.update_layout(showlegend=False)\n",
33496
33495
  "\n",
@@ -21,8 +21,7 @@
21
21
  "outputs": [],
22
22
  "source": [
23
23
  "import plotly.express as px\n",
24
- "import pandas as pd\n",
25
- "from code_data_science import data_table as dt, data_grid as moderne_data_grid\n",
24
+ "from code_data_science import data_table as dt\n",
26
25
  "import code_data_science.palette as palette\n",
27
26
  "\n",
28
27
  "df = dt.read_csv(\"../samples/eslint_problems.csv\")\n",
@@ -8,7 +8,7 @@
8
8
  },
9
9
  "outputs": [],
10
10
  "source": [
11
- "from code_data_science import data_table as dt, data_grid as moderne_data_grid\n",
11
+ "from code_data_science import data_table as dt\n",
12
12
  "\n",
13
13
  "df = dt.read_csv(\"../samples/find_source_files.csv\")"
14
14
  ]
@@ -5029,16 +5029,19 @@
5029
5029
  " device=\"cpu\",\n",
5030
5030
  " engine=\"optimum\",\n",
5031
5031
  " compile=True,\n",
5032
- " batch_size=2\n",
5032
+ " batch_size=2,\n",
5033
5033
  ")\n",
5034
5034
  "engine = AsyncEmbeddingEngine.from_args(engine_args)\n",
5035
5035
  "\n",
5036
5036
  "# Define a single function to get embeddings\n",
5037
+ "\n",
5038
+ "\n",
5037
5039
  "async def get_embeddings(sentences: list[str]) -> list:\n",
5038
5040
  " async with engine: # Ensure engine is properly started and stopped\n",
5039
5041
  " embeddings, _ = await engine.embed(sentences=sentences)\n",
5040
5042
  " return embeddings\n",
5041
5043
  "\n",
5044
+ "\n",
5042
5045
  "# Track time for embeddings\n",
5043
5046
  "start_time_embeddings = time.time_ns()\n",
5044
5047
  "loop = asyncio.get_running_loop()\n",
@@ -5058,14 +5061,16 @@
5058
5061
  "\n",
5059
5062
  "# Apply Gaussian Mixture Model\n",
5060
5063
  "start_time_gmm = time.time_ns()\n",
5061
- "gmm = GaussianMixture(n_components=6, covariance_type='full', random_state=42)\n",
5064
+ "gmm = GaussianMixture(n_components=6, covariance_type=\"full\", random_state=42)\n",
5062
5065
  "labels = gmm.fit_predict(indices)\n",
5063
5066
  "end_time_gmm = time.time_ns()\n",
5064
5067
  "gmm_time_seconds = (end_time_gmm - start_time_gmm) / 1e9\n",
5065
5068
  "\n",
5066
5069
  "df[\"x\"] = x\n",
5067
5070
  "df[\"y\"] = y\n",
5068
- "df[\"cluster id\"] = labels.astype(\"str\") # As string so the colors and legend are discrete\n",
5071
+ "df[\"cluster id\"] = labels.astype(\n",
5072
+ " \"str\"\n",
5073
+ ") # As string so the colors and legend are discrete\n",
5069
5074
  "df.sort_values(by=\"cluster id\", inplace=True)\n",
5070
5075
  "\n",
5071
5076
  "custom_palette = [\n",
@@ -5078,7 +5083,7 @@
5078
5083
  " palette.__moderne_color_map[\"yellow\"][700],\n",
5079
5084
  "]\n",
5080
5085
  "\n",
5081
- "colors = custom_palette[:gmm.n_components]\n",
5086
+ "colors = custom_palette[: gmm.n_components]\n",
5082
5087
  "\n",
5083
5088
  "# Create the figure with time metrics in the title\n",
5084
5089
  "fig = px.scatter(\n",
@@ -5088,39 +5093,45 @@
5088
5093
  " log_x=False,\n",
5089
5094
  " color=\"cluster id\",\n",
5090
5095
  " hover_name=\"method\",\n",
5091
- " color_discrete_sequence=colors\n",
5096
+ " color_discrete_sequence=colors,\n",
5092
5097
  ")\n",
5093
5098
  "\n",
5099
+ "\n",
5094
5100
  "def draw_ellipse_plotly(mean, covariance, fig, n_std=3, **kwargs):\n",
5095
5101
  " \"\"\"Draw an ellipse with a given mean and covariance using Plotly.\"\"\"\n",
5096
5102
  " # Convert covariance to principal axes\n",
5097
5103
  " U, s, Vt = np.linalg.svd(covariance)\n",
5098
5104
  " angle = np.degrees(np.arctan2(U[1, 0], U[0, 0]))\n",
5099
5105
  " width, height = 2 * np.sqrt(s)\n",
5100
- " \n",
5106
+ "\n",
5101
5107
  " # Plotly does not directly support ellipses, so we approximate with a scatter plot\n",
5102
5108
  " theta = np.linspace(0, 2 * np.pi, 100)\n",
5103
5109
  " ellipse_x = width / 2 * np.cos(theta)\n",
5104
5110
  " ellipse_y = height / 2 * np.sin(theta)\n",
5105
5111
  "\n",
5106
- " R = np.array([[np.cos(np.radians(angle)), -np.sin(np.radians(angle))],\n",
5107
- " [np.sin(np.radians(angle)), np.cos(np.radians(angle))]])\n",
5112
+ " R = np.array(\n",
5113
+ " [\n",
5114
+ " [np.cos(np.radians(angle)), -np.sin(np.radians(angle))],\n",
5115
+ " [np.sin(np.radians(angle)), np.cos(np.radians(angle))],\n",
5116
+ " ]\n",
5117
+ " )\n",
5108
5118
  " ellipse_coords = np.dot(R, np.array([ellipse_x, ellipse_y]))\n",
5109
- " \n",
5119
+ "\n",
5110
5120
  " # For each standard deviation, plot an ellipse\n",
5111
5121
  " for nsig in range(1, n_std + 1):\n",
5112
5122
  " fig.add_trace(\n",
5113
5123
  " go.Scatter(\n",
5114
5124
  " x=ellipse_coords[0] * nsig + mean[0],\n",
5115
5125
  " y=ellipse_coords[1] * nsig + mean[1],\n",
5116
- " mode='lines',\n",
5117
- " **kwargs\n",
5126
+ " mode=\"lines\",\n",
5127
+ " **kwargs,\n",
5118
5128
  " )\n",
5119
5129
  " )\n",
5120
5130
  "\n",
5131
+ "\n",
5121
5132
  "# Draw ellipses around GMM clusters\n",
5122
5133
  "for mean, covar in zip(gmm.means_, gmm.covariances_):\n",
5123
- " draw_ellipse_plotly(mean, covar, fig, n_std=3, line=dict(color='red'), opacity=0.2)\n",
5134
+ " draw_ellipse_plotly(mean, covar, fig, n_std=3, line=dict(color=\"red\"), opacity=0.2)\n",
5124
5135
  "\n",
5125
5136
  "fig.update_layout(\n",
5126
5137
  " showlegend=False,\n",
@@ -5128,7 +5139,7 @@
5128
5139
  " f\"Embedding Time: {embedding_time_seconds:.2f} sec | \"\n",
5129
5140
  " f\"t-SNE Time: {tsne_time_seconds:.2f} sec | \"\n",
5130
5141
  " f\"GMM Time: {gmm_time_seconds:.2f} sec\"\n",
5131
- " )\n",
5142
+ " ),\n",
5132
5143
  ")\n",
5133
5144
  "\n",
5134
5145
  "fig.show()"
@@ -20,19 +20,19 @@
20
20
  "metadata": {},
21
21
  "outputs": [],
22
22
  "source": [
23
- "data = df.drop(\n",
24
- " columns=[\n",
25
- " \"repositoryOrigin\",\n",
26
- " \"repositoryPath\",\n",
27
- " \"repositoryBranch\",\n",
28
- " \"projectName\",\n",
29
- " \"sourceSetName\",\n",
30
- " \"vmVendor\",\n",
31
- " \"createdBy\",\n",
32
- " \"sourceCompatibility\",\n",
33
- " \"targetCompatibility\",\n",
34
- " ]\n",
35
- ")\n",
23
+ "columns_to_drop = [\n",
24
+ " \"repositoryOrigin\",\n",
25
+ " \"repositoryPath\",\n",
26
+ " \"repositoryBranch\",\n",
27
+ " \"projectName\",\n",
28
+ " \"sourceSetName\",\n",
29
+ " \"vmVendor\",\n",
30
+ " \"createdBy\",\n",
31
+ " \"sourceCompatibility\",\n",
32
+ " \"targetCompatibility\",\n",
33
+ "]\n",
34
+ "\n",
35
+ "data = df.drop(columns=[col for col in columns_to_drop if col in df.columns])\n",
36
36
  "data"
37
37
  ]
38
38
  },
@@ -69,7 +69,7 @@
69
69
  ],
70
70
  "metadata": {
71
71
  "kernelspec": {
72
- "display_name": "Python 3 (ipykernel)",
72
+ "display_name": "Python 3",
73
73
  "language": "python",
74
74
  "name": "python3"
75
75
  },
@@ -83,7 +83,7 @@
83
83
  "name": "python",
84
84
  "nbconvert_exporter": "python",
85
85
  "pygments_lexer": "ipython3",
86
- "version": "3.9.17"
86
+ "version": "3.10.14"
87
87
  }
88
88
  },
89
89
  "nbformat": 4,
@@ -15,21 +15,21 @@
15
15
  },
16
16
  {
17
17
  "cell_type": "code",
18
- "execution_count": null,
18
+ "execution_count": 2,
19
19
  "id": "701147ab-62bd-490f-8a26-8ad1dd80f4d7",
20
20
  "metadata": {},
21
21
  "outputs": [],
22
22
  "source": [
23
- "data = df.drop(\n",
24
- " columns=[\n",
25
- " \"repositoryOrigin\",\n",
26
- " \"repositoryPath\",\n",
27
- " \"repositoryBranch\",\n",
28
- " \"scmType\",\n",
29
- " \"repositoryLink\",\n",
30
- " \"targetVersion\",\n",
31
- " ]\n",
32
- ")\n",
23
+ "columns_to_drop = [\n",
24
+ " \"repositoryOrigin\",\n",
25
+ " \"repositoryPath\",\n",
26
+ " \"repositoryBranch\",\n",
27
+ " \"scmType\",\n",
28
+ " \"repositoryLink\",\n",
29
+ " \"targetVersion\",\n",
30
+ "]\n",
31
+ "\n",
32
+ "data = df.drop(columns=[col for col in columns_to_drop if col in df.columns])\n",
33
33
  "data"
34
34
  ]
35
35
  },
@@ -40,11 +40,7 @@
40
40
  "metadata": {},
41
41
  "outputs": [],
42
42
  "source": [
43
- "versions = (\n",
44
- " data.groupby([\"sourceVersion\"], as_index=True)\n",
45
- " .value_counts()\n",
46
- " .fillna(0)\n",
47
- ")\n",
43
+ "versions = data.groupby([\"sourceVersion\"], as_index=True).value_counts().fillna(0)\n",
48
44
  "versions"
49
45
  ]
50
46
  },
@@ -66,7 +62,7 @@
66
62
  ],
67
63
  "metadata": {
68
64
  "kernelspec": {
69
- "display_name": "Python 3 (ipykernel)",
65
+ "display_name": "Python 3",
70
66
  "language": "python",
71
67
  "name": "python3"
72
68
  },
@@ -80,7 +76,7 @@
80
76
  "name": "python",
81
77
  "nbconvert_exporter": "python",
82
78
  "pygments_lexer": "ipython3",
83
- "version": "3.9.17"
79
+ "version": "3.10.14"
84
80
  }
85
81
  },
86
82
  "nbformat": 4,
@@ -18,8 +18,6 @@
18
18
  "from code_data_science import data_table as dt, data_grid as moderne_data_grid\n",
19
19
  "import code_data_science.palette as palette\n",
20
20
  "import re\n",
21
- "from plotly.subplots import make_subplots\n",
22
- "import plotly.graph_objects as go\n",
23
21
  "\n",
24
22
  "pd.set_option(\"expand_frame_repr\", True)\n",
25
23
  "df = dt.read_csv(\"../samples/parse_failure_kotlin.csv\")\n",
@@ -36,7 +36,7 @@
36
36
  "def parse_recommendations(str):\n",
37
37
  " try:\n",
38
38
  " return json.loads(clean_text(str))\n",
39
- " except json.JSONDecodeError as e:\n",
39
+ " except json.JSONDecodeError:\n",
40
40
  " return math.nan\n",
41
41
  "\n",
42
42
  "\n",
@@ -0,0 +1,7 @@
1
+ type: specs.moderne.io/v1beta/visualization
2
+ name: io.moderne.UI5LintRuleTreemap
3
+ displayName: UI5 lint rule treemap
4
+ description: >
5
+ Treemap of UI5 lint violations by rules.
6
+ recipe: org.openrewrite.codemods.UI5
7
+ dataTable: org.openrewrite.codemods.UI5Messages
@@ -0,0 +1,7 @@
1
+ type: specs.moderne.io/v1beta/visualization
2
+ name: io.moderne.UI5LintViolationsHeatmap
3
+ displayName: UI5 lint violations heatmap
4
+ description: >
5
+ Heatmap of UI5 lint violations by repository.
6
+ recipe: org.openrewrite.codemods.UI5
7
+ dataTable: org.openrewrite.codemods.UI5Messages