moderne-visualizations-misc 0.54.0__py3-none-any.whl → 0.55.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.
Files changed (56) hide show
  1. moderne_visualizations_misc/dependency_tree_view_nodejs.ipynb +36 -0
  2. moderne_visualizations_misc/dependency_tree_view_nodejs_build_tools.ipynb +36 -0
  3. moderne_visualizations_misc/dependency_tree_view_nodejs_db.ipynb +36 -0
  4. moderne_visualizations_misc/dependency_tree_view_nodejs_forms.ipynb +36 -0
  5. moderne_visualizations_misc/dependency_tree_view_nodejs_lint.ipynb +36 -0
  6. moderne_visualizations_misc/dependency_tree_view_nodejs_rtc.ipynb +36 -0
  7. moderne_visualizations_misc/dependency_tree_view_nodejs_security.ipynb +36 -0
  8. moderne_visualizations_misc/dependency_tree_view_nodejs_ss.ipynb +36 -0
  9. moderne_visualizations_misc/dependency_tree_view_nodejs_state.ipynb +36 -0
  10. moderne_visualizations_misc/dependency_tree_view_nodejs_testing.ipynb +36 -0
  11. moderne_visualizations_misc/dependency_tree_view_nodejs_ui.ipynb +36 -0
  12. moderne_visualizations_misc/dependency_tree_view_nodejs_utility.ipynb +36 -0
  13. moderne_visualizations_misc/images/dependency_tree_view_nodejs_build_tools.300.png +0 -0
  14. moderne_visualizations_misc/images/dependency_tree_view_nodejs_db.300.png +0 -0
  15. moderne_visualizations_misc/images/dependency_tree_view_nodejs_forms.300.png +0 -0
  16. moderne_visualizations_misc/images/dependency_tree_view_nodejs_lint.300.png +0 -0
  17. moderne_visualizations_misc/images/dependency_tree_view_nodejs_rtc.300.png +0 -0
  18. moderne_visualizations_misc/images/dependency_tree_view_nodejs_security.300.png +0 -0
  19. moderne_visualizations_misc/images/dependency_tree_view_nodejs_ss.300.png +0 -0
  20. moderne_visualizations_misc/images/dependency_tree_view_nodejs_state.300.png +0 -0
  21. moderne_visualizations_misc/images/dependency_tree_view_nodejs_testing.300.png +0 -0
  22. moderne_visualizations_misc/images/dependency_tree_view_nodejs_ui.300.png +0 -0
  23. moderne_visualizations_misc/images/dependency_tree_view_nodejs_utility.300.png +0 -0
  24. moderne_visualizations_misc/images/dependency_usage_violin_nodejs.300.png +0 -0
  25. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_build_tools.300.png +0 -0
  26. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_db.300.png +0 -0
  27. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_forms.300.png +0 -0
  28. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_lint.300.png +0 -0
  29. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_rtc.300.png +0 -0
  30. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_security.300.png +0 -0
  31. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_ss.300.png +0 -0
  32. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_state.300.png +0 -0
  33. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_testing.300.png +0 -0
  34. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_ui.300.png +0 -0
  35. moderne_visualizations_misc/images/dependency_usage_violin_nodejs_utility.300.png +0 -0
  36. moderne_visualizations_misc/reusable/tree_view_nodejs.py +40 -0
  37. moderne_visualizations_misc/reusable/violin_nodejs.py +111 -0
  38. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_build_tools.yml +7 -0
  39. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_db.yml +7 -0
  40. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_forms.yml +7 -0
  41. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_lint.yml +7 -0
  42. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_rtc.yml +7 -0
  43. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_security.yml +7 -0
  44. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ss.yml +7 -0
  45. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_state.yml +7 -0
  46. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_testing.yml +7 -0
  47. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ui.yml +7 -0
  48. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_utility.yml +7 -0
  49. moderne_visualizations_misc/specs/dependency_usage_violin_nodejs.yml +2 -3
  50. {moderne_visualizations_misc-0.54.0.dist-info → moderne_visualizations_misc-0.55.0.dist-info}/METADATA +1 -1
  51. {moderne_visualizations_misc-0.54.0.dist-info → moderne_visualizations_misc-0.55.0.dist-info}/RECORD +55 -9
  52. moderne_visualizations_misc/dependency_tree_view_javascript.ipynb +0 -79
  53. /moderne_visualizations_misc/images/{dependency_tree_view_javascript.300.png → dependency_tree_view_nodejs.300.png} +0 -0
  54. /moderne_visualizations_misc/specs/{dependency_tree_view_javascript.yml → dependency_tree_view_nodejs.yml} +0 -0
  55. {moderne_visualizations_misc-0.54.0.dist-info → moderne_visualizations_misc-0.55.0.dist-info}/WHEEL +0 -0
  56. {moderne_visualizations_misc-0.54.0.dist-info → moderne_visualizations_misc-0.55.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "cells": [
3
+ {
4
+ "cell_type": "code",
5
+ "execution_count": null,
6
+ "metadata": {},
7
+ "outputs": [],
8
+ "source": [
9
+ "import reusable.tree_view_nodejs as tree_view_nodejs\n",
10
+ "\n",
11
+ "tree_view_nodejs.create_tree_view()"
12
+ ]
13
+ }
14
+ ],
15
+ "metadata": {
16
+ "kernelspec": {
17
+ "display_name": "Python 3",
18
+ "language": "python",
19
+ "name": "python3"
20
+ },
21
+ "language_info": {
22
+ "codemirror_mode": {
23
+ "name": "ipython",
24
+ "version": 3
25
+ },
26
+ "file_extension": ".py",
27
+ "mimetype": "text/x-python",
28
+ "name": "python",
29
+ "nbconvert_exporter": "python",
30
+ "pygments_lexer": "ipython3",
31
+ "version": "3.11.4"
32
+ }
33
+ },
34
+ "nbformat": 4,
35
+ "nbformat_minor": 2
36
+ }
@@ -0,0 +1,40 @@
1
+ from code_data_science import (
2
+ data_table as dt,
3
+ unique_dictionaries as ud,
4
+ tree_data_grid,
5
+ )
6
+
7
+
8
+ def dataframe_to_tree(df):
9
+ df["repositoryPath"].fillna("", inplace=True)
10
+ df["version"].fillna("", inplace=True)
11
+ df["requestedVersion"].fillna("", inplace=True)
12
+
13
+ tree = ud.UniqueDictionaries()
14
+
15
+ for _, row in df.iterrows():
16
+ parent_path = row["repositoryPath"]
17
+ child_name = row["name"]
18
+
19
+ tree.add(
20
+ {
21
+ "path": (parent_path, child_name),
22
+ "version": f"{row['requestedVersion']}",
23
+ }
24
+ )
25
+
26
+ return tree.to_list()
27
+
28
+
29
+ def create_tree_view():
30
+ df = dt.read_csv("../samples/dependency_tree_view_nodejs.csv")
31
+ df = df.drop_duplicates(subset=["repositoryPath", "name"])
32
+ tree_data = dataframe_to_tree(df)
33
+
34
+ tree_data_grid.display(
35
+ tree_data,
36
+ "Projects",
37
+ [
38
+ {"field": "version", "headerName": "Version requested", "minWidth": 200},
39
+ ],
40
+ )
@@ -0,0 +1,111 @@
1
+ from code_data_science import data_table as dt
2
+ from code_data_science.versions import index as index_versions
3
+ import plotly.graph_objects as go
4
+ import code_data_science.palette as palette
5
+
6
+ def create_violin_plot():
7
+ df = dt.read_csv("../samples/dependency_usage_violin_nodejs.csv")
8
+ df = df[["name", "requestedVersion"]]
9
+
10
+ # make sure version is a string
11
+ df["requestedVersion"] = df["requestedVersion"].astype(str)
12
+ df["version"] = list(
13
+ map(
14
+ lambda v: v.removeprefix("^")
15
+ .removeprefix("~")
16
+ .removeprefix(">")
17
+ .removeprefix("="),
18
+ df.requestedVersion,
19
+ )
20
+ )
21
+
22
+ vmap = index_versions(df.version)
23
+ df["nVersion"] = list(map(lambda v: vmap[v], df.version))
24
+
25
+ def index_name(names):
26
+ sorted_names = sorted(list(set(names)))
27
+ return {name: sorted_names.index(name) for name in sorted_names}
28
+
29
+ nmap = index_name(df.name)
30
+ df["nName"] = list(map(lambda g: nmap[g], df.name))
31
+
32
+ df = df.sort_values(by=["nVersion", "nName"])
33
+
34
+ colors = palette.colors_by_weight(500)
35
+
36
+ fig = go.Figure()
37
+
38
+ # Add a trace to the plot for each category
39
+ for i, category in enumerate(df["nName"].unique()):
40
+ category_data = df[df["nName"] == category]
41
+
42
+ # Calculate counts for each dependency and version combination
43
+ counts = (
44
+ category_data.groupby("nVersion")["nName"].count().reset_index(name="count")
45
+ )
46
+
47
+ category_data_with_counts = category_data.merge(counts, on="nVersion")
48
+
49
+ # Generate hover text including the count information
50
+ hover_text = category_data_with_counts.apply(
51
+ lambda row: f'<b>Package</b>: {row["name"]}<br><b>Version</b>: {row["version"]}<br><b>Count</b>: {row["count"]}',
52
+ axis=1,
53
+ )
54
+
55
+ fig.add_trace(
56
+ go.Scatter(
57
+ x=category_data["nName"],
58
+ y=category_data["nVersion"],
59
+ mode="markers",
60
+ marker=dict(color=colors[i % len(colors)], size=8),
61
+ showlegend=False,
62
+ name="",
63
+ text=hover_text,
64
+ hoverinfo="text",
65
+ hoverlabel=dict(font=dict(size=18)),
66
+ )
67
+ )
68
+
69
+ fig.add_trace(
70
+ go.Violin(
71
+ x=category_data["nName"],
72
+ y=category_data["nVersion"],
73
+ fillcolor="black",
74
+ opacity=0.15,
75
+ line_color="black",
76
+ showlegend=False,
77
+ width=0.7,
78
+ bandwidth=0.4,
79
+ hoverinfo="none",
80
+ hoveron="points",
81
+ )
82
+ )
83
+
84
+ num_versions = df["nVersion"].nunique()
85
+ height_per_version = 32
86
+ width_per_dependency = 80
87
+ fig_height = max(num_versions * height_per_version, 900)
88
+ fig_width = max(len(list(nmap.values())) * width_per_dependency, 900)
89
+ tick_font_size = 13
90
+ # Customizing the layout
91
+ fig.update_layout(
92
+ title="Package versions in use",
93
+ xaxis_title="Packages",
94
+ yaxis_title="Versions",
95
+ height=fig_height,
96
+ width=fig_width,
97
+ xaxis=dict(
98
+ tickfont=dict(size=tick_font_size),
99
+ tickmode="array",
100
+ tickvals=list(nmap.values()),
101
+ ticktext=list(nmap.keys()),
102
+ ),
103
+ yaxis=dict(
104
+ tickfont=dict(size=tick_font_size),
105
+ tickmode="array",
106
+ tickvals=list(vmap.values()),
107
+ ticktext=list(vmap.keys()),
108
+ ),
109
+ )
110
+
111
+ fig.show()
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryBuildTools
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.TaskRunnersBuildToolsInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryDatabaseInteraction
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.DatabaseInteractionInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryFormHandling
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.FormHandlingInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryLintingFormatting
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.LintingFormattingInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryRealTimeCommunication
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.RealTimeCommunicationInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventorySecurity
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.SecurityInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryServerSideFrameworks
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.ServerSideFrameworksInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryStateManagement
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.StateManagementInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryTesting
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.TestingInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryUI
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.UIInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -0,0 +1,7 @@
1
+ ---
2
+ type: specs.moderne.io/v1beta/visualization
3
+ name: io.moderne.JavascriptDependencyInventoryUtility
4
+ displayName: Dependency tree view
5
+ description: Render a tree data grid to explore dependencies.
6
+ recipe: org.openrewrite.nodejs.search.UtilityInsights
7
+ dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -2,9 +2,8 @@
2
2
  type: specs.moderne.io/v1beta/visualization
