moderne-visualizations-misc 0.54.1__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 (55) 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/specs/dependency_tree_view_nodejs_build_tools.yml +7 -0
  38. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_db.yml +7 -0
  39. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_forms.yml +7 -0
  40. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_lint.yml +7 -0
  41. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_rtc.yml +7 -0
  42. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_security.yml +7 -0
  43. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ss.yml +7 -0
  44. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_state.yml +7 -0
  45. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_testing.yml +7 -0
  46. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_ui.yml +7 -0
  47. moderne_visualizations_misc/specs/dependency_tree_view_nodejs_utility.yml +7 -0
  48. moderne_visualizations_misc/specs/dependency_usage_violin_nodejs.yml +2 -3
  49. {moderne_visualizations_misc-0.54.1.dist-info → moderne_visualizations_misc-0.55.0.dist-info}/METADATA +1 -1
  50. {moderne_visualizations_misc-0.54.1.dist-info → moderne_visualizations_misc-0.55.0.dist-info}/RECORD +54 -9
  51. moderne_visualizations_misc/dependency_tree_view_javascript.ipynb +0 -79
  52. /moderne_visualizations_misc/images/{dependency_tree_view_javascript.300.png → dependency_tree_view_nodejs.300.png} +0 -0
  53. /moderne_visualizations_misc/specs/{dependency_tree_view_javascript.yml → dependency_tree_view_nodejs.yml} +0 -0
  54. {moderne_visualizations_misc-0.54.1.dist-info → moderne_visualizations_misc-0.55.0.dist-info}/WHEEL +0 -0
  55. {moderne_visualizations_misc-0.54.1.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,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.1
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,7 @@ 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
83
117
  moderne_visualizations_misc/reusable/violin_nodejs.py,sha256=y_AKajX1SaDKAq3tTQIahAQBmuYHOmQJ541YTRHCDLQ,3540
84
118
  moderne_visualizations_misc/specs/call_graph_data_grid.yml,sha256=fbPeH7iK_rOaXDhRsGVfWXlW-nNtZ8pCKs7MxDmzZTo,580
85
119
  moderne_visualizations_misc/specs/call_graph_uml.yml,sha256=2b6mncH77saAdL01ed-6ggnvWGnKUjE7lChepz9cij4,575
@@ -89,12 +123,23 @@ moderne_visualizations_misc/specs/cobol_relationships_data_grid.yml,sha256=2jkvb
89
123
  moderne_visualizations_misc/specs/comment_language_distribution.yml,sha256=wii1tRq7PiTtjETOhhw9RmMOvsy3WMtTvkNzINjOAGc,312
90
124
  moderne_visualizations_misc/specs/composite_recipe_results_sankey.yml,sha256=859LdfEW65SnUXUyMGlkKdTnpLME04PshSEt6pDbazs,1522
91
125
  moderne_visualizations_misc/specs/dependency_tree_view.yml,sha256=ArF-8gdsw07MVIhGDJdqM4-0wIOUrLZk0wszb69ex4Y,313
92
- 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
93
138
  moderne_visualizations_misc/specs/dependency_usage_violin.yml,sha256=LTrW1ZeX6Cl8P7ZwBBcaN_2121w1SxSd_N5qN8A2lNI,374
94
139
  moderne_visualizations_misc/specs/dependency_usage_violin_gradle.yml,sha256=NfbAtJHDZP2JL4g5Sq-T6Noqp7eiRZD81vZR77p8-AM,377
95
140
  moderne_visualizations_misc/specs/dependency_usage_violin_jackson.yml,sha256=qcBO603x7pckDvE7rPgH0r57G7qJLi-JFVEV2s4WWAw,378
96
141
  moderne_visualizations_misc/specs/dependency_usage_violin_maven.yml,sha256=9JOAMBN3hnhxvIVaxuNQiqxaWuHI5Qmo2Fv1cmq0Ju4,374
97
- 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
98
143
  moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_build_tools.yml,sha256=3-NR5sXfMKU1571T_q4rRVcSPVujQ6QDescSPpQz6NU,333
99
144
  moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_db.yml,sha256=NM9QIvt78U90rPECdzqQ5uxmKwvUOG5ss86g22Pi7-8,329
100
145
  moderne_visualizations_misc/specs/dependency_usage_violin_nodejs_forms.yml,sha256=GWV_lQjB9YMfi5fd3SB5uFqk3rYIBvzCq6qg_VC4L5A,315
@@ -130,7 +175,7 @@ moderne_visualizations_misc/specs/spring_component_relationships_data_grid.yml,s
130
175
  moderne_visualizations_misc/specs/spring_components_data_grid.yml,sha256=nRLXX3t2sw4gFIVdt7wEE1O8vVcr0qWx1aqIZpoFghc,323
131
176
  moderne_visualizations_misc/specs/sql_crud.yml,sha256=BaUV1bb3oJNrNARU-0YAez2S2yW8djqNUvRSY6rfmTk,533
132
177
  moderne_visualizations_misc/specs/text_matches_tree_grid.yml,sha256=U2-j_kFaHNex5avmPtzw_6AWUs9JKk_ouCyqdJBThp4,903
133
- moderne_visualizations_misc-0.54.1.dist-info/METADATA,sha256=6MvW8awsRs_nW5R_3RyH3g9AjtKdqgACE1fpfC48QOA,1010
134
- moderne_visualizations_misc-0.54.1.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
135
- moderne_visualizations_misc-0.54.1.dist-info/top_level.txt,sha256=V_gviHcBSH6w_h-g98-9ecQRoN8d82cxPdV-DA3Leeo,28
136
- moderne_visualizations_misc-0.54.1.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
- }