moderne-visualizations-misc 0.61.0__py3-none-any.whl → 0.62.0__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.
- moderne_visualizations_misc/dependency_usage_violin_nuget.ipynb +162 -0
- moderne_visualizations_misc/images/dependency_usage_violin_nuget.300.png +0 -0
- moderne_visualizations_misc/specs/dependency_usage_violin_nuget.yml +9 -0
- {moderne_visualizations_misc-0.61.0.dist-info → moderne_visualizations_misc-0.62.0.dist-info}/METADATA +1 -1
- {moderne_visualizations_misc-0.61.0.dist-info → moderne_visualizations_misc-0.62.0.dist-info}/RECORD +7 -4
- {moderne_visualizations_misc-0.61.0.dist-info → moderne_visualizations_misc-0.62.0.dist-info}/WHEEL +0 -0
- {moderne_visualizations_misc-0.61.0.dist-info → moderne_visualizations_misc-0.62.0.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "code",
|
|
5
|
+
"execution_count": null,
|
|
6
|
+
"metadata": {},
|
|
7
|
+
"outputs": [],
|
|
8
|
+
"source": [
|
|
9
|
+
"from code_data_science import data_table as dt\n",
|
|
10
|
+
"\n",
|
|
11
|
+
"df = dt.read_csv(\"../samples/dependency_usage_violin.csv\")"
|
|
12
|
+
]
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"cell_type": "code",
|
|
16
|
+
"execution_count": null,
|
|
17
|
+
"metadata": {},
|
|
18
|
+
"outputs": [],
|
|
19
|
+
"source": [
|
|
20
|
+
"df = df[[\"artifactId\", \"version\", \"depth\"]]"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"cell_type": "code",
|
|
25
|
+
"execution_count": null,
|
|
26
|
+
"metadata": {},
|
|
27
|
+
"outputs": [],
|
|
28
|
+
"source": [
|
|
29
|
+
"from code_data_science.versions import index as index_versions\n",
|
|
30
|
+
"\n",
|
|
31
|
+
"# make sure version is a string\n",
|
|
32
|
+
"df[\"version\"] = df[\"version\"].astype(str)\n",
|
|
33
|
+
"\n",
|
|
34
|
+
"vmap = index_versions(df.version)\n",
|
|
35
|
+
"df[\"nVersion\"] = list(map(lambda v: vmap[v], df.version))\n",
|
|
36
|
+
"\n",
|
|
37
|
+
"\n",
|
|
38
|
+
"def index_ga(groupartifacts):\n",
|
|
39
|
+
" sorted_ga = sorted(list(set(groupartifacts)))\n",
|
|
40
|
+
" return {ga: sorted_ga.index(ga) for ga in sorted_ga}\n",
|
|
41
|
+
"\n",
|
|
42
|
+
"\n",
|
|
43
|
+
"gmap = index_ga(df.artifactId)\n",
|
|
44
|
+
"df[\"nArtifactId\"] = list(map(lambda g: gmap[g], df.artifactId))\n",
|
|
45
|
+
"\n",
|
|
46
|
+
"df = df.sort_values(by=[\"nVersion\", \"nArtifactId\"])"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"cell_type": "code",
|
|
51
|
+
"execution_count": null,
|
|
52
|
+
"metadata": {},
|
|
53
|
+
"outputs": [],
|
|
54
|
+
"source": [
|
|
55
|
+
"import plotly.graph_objects as go\n",
|
|
56
|
+
"import code_data_science.palette as palette\n",
|
|
57
|
+
"\n",
|
|
58
|
+
"colors = palette.colors_by_weight(500)\n",
|
|
59
|
+
"\n",
|
|
60
|
+
"fig = go.Figure()\n",
|
|
61
|
+
"\n",
|
|
62
|
+
"# Add a trace to the plot for each category\n",
|
|
63
|
+
"for i, category in enumerate(df[\"nArtifactId\"].unique()):\n",
|
|
64
|
+
" category_data = df[df[\"nArtifactId\"] == category]\n",
|
|
65
|
+
"\n",
|
|
66
|
+
" # Calculate counts for each dependency and version combination\n",
|
|
67
|
+
" counts = (\n",
|
|
68
|
+
" category_data.groupby(\"nVersion\")[\"nArtifactId\"]\n",
|
|
69
|
+
" .count()\n",
|
|
70
|
+
" .reset_index(name=\"count\")\n",
|
|
71
|
+
" )\n",
|
|
72
|
+
"\n",
|
|
73
|
+
" category_data_with_counts = category_data.merge(counts, on=\"nVersion\")\n",
|
|
74
|
+
"\n",
|
|
75
|
+
" # Generate hover text including the count information\n",
|
|
76
|
+
" hover_text = category_data_with_counts.apply(\n",
|
|
77
|
+
" lambda row: f'<b>Artifact</b>: {row[\"artifactId\"]}<br><b>Version</b>: {row[\"version\"]}<br><b>Count</b>: {row[\"count\"]}',\n",
|
|
78
|
+
" axis=1,\n",
|
|
79
|
+
" )\n",
|
|
80
|
+
"\n",
|
|
81
|
+
" fig.add_trace(\n",
|
|
82
|
+
" go.Scatter(\n",
|
|
83
|
+
" x=category_data[\"nArtifactId\"],\n",
|
|
84
|
+
" y=category_data[\"nVersion\"],\n",
|
|
85
|
+
" mode=\"markers\",\n",
|
|
86
|
+
" marker=dict(color=colors[i % len(colors)], size=8),\n",
|
|
87
|
+
" showlegend=False,\n",
|
|
88
|
+
" name=\"\",\n",
|
|
89
|
+
" text=hover_text,\n",
|
|
90
|
+
" hoverinfo=\"text\",\n",
|
|
91
|
+
" hoverlabel=dict(font=dict(size=18)),\n",
|
|
92
|
+
" )\n",
|
|
93
|
+
" )\n",
|
|
94
|
+
"\n",
|
|
95
|
+
" fig.add_trace(\n",
|
|
96
|
+
" go.Violin(\n",
|
|
97
|
+
" x=category_data[\"nArtifactId\"],\n",
|
|
98
|
+
" y=category_data[\"nVersion\"],\n",
|
|
99
|
+
" fillcolor=\"black\",\n",
|
|
100
|
+
" opacity=0.15,\n",
|
|
101
|
+
" line_color=\"black\",\n",
|
|
102
|
+
" showlegend=False,\n",
|
|
103
|
+
" width=0.7,\n",
|
|
104
|
+
" bandwidth=0.4,\n",
|
|
105
|
+
" hoverinfo=\"none\",\n",
|
|
106
|
+
" hoveron=\"points\",\n",
|
|
107
|
+
" )\n",
|
|
108
|
+
" )\n",
|
|
109
|
+
"\n",
|
|
110
|
+
"num_versions = df[\"nVersion\"].nunique()\n",
|
|
111
|
+
"height_per_version = 32\n",
|
|
112
|
+
"width_per_dependency = 80\n",
|
|
113
|
+
"fig_height = max(num_versions * height_per_version, 900)\n",
|
|
114
|
+
"fig_width = max(len(list(gmap.values())) * width_per_dependency, 900)\n",
|
|
115
|
+
"tick_font_size = 13\n",
|
|
116
|
+
"# Customizing the layout\n",
|
|
117
|
+
"fig.update_layout(\n",
|
|
118
|
+
" title=\"Artifact versions in use\",\n",
|
|
119
|
+
" xaxis_title=\"Artifacts\",\n",
|
|
120
|
+
" yaxis_title=\"Versions\",\n",
|
|
121
|
+
" height=fig_height,\n",
|
|
122
|
+
" width=fig_width,\n",
|
|
123
|
+
" xaxis=dict(\n",
|
|
124
|
+
" tickfont=dict(size=tick_font_size),\n",
|
|
125
|
+
" tickmode=\"array\",\n",
|
|
126
|
+
" tickvals=list(gmap.values()),\n",
|
|
127
|
+
" ticktext=list(gmap.keys()),\n",
|
|
128
|
+
" ),\n",
|
|
129
|
+
" yaxis=dict(\n",
|
|
130
|
+
" tickfont=dict(size=tick_font_size),\n",
|
|
131
|
+
" tickmode=\"array\",\n",
|
|
132
|
+
" tickvals=list(vmap.values()),\n",
|
|
133
|
+
" ticktext=list(vmap.keys()),\n",
|
|
134
|
+
" ),\n",
|
|
135
|
+
")\n",
|
|
136
|
+
"\n",
|
|
137
|
+
"fig.show()"
|
|
138
|
+
]
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"metadata": {
|
|
142
|
+
"kernelspec": {
|
|
143
|
+
"display_name": "Python 3",
|
|
144
|
+
"language": "python",
|
|
145
|
+
"name": "python3"
|
|
146
|
+
},
|
|
147
|
+
"language_info": {
|
|
148
|
+
"codemirror_mode": {
|
|
149
|
+
"name": "ipython",
|
|
150
|
+
"version": 3
|
|
151
|
+
},
|
|
152
|
+
"file_extension": ".py",
|
|
153
|
+
"mimetype": "text/x-python",
|
|
154
|
+
"name": "python",
|
|
155
|
+
"nbconvert_exporter": "python",
|
|
156
|
+
"pygments_lexer": "ipython3",
|
|
157
|
+
"version": "3.11.4"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"nbformat": 4,
|
|
161
|
+
"nbformat_minor": 2
|
|
162
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
type: specs.moderne.io/v1beta/visualization
|
|
3
|
+
name: io.moderne.DependencyUsageViolinNuget
|
|
4
|
+
displayName: C# dependency usage
|
|
5
|
+
description: >
|
|
6
|
+
See the distribution of dependencies by version.
|
|
7
|
+
recipe:
|
|
8
|
+
org.openrewrite.csharp.dependencies.DependencyInsight:
|
|
9
|
+
dataTable: org.openrewrite.maven.table.DependenciesInUse
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: moderne_visualizations_misc
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.62.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
|
{moderne_visualizations_misc-0.61.0.dist-info → moderne_visualizations_misc-0.62.0.dist-info}/RECORD
RENAMED
|
@@ -35,6 +35,7 @@ moderne_visualizations_misc/dependency_usage_violin_nodejs_state.ipynb,sha256=Y8
|
|
|
35
35
|
moderne_visualizations_misc/dependency_usage_violin_nodejs_testing.ipynb,sha256=Y8rXBULhhbgGSyZOvfXNc5l-XE3R622neBbkD3fJXgU,756
|
|
36
36
|
moderne_visualizations_misc/dependency_usage_violin_nodejs_ui.ipynb,sha256=Y8rXBULhhbgGSyZOvfXNc5l-XE3R622neBbkD3fJXgU,756
|
|
37
37
|
moderne_visualizations_misc/dependency_usage_violin_nodejs_utility.ipynb,sha256=Y8rXBULhhbgGSyZOvfXNc5l-XE3R622neBbkD3fJXgU,756
|
|
38
|
+
moderne_visualizations_misc/dependency_usage_violin_nuget.ipynb,sha256=G1Ud9z8qtldM4Sqm9tr6hlyBb3FA_3kQzv17h5TNT-s,4948
|
|
38
39
|
moderne_visualizations_misc/dependency_vulnerabilities.ipynb,sha256=NHbg232NpB4W_iWagaGJU7Czn5CYLhStP_2fIqGstAM,33520
|
|
39
40
|
moderne_visualizations_misc/dependency_vulnerabilities_npm.ipynb,sha256=8n1vp9_-e0FROhLEmyTVEOqx5V_norBotYF1S4gpbxc,33491
|
|
40
41
|
moderne_visualizations_misc/dependency_vulnerabilities_nuget.ipynb,sha256=KtyQ48CVL-HbSi5nY4Hi9QRwcSLI_M4Ezvv5mvLMIh0,33491
|
|
@@ -99,6 +100,7 @@ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_state.300.png,
|
|
|
99
100
|
moderne_visualizations_misc/images/dependency_usage_violin_nodejs_testing.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
|
|
100
101
|
moderne_visualizations_misc/images/dependency_usage_violin_nodejs_ui.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
|
|
101
102
|
moderne_visualizations_misc/images/dependency_usage_violin_nodejs_utility.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
|
|
103
|
+
moderne_visualizations_misc/images/dependency_usage_violin_nuget.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
|
|
102
104
|
moderne_visualizations_misc/images/dependency_vulnerabilities.300.png,sha256=X-RA8xCuZsugGa_jRZ5CtqnYGOXHoUiVUZ9mdSi8WZ0,9057
|
|
103
105
|
moderne_visualizations_misc/images/dependency_vulnerabilities_npm.300.png,sha256=X-RA8xCuZsugGa_jRZ5CtqnYGOXHoUiVUZ9mdSi8WZ0,9057
|
|
104
106
|
moderne_visualizations_misc/images/dependency_vulnerabilities_nuget.300.png,sha256=X-RA8xCuZsugGa_jRZ5CtqnYGOXHoUiVUZ9mdSi8WZ0,9057
|
|
@@ -159,6 +161,7 @@ moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_state.yml,sha25
|
|
|
159
161
|
moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_testing.yml,sha256=XfHWkd8x4Zb1U7zd4UxekIEk0SQ6Zxk_vy-ufUwUG6Q,305
|
|
160
162
|
moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_ui.yml,sha256=PUSYOIf0d5EduujZzTqv3GhKtg9NMEAqIoFNj2etKn0,295
|
|
161
163
|
moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_utility.yml,sha256=gLjz7vGOWkxze0H8-bTbNOvzNmWuPwyp6rVpK-TGhyM,305
|
|
164
|
+
moderne_visualizations_misc/specs/dependency_usage_violin_nuget.yml,sha256=_JGFLIweauwZN90sa4j-4yDRNHPr-UjsX4nrCN6a0LA,313
|
|
162
165
|
moderne_visualizations_misc/specs/dependency_vulnerabilities.yml,sha256=WLu7yclOQlFpeyubaP1mgGMnQKz-SjsYQTipjFfJ0r8,1263
|
|
163
166
|
moderne_visualizations_misc/specs/dependency_vulnerabilities_npm.yml,sha256=EdhBpsXy3n9Dw3k3wxEuRZKP-Dzuw4YKrq6Y2OOLbsE,1244
|
|
164
167
|
moderne_visualizations_misc/specs/dependency_vulnerabilities_nuget.yml,sha256=mqX0zQc93k6lUgPYNhAtztRVxyBWiNCDCqXMDtDHKqk,1241
|
|
@@ -187,7 +190,7 @@ moderne_visualizations_misc/specs/spring_component_relationships_data_grid.yml,s
|
|
|
187
190
|
moderne_visualizations_misc/specs/spring_components_data_grid.yml,sha256=nRLXX3t2sw4gFIVdt7wEE1O8vVcr0qWx1aqIZpoFghc,323
|
|
188
191
|
moderne_visualizations_misc/specs/sql_crud.yml,sha256=BaUV1bb3oJNrNARU-0YAez2S2yW8djqNUvRSY6rfmTk,533
|
|
189
192
|
moderne_visualizations_misc/specs/text_matches_tree_grid.yml,sha256=U2-j_kFaHNex5avmPtzw_6AWUs9JKk_ouCyqdJBThp4,903
|
|
190
|
-
moderne_visualizations_misc-0.
|
|
191
|
-
moderne_visualizations_misc-0.
|
|
192
|
-
moderne_visualizations_misc-0.
|
|
193
|
-
moderne_visualizations_misc-0.
|
|
193
|
+
moderne_visualizations_misc-0.62.0.dist-info/METADATA,sha256=mEr5XDKFucgmhzB7lAji_jBNwFXgxgy9wzqaHm-mpCE,1010
|
|
194
|
+
moderne_visualizations_misc-0.62.0.dist-info/WHEEL,sha256=Mdi9PDNwEZptOjTlUcAth7XJDFtKrHYaQMPulZeBCiQ,91
|
|
195
|
+
moderne_visualizations_misc-0.62.0.dist-info/top_level.txt,sha256=V_gviHcBSH6w_h-g98-9ecQRoN8d82cxPdV-DA3Leeo,28
|
|
196
|
+
moderne_visualizations_misc-0.62.0.dist-info/RECORD,,
|
{moderne_visualizations_misc-0.61.0.dist-info → moderne_visualizations_misc-0.62.0.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|