3
3
  name: io.moderne.DependencyUsageViolinNodejs
4
4
  displayName: NPM package usage
5
- description: >
6
- See the distribution of NPM packages by version.
7
- recipe:
5
+ description: See the distribution of NPM packages by version.
6
+ recipe:
8
7
  org.openrewrite.nodejs.search.DependencyInsight:
9
8
  namePattern: lodash
10
9
  dataTable: org.openrewrite.nodejs.table.DependenciesInUse
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: moderne_visualizations_misc
3
- Version: 0.54.0
3
+ Version: 0.55.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 +7,18 @@ moderne_visualizations_misc/cobol_relationships_data_grid.ipynb,sha256=Lz_7EiJa2
7
7
  moderne_visualizations_misc/comment_language_distribution.ipynb,sha256=39NdfUH5NIX36918ogQnr9mn0ZYgrfpMMARNJTXFMWc,3189
8
8
  moderne_visualizations_misc/composite_recipe_results_sankey.ipynb,sha256=2EmrQI9Rkzj2i1JEN3Ru7OJb8_wAcbV-hzw5XpeEc2c,4837
9
9
  moderne_visualizations_misc/dependency_tree_view.ipynb,sha256=rcW9LQzn_zNM7wnjOq1YA0B9ybzZPdrTRcc2VqzLOfs,2983
