moderne-visualizations-misc 0.71.0__py3-none-any.whl → 0.71.1__py3-none-any.whl

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.
@@ -42,6 +42,9 @@
42
42
  "metadata": {},
43
43
  "outputs": [],
44
44
  "source": [
45
+ "import pandas as pd\n",
46
+ "import numpy as np\n",
47
+ "\n",
45
48
  "df = df[[\"parentRecipe\", \"recipe\"]].assign(count=lambda r: 1)\n",
46
49
  "recipe_counts = (\n",
47
50
  " df[[\"parentRecipe\", \"recipe\", \"count\"]]\n",
@@ -50,10 +53,31 @@
50
53
  " .sort_values(ascending=False)\n",
51
54
  " .reset_index(name=\"count\")\n",
52
55
  ")\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",
56
+ "\n",
57
+ "\n",
58
+ "def shorten_ids(df, cols):\n",
59
+ " \"\"\"\n",
60
+ " Shorten IDs in cols by using the artifact names if there are name collisions\n",
61
+ " \"\"\"\n",
62
+ " sep = \".\"\n",
63
+ " df = df.copy()\n",
64
+ " for col in cols:\n",
65
+ " # count how many distinct IDs share each suffix\n",
66
+ " unique_ids = df[col].unique()\n",
67
+ " suffixes = pd.Series(unique_ids).str.rsplit(pat=sep, n=1).str[-1]\n",
68
+ " suffix_counts = suffixes.value_counts()\n",
69
+ "\n",
70
+ " # pick either full ID or suffix per row\n",
71
+ " row_suffix = df[col].str.rsplit(pat=sep, n=1).str[-1]\n",
72
+ " df[col] = np.where(\n",
73
+ " row_suffix.map(suffix_counts) > 1,\n",
74
+ " df[col], # conflict → full ID\n",
75
+ " row_suffix, # unique → artifact name\n",
76
+ " )\n",
77
+ " return df\n",
78
+ "\n",
79
+ "\n",
80
+ "recipe_counts = shorten_ids(recipe_counts, [\"parentRecipe\", \"recipe\"])\n",
57
81
  "\n",
58
82
  "# sort recipe_counts by count\n",
59
83
  "recipe_counts = recipe_counts.sort_values(by=[\"count\"], ascending=False)\n",
@@ -157,7 +181,7 @@
157
181
  ],
158
182
  "metadata": {
159
183
  "kernelspec": {
160
- "display_name": "Python 3",
184
+ "display_name": ".venv",
161
185
  "language": "python",
162
186
  "name": "python3"
163
187
  },
@@ -171,7 +195,7 @@
171
195
  "name": "python",
172
196
  "nbconvert_exporter": "python",
173
197
  "pygments_lexer": "ipython3",
174
- "version": "3.11.4"
198
+ "version": "3.9.6"
175
199
  }
176
200
  },
177
201
  "nbformat": 4,
@@ -38,15 +38,18 @@
38
38
  "# normalize headers to match the original names already in use\n",
39
39
  "# old headers: repositoryOrigin,repositoryPath,repositoryBranch,scmType,repositoryLink,recipe,sourceFiles,sourceFilesChanged,scanTotalTime,scanP99,scanMax,editTotalTime,editP99,editMax\n",
40
40
  "# new headers: repositoryOrigin,repositoryPath,repositoryBranch,scmType,repositoryLink,recipe,sourceFiles,sourceFilesChanged,scanTotalTimeNs,scanP99Ns,scanMaxNs,editTotalTimeNs,editP99Ns,editMaxNs\n",
41
- "if 'scanTotalTimeNs' in df.columns:\n",
42
- " df.rename(columns={\n",
43
- " 'scanTotalTimeNs': 'scanTotalTime',\n",
44
- " 'scanP99Ns': 'scanP99',\n",
45
- " 'scanMaxNs': 'scanMax',\n",
46
- " 'editTotalTimeNs': 'editTotalTime',\n",
47
- " 'editP99Ns': 'editP99',\n",
48
- " 'editMaxNs': 'editMax'\n",
49
- " }, inplace=True)"
41
+ "if \"scanTotalTimeNs\" in df.columns:\n",
42
+ " df.rename(\n",
43
+ " columns={\n",
44
+ " \"scanTotalTimeNs\": \"scanTotalTime\",\n",
45
+ " \"scanP99Ns\": \"scanP99\",\n",
46
+ " \"scanMaxNs\": \"scanMax\",\n",
47
+ " \"editTotalTimeNs\": \"editTotalTime\",\n",
48
+ " \"editP99Ns\": \"editP99\",\n",
49
+ " \"editMaxNs\": \"editMax\",\n",
50
+ " },\n",
51
+ " inplace=True,\n",
52
+ " )"
50
53
  ]
51
54
  },