10
- moderne_visualizations_misc/dependency_tree_view_javascript.ipynb,sha256=TlAsf64847x_w5wtcFwp4xF1roIKz_iOwoh80ihjAh8,1988
10
+ moderne_visualizations_misc/dependency_tree_view_nodejs.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
11
+ moderne_visualizations_misc/dependency_tree_view_nodejs_build_tools.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
12
+ moderne_visualizations_misc/dependency_tree_view_nodejs_db.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
13
+ moderne_visualizations_misc/dependency_tree_view_nodejs_forms.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
14
+ moderne_visualizations_misc/dependency_tree_view_nodejs_lint.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
15
+ moderne_visualizations_misc/dependency_tree_view_nodejs_rtc.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
16
+ moderne_visualizations_misc/dependency_tree_view_nodejs_security.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
17
+ moderne_visualizations_misc/dependency_tree_view_nodejs_ss.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
18
+ moderne_visualizations_misc/dependency_tree_view_nodejs_state.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
19
+ moderne_visualizations_misc/dependency_tree_view_nodejs_testing.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
20
+ moderne_visualizations_misc/dependency_tree_view_nodejs_ui.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
21
+ moderne_visualizations_misc/dependency_tree_view_nodejs_utility.ipynb,sha256=YQRFdXkRwedWxEqe6G5ugqiU_aHPiRVFwPHQRyo0r5w,674
11
22
  moderne_visualizations_misc/dependency_usage_violin.ipynb,sha256=G1Ud9z8qtldM4Sqm9tr6hlyBb3FA_3kQzv17h5TNT-s,4948
12
23
  moderne_visualizations_misc/dependency_usage_violin_gradle.ipynb,sha256=yc-1R-KEkR431c9kNzbFX49sjSIeE-NGwkEcKhX842s,5062
13
24
  moderne_visualizations_misc/dependency_usage_violin_jackson.ipynb,sha256=G1Ud9z8qtldM4Sqm9tr6hlyBb3FA_3kQzv17h5TNT-s,4948
@@ -56,12 +67,34 @@ moderne_visualizations_misc/images/cobol_relationships_data_grid.300.png,sha256=
56
67
  moderne_visualizations_misc/images/comment_language_distribution.300.png,sha256=XAULSLQ3JAVMlBKqMf40jZ03kTVQcDcCjhTvGchpRuA,16182
57
68
  moderne_visualizations_misc/images/composite_recipe_results_sankey.300.png,sha256=sM0EZLoVGCGTg-qeHNE-x8HENMtI1wwLbmaNcp9Rrso,45439
58
69
  moderne_visualizations_misc/images/dependency_tree_view.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
59
- moderne_visualizations_misc/images/dependency_tree_view_javascript.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
70
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
71
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_build_tools.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
72
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_db.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
73
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_forms.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
74
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_lint.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
75
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_rtc.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
76
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_security.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
77
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_ss.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
78
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_state.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
79
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_testing.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
80
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_ui.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
81
+ moderne_visualizations_misc/images/dependency_tree_view_nodejs_utility.300.png,sha256=sf9Zy4hSiNqChe073N9-FJ5VAmUnVAw3ARJegS-qc0o,51975
60
82
  moderne_visualizations_misc/images/dependency_usage_violin.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