52
55
  {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: moderne_visualizations_misc
3
- Version: 0.71.0
3
+ Version: 0.71.1
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
@@ -5,7 +5,7 @@ moderne_visualizations_misc/cobol_find_copybook.ipynb,sha256=buo5GKENebMYD3OSB2L
5
5
  moderne_visualizations_misc/cobol_relationships.ipynb,sha256=eYSMUDcK5x7MlAFxpGJXPuRNjD1VU4AEFbk710bPPM0,8530
6
6
  moderne_visualizations_misc/cobol_relationships_data_grid.ipynb,sha256=QVvc-gZEQa1qgYaWc5lODA9bWEhQ-NqX51a38EMN8XI,1950
7
7
  moderne_visualizations_misc/comment_language_distribution.ipynb,sha256=8SqQPSOxMpS-oJzUQbDSnmz7tIUky-M_zFYqsxdsxLo,3157
8
- moderne_visualizations_misc/composite_recipe_results_sankey.ipynb,sha256=3n8bOWpYlI3nCaPqLa5R140Sszok0RxCJ4vhJakHqSg,5587
8
+ moderne_visualizations_misc/composite_recipe_results_sankey.ipynb,sha256=KOIcw2GoEZC9WxDPvF-pEf_ZhB7GI_iVgIvi1BQffpE,6422
9
9
  moderne_visualizations_misc/dependency_tree_view.ipynb,sha256=rcW9LQzn_zNM7wnjOq1YA0B9ybzZPdrTRcc2VqzLOfs,2983
10
10
  moderne_visualizations_misc/dependency_tree_view_nodejs.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
11
11
  moderne_visualizations_misc/dependency_tree_view_nodejs_build_tools.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
@@ -58,7 +58,7 @@ moderne_visualizations_misc/language_composition_by_repo.ipynb,sha256=OEU0GR6U8O
58
58
  moderne_visualizations_misc/lst_provenance.ipynb,sha256=0tuXcUHSn-mRQYKP27RSrbpuYj9w10KcbEB9aYMSOKQ,2148
59
59
  moderne_visualizations_misc/maven_parent_poms.ipynb,sha256=dOB7Q89Xt1ep_n8ovJpE1bHK7Jjy9_o4yXCqfhN-KUc,2115
60
60
  moderne_visualizations_misc/parse_failure_stacktraces.ipynb,sha256=0D6bPDY5oQ5BmDST1sfIGvTJSmTTkKVe3ealFfQMXwg,6122
61
- moderne_visualizations_misc/recipe_performance.ipynb,sha256=swXLoYg0wxcoxakWTQqXvhFTtQYYuNMsUL4tjdHbDZg,4123
61
+ moderne_visualizations_misc/recipe_performance.ipynb,sha256=b58bW7-moZNDApW66EOtsdnmWwwnJia6rsFgqepfN00,4228
62
62
  moderne_visualizations_misc/recommendations.ipynb,sha256=z5GQMPjTLAi2wIosjTQwb7IA5j07uhQyFo-cvXmxTVQ,4171
63
63
  moderne_visualizations_misc/spring_component_relationships.ipynb,sha256=sQglDbEQ174QP2mN3Heo50E-CeVQrJ6x6A1RW1ABl-k,6997
64
64
  moderne_visualizations_misc/spring_component_relationships_data_grid.ipynb,sha256=NkG9VjcnqR42WOZEhdPwBls29RWNkFo_SiSzKM4NTp4,1977
@@ -198,7 +198,7 @@ moderne_visualizations_misc/specs/sql_crud.yml,sha256=BaUV1bb3oJNrNARU-0YAez2S2y
198
198
  moderne_visualizations_misc/specs/text_matches_tree_grid.yml,sha256=U2-j_kFaHNex5avmPtzw_6AWUs9JKk_ouCyqdJBThp4,903
199
199
  moderne_visualizations_misc/specs/ui5lint_rule_treemap.yml,sha256=6g01v1eD93cvtS7GnRfzScunx_X5u9fjn2ax5SHCVsE,258
200
200
  moderne_visualizations_misc/specs/ui5lint_violations_heatmap.yml,sha256=Ep97JEK5xjQkAjmHJNKPAoiIiDeuvksjnx_UREZTAbI,275
201
- moderne_visualizations_misc-0.71.0.dist-info/METADATA,sha256=FuZTMZh6Cxnaj5178pdux5qQBIrvwx9SeGpIJB7h3Pc,687
202
- moderne_visualizations_misc-0.71.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
203
- moderne_visualizations_misc-0.71.0.dist-info/top_level.txt,sha256=V_gviHcBSH6w_h-g98-9ecQRoN8d82cxPdV-DA3Leeo,28
204
- moderne_visualizations_misc-0.71.0.dist-info/RECORD,,
201
+ moderne_visualizations_misc-0.71.1.dist-info/METADATA,sha256=Y2berLT7WxHS3Hv5ssLPJQp9fW8x6rCil7WD6Nef00I,687
202
+ moderne_visualizations_misc-0.71.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
203
+ moderne_visualizations_misc-0.71.1.dist-info/top_level.txt,sha256=V_gviHcBSH6w_h-g98-9ecQRoN8d82cxPdV-DA3Leeo,28
204
+ moderne_visualizations_misc-0.71.1.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5