61
83
  moderne_visualizations_misc/images/dependency_usage_violin_gradle.300.png,sha256=StuAFhXcGvRbeEWs49tXW6tWN_V2J7gyNlW5k4wyw0w,24741
62
84
  moderne_visualizations_misc/images/dependency_usage_violin_jackson.300.png,sha256=wgw-V_78eApcc_BJim7VdUql62_huCWSnz-urM3KW-A,24214
63
85
  moderne_visualizations_misc/images/dependency_usage_violin_maven.300.png,sha256=0nvZjMkKhkIGy0HtgLAkRMLCI5FPzQUsXOXDk8uomK8,25930
64
- moderne_visualizations_misc/images/dependency_usage_violin_nodejs.300.png,sha256=KE8LjkUih1xJf7BvE19B0PhRWzUfEn1Inw0DCC8POZY,9292
86
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
87
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_build_tools.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
88
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_db.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
89
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_forms.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
90
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_lint.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
91
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_rtc.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
92
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_security.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
93
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_ss.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
94
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_state.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
95
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_testing.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
96
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_ui.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
97
+ moderne_visualizations_misc/images/dependency_usage_violin_nodejs_utility.300.png,sha256=lfhXF98B_IQAukA-MBnk8Fp0xHfiNUTcQs4m_czksZk,25837
65
98
  moderne_visualizations_misc/images/dependency_vulnerabilities.300.png,sha256=X-RA8xCuZsugGa_jRZ5CtqnYGOXHoUiVUZ9mdSi8WZ0,9057
66
99
  moderne_visualizations_misc/images/dependency_vulnerabilities_npm.300.png,sha256=X-RA8xCuZsugGa_jRZ5CtqnYGOXHoUiVUZ9mdSi8WZ0,9057
67
100
  moderne_visualizations_misc/images/eslint_problems.300.png,sha256=nvNP7Ve_BYQHKuN-C5AhHfyI7w2nyH5zI9ntC65VLYo,44585
@@ -80,6 +113,8 @@ moderne_visualizations_misc/images/spring_components_data_grid.300.png,sha256=2g
80
113
  moderne_visualizations_misc/images/sql_crud.300.png,sha256=wNon3Wd-t8PvYvjgW5CZ5FYeGQZOjwykaghootHpz8Q,24871
81
114
  moderne_visualizations_misc/images/text_matches_tree_grid.300.png,sha256=gjv-BC8srD6kIE0lUb5i_L09aZ012A1yk-g41fOxNp0,32570
82
115
  moderne_visualizations_misc/resources/plantuml.jar,sha256=7gZFRyMCh2PdgoBFno_Y8x_NhbGujZqw4yEiJDwJjDs,11565517
116
+ moderne_visualizations_misc/reusable/tree_view_nodejs.py,sha256=DZVWYTOVfeKFINoCbJiXgiqdxRTq2HCMaB6V4ONd--k,994
117
+ moderne_visualizations_misc/reusable/violin_nodejs.py,sha256=y_AKajX1SaDKAq3tTQIahAQBmuYHOmQJ541YTRHCDLQ,3540
83
118
  moderne_visualizations_misc/specs/call_graph_data_grid.yml,sha256=fbPeH7iK_rOaXDhRsGVfWXlW-nNtZ8pCKs7MxDmzZTo,580
84
119
  moderne_visualizations_misc/specs/call_graph_uml.yml,sha256=2b6mncH77saAdL01ed-6ggnvWGnKUjE7lChepz9cij4,575
85
120
  moderne_visualizations_misc/specs/cobol_find_copybook.yml,sha256=emzxbetdSBaHKpRFwbFoXIIVMO_L9RSlRKzgIGcwSrM,405
@@ -88,12 +123,23 @@ moderne_visualizations_misc/specs/cobol_relationships_data_grid.yml,sha256=2jkvb
88
123
  moderne_visualizations_misc/specs/comment_language_distribution.yml,sha256=wii1tRq7PiTtjETOhhw9RmMOvsy3WMtTvkNzINjOAGc,312
89
124
  moderne_visualizations_misc/specs/composite_recipe_results_sankey.yml,sha256=859LdfEW65SnUXUyMGlkKdTnpLME04PshSEt6pDbazs,1522
90
125
  moderne_visualizations_misc/specs/dependency_tree_view.yml,sha256=ArF-8gdsw07MVIhGDJdqM4-0wIOUrLZk0wszb69ex4Y,313
91
- moderne_visualizations_misc/specs/dependency_tree_view_javascript.yml,sha256=3-iwbNj0QH9jR7MV4a73wN4lwXeVfXlXVp8TYz4YB5M,329
126
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs.yml,sha256=3-iwbNj0QH9jR7MV4a73wN4lwXeVfXlXVp8TYz4YB5M,329
127
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_build_tools.yml,sha256=Cn--R6QaNRFkz2Jpwz8xLE5pq1TpxAB8eSEyLFrsJnQ,327
128
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_db.yml,sha256=_zeBTT2Q46e4NvNOYKkKhNMCJUwcLhWZO8hgMOeQT54,334
129
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_forms.yml,sha256=kPOsN87E4pjXXm8W9NtnV4Ox_SyivuqRSr5zhmL8IF8,320
130
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_lint.yml,sha256=RJ69iBK8h3Vj5Qenqn9VhmRF9EsMcxZXZajkB4AsQuY,330
131
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_rtc.yml,sha256=uNGynICXaosU9zdvSspCnxhGiMinVgdgyX0kAh6WrLw,338
132
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_security.yml,sha256=IBWy5FChI-g5f0VrOme4C7FYe6vhZXm9glMjhMgGlEg,312
133
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ss.yml,sha256=lkCyG7xEMxnVpAX64m1F6OUOKoJGam_RxBIz1ZI7SiM,336
134
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_state.yml,sha256=UHt3NpHSjFtY7K351MYqC_6UYQtQA-CdPmQddurMSTE,326
135
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_testing.yml,sha256=sTbYYkhi8tW6AehofJoYB213noZ0dUTXxTKaNfbszg8,310
136
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ui.yml,sha256=Sj7JcPSyaqXgQ9zVCHeZ9oSv5WrbwNmSIr3vWL_zjbg,300
137
+ moderne_visualizations_misc/specs/dependency_tree_view_nodejs_utility.yml,sha256=-ZYMAhozJ2GTMoPeBs8PCn9zj8N8kXW7vsW8VZceskI,310
92
138
  moderne_visualizations_misc/specs/dependency_usage_violin.yml,sha256=LTrW1ZeX6Cl8P7ZwBBcaN_2121w1SxSd_N5qN8A2lNI,374
93
139
  moderne_visualizations_misc/specs/dependency_usage_violin_gradle.yml,sha256=NfbAtJHDZP2JL4g5Sq-T6Noqp7eiRZD81vZR77p8-AM,377
94
140
  moderne_visualizations_misc/specs/dependency_usage_violin_jackson.yml,sha256=qcBO603x7pckDvE7rPgH0r57G7qJLi-JFVEV2s4WWAw,378
95
141
  moderne_visualizations_misc/specs/dependency_usage_violin_maven.yml,sha256=9JOAMBN3hnhxvIVaxuNQiqxaWuHI5Qmo2Fv1cmq0Ju4,374
96
- moderne_visualizations_misc/specs/dependency_usage_violin_nodejs.yml,sha256=R2BOdXgYVK8uL9i8CAu2CMyh3nG47Z8rEZuPBSvTwv8,332
142
+ moderne_visualizations_misc/specs/dependency_usage_violin_nodejs.yml,sha256=C6XHEO98qvnVR8Beizc78VMmDeh8iko8ontUfIQj6Ns,327
97
143
  moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_build_tools.yml,sha256=3-NR5sXfMKU1571T_q4rRVcSPVujQ6QDescSPpQz6NU,333
98
144
  moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_db.yml,sha256=NM9QIvt78U90rPECdzqQ5uxmKwvUOG5ss86g22Pi7-8,329
99
145
  moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_forms.yml,sha256=GWV_lQjB9YMfi5fd3SB5uFqk3rYIBvzCq6qg_VC4L5A,315
@@ -129,7 +175,7 @@ moderne_visualizations_misc/specs/spring_component_relationships_data_grid.yml,s
129
175
  moderne_visualizations_misc/specs/spring_components_data_grid.yml,sha256=nRLXX3t2sw4gFIVdt7wEE1O8vVcr0qWx1aqIZpoFghc,323
130
176
  moderne_visualizations_misc/specs/sql_crud.yml,sha256=BaUV1bb3oJNrNARU-0YAez2S2yW8djqNUvRSY6rfmTk,533
131
177
  moderne_visualizations_misc/specs/text_matches_tree_grid.yml,sha256=U2-j_kFaHNex5avmPtzw_6AWUs9JKk_ouCyqdJBThp4,903
132
- moderne_visualizations_misc-0.54.0.dist-info/METADATA,sha256=GvFIh9jOpDU4Qep4YvUk_OrqYbnqfZkBjO4kZWT8tHs,1010
133
- moderne_visualizations_misc-0.54.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
134
- moderne_visualizations_misc-0.54.0.dist-info/top_level.txt,sha256=V_gviHcBSH6w_h-g98-9ecQRoN8d82cxPdV-DA3Leeo,28
135
- moderne_visualizations_misc-0.54.0.dist-info/RECORD,,
178
+ moderne_visualizations_misc-0.55.0.dist-info/METADATA,sha256=EBalyeJhMa6w9qWoFUlTc5-ydiQC-SO49zXH-Kl119k,1010
179
+ moderne_visualizations_misc-0.55.0.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
180
+ moderne_visualizations_misc-0.55.0.dist-info/top_level.txt,sha256=V_gviHcBSH6w_h-g98-9ecQRoN8d82cxPdV-DA3Leeo,28
181
+ moderne_visualizations_misc-0.55.0.dist-info/RECORD,,
@@ -1,79 +0,0 @@
1
- {
2
- "cells": [
3
- {
4
- "cell_type": "code",
5
- "execution_count": null,
6
- "metadata": {},
7
- "outputs": [],
8
- "source": [
9
- "from code_data_science import (\n",
10
- " data_table as dt,\n",
11
- " unique_dictionaries as ud,\n",
12
- " tree_data_grid,\n",
13
- ")\n",
14
- "\n",
15
- "\n",
16
- "def dataframe_to_tree(df):\n",
17
- " df[\"repositoryPath\"].fillna(\"\", inplace=True)\n",
18
- " df[\"version\"].fillna(\"\", inplace=True)\n",
19
- " df[\"requestedVersion\"].fillna(\"\", inplace=True)\n",
20
- "\n",
21
- " tree = ud.UniqueDictionaries()\n",
22
- "\n",
23
- " for _, row in df.iterrows():\n",
24
- " parent_path = row[\"repositoryPath\"]\n",
25
- " child_name = row[\"name\"]\n",
26
- "\n",
27
- " tree.add(\n",
28
- " {\n",
29
- " \"path\": (parent_path, child_name),\n",
30
- " \"version\": f\"{row['requestedVersion']}\",\n",
31
- " }\n",
32
- " )\n",
33
- "\n",
34
- " return tree.to_list()\n",
35
- "\n",
36
- "\n",
37
- "df = dt.read_csv(\"../samples/dependency_tree_view_javascript.csv\")\n",
38
- "df = df.drop_duplicates(subset=[\"repositoryPath\", \"name\"])\n",
39
- "tree_data = dataframe_to_tree(df)"
40
- ]
41
- },
42
- {
43
- "cell_type": "code",
44
- "execution_count": null,
45
- "metadata": {},
46
- "outputs": [],
47
- "source": [
48
- "tree_data_grid.display(\n",
49
- " tree_data,\n",
50
- " \"Projects\",\n",
51
- " [\n",
52
- " {\"field\": \"version\", \"headerName\": \"Version requested\", \"minWidth\": 200},\n",
53
- " ],\n",
54
- ")"
55
- ]
56
- }
57
- ],
58
- "metadata": {
59
- "kernelspec": {
60
- "display_name": "Python 3",
61
- "language": "python",
62
- "name": "python3"
63
- },
64
- "language_info": {
65
- "codemirror_mode": {
66
- "name": "ipython",
67
- "version": 3
68
- },
69
- "file_extension": ".py",
70
- "mimetype": "text/x-python",
71
- "name": "python",
72
- "nbconvert_exporter": "python",
73
- "pygments_lexer": "ipython3",
74
- "version": "3.11.4"
75
- }
76
- },
77
- "nbformat": 4,
78
- "nbformat_minor": 2
79
- }