Graphinate 0.3.0__tar.gz → 0.3.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {graphinate-0.3.0 → graphinate-0.3.1}/.github/workflows/test-beta.yml +2 -1
- {graphinate-0.3.0 → graphinate-0.3.1}/.github/workflows/test.yml +10 -1
- {graphinate-0.3.0 → graphinate-0.3.1}/.gitignore +1 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/PKG-INFO +22 -14
- {graphinate-0.3.0 → graphinate-0.3.1}/README.md +20 -13
- {graphinate-0.3.0 → graphinate-0.3.1}/STATS.md +7 -1
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/acknowledge.md +1 -1
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/index.md +1 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/math/polygonal_graph.py +11 -8
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/web/requirements.txt +2 -1
- {graphinate-0.3.0 → graphinate-0.3.1}/pyproject.toml +2 -1
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/builders.py +4 -4
- {graphinate-0.3.0 → graphinate-0.3.1}/.coveragerc +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/.github/dependabot.yml +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/.github/workflows/codeql.yml +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/.github/workflows/publish-docs.yaml +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/.github/workflows/publish.yml +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/LICENSE +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/assets/images/logo-128.png +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/assets/images/network_graph.png +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/assets/stylesheets/extra.css +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/dev.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/examples/code.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/examples/github.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/examples/math.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/examples/system.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/examples/web.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/gen_ref_pages.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/intro.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/start.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/usage/cli.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/docs/usage/lib.md +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/code/python_ast.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/code/python_dependencies.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/code/requirements.txt +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/_client.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/commits_visibilty_graph.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/followers.graphql +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/followers.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/graphql.config.yml +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/repositories.graphql +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/repositories.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/github/requirements.txt +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/math/graph_atlas.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/math/requirements.txt +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/system/processes.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/system/requirements.txt +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/examples/web/page_links.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/mkdocs.yml +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/ethernet/traceroute.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/genric_graph.graphql +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/graphql.config.yml +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/house_of_graphs.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/social/albums.json +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/social/musicisians.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/text/nlp_graph.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/text/requirements.txt +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/time_series/requirements.txt +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/playground/time_series/visibility_graph.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/sonar-project.properties +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/__main__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/cli.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/color.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/materializers/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/materializers/matplotlib.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/modeling.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/starlette/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/starlette/views.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/elements/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/elements/index.html +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/graphiql/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/graphiql/index.html +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/rapidoc/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/rapidoc/index.html +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/static/images/logo-128.png +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/static/images/network_graph.png +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/viewer/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/viewer/index.html +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/voyager/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/voyager/index.html +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/tools/__init__.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/tools/converters.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/tools/gui.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/tools/mutators.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/typing.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/conftest.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/graphinate/test_builders.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/graphinate/test_cli.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/graphinate/test_color.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/graphinate/test_materializers.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/graphinate/test_modeling.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/graphinate/test_server.py +0 -0
- {graphinate-0.3.0 → graphinate-0.3.1}/tests/graphinate/test_tools.py +0 -0
|
@@ -15,7 +15,8 @@ jobs:
|
|
|
15
15
|
strategy:
|
|
16
16
|
fail-fast: false
|
|
17
17
|
matrix:
|
|
18
|
-
python-
|
|
18
|
+
# https://github.com/actions/python-versions/blob/main/versions-manifest.json
|
|
19
|
+
python-version: [ "3.14.0-alpha.1" ]
|
|
19
20
|
steps:
|
|
20
21
|
- uses: actions/checkout@v4
|
|
21
22
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -15,7 +15,7 @@ jobs:
|
|
|
15
15
|
strategy:
|
|
16
16
|
fail-fast: false
|
|
17
17
|
matrix:
|
|
18
|
-
python-version: [ "3.10", "3.11", "3.12" ]
|
|
18
|
+
python-version: [ "3.10", "3.11", "3.12", "3.13"]
|
|
19
19
|
steps:
|
|
20
20
|
- uses: actions/checkout@v4
|
|
21
21
|
- name: Set up Python ${{ matrix.python-version }}
|
|
@@ -43,3 +43,12 @@ jobs:
|
|
|
43
43
|
uses: codecov/codecov-action@v4
|
|
44
44
|
with:
|
|
45
45
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
46
|
+
- name: Run codacy-coverage-reporter
|
|
47
|
+
uses: codacy/codacy-coverage-reporter-action@v1.3.0
|
|
48
|
+
with:
|
|
49
|
+
#project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
|
50
|
+
# or
|
|
51
|
+
api-token: ${{ secrets.CODACY_API_TOKEN }}
|
|
52
|
+
coverage-reports: coverage.xml
|
|
53
|
+
# or a comma-separated list for multiple reports
|
|
54
|
+
# coverage-reports: <PATH_TO_REPORT>, <PATH_TO_REPORT>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: Graphinate
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Graphinate. Data to Graphs.
|
|
5
5
|
Project-URL: Homepage, https://erivlis.github.io/graphinate
|
|
6
6
|
Project-URL: Documentation, https://erivlis.github.io/graphinate
|
|
@@ -21,6 +21,7 @@ Classifier: Programming Language :: Python :: 3 :: Only
|
|
|
21
21
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
22
|
Classifier: Programming Language :: Python :: 3.11
|
|
23
23
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
24
25
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
25
26
|
Classifier: Topic :: Scientific/Engineering
|
|
26
27
|
Classifier: Topic :: Software Development :: Libraries
|
|
@@ -80,10 +81,10 @@ Description-Content-Type: text/markdown
|
|
|
80
81
|
<td>Tools</td>
|
|
81
82
|
<td>
|
|
82
83
|
<a href="https://www.jetbrains.com/pycharm/"><img alt="PyCharm" src="https://img.shields.io/badge/PyCharm-FCF84A.svg?logo=PyCharm&logoColor=black&labelColor=21D789&color=FCF84A"></a>
|
|
83
|
-
<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json"
|
|
84
|
-
<a href="https://github.com/astral-sh/uv"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json"
|
|
85
|
-
<a href="https://squidfunk.github.io/mkdocs-material/"><img src="https://img.shields.io/badge/Material_for_MkDocs-526CFE?&logo=MaterialForMkDocs&logoColor=white&labelColor=grey"></a>
|
|
86
|
-
<a href="https://github.com/tox-dev/pipdeptree"><img src="https://img.shields.io/badge/pipdeptree-526CFE.svg?labelColor=gray&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFElEQVR4nFxTW2tcVRRe39773E/mliZjwKRmhBaKt4BWRKmGgihCH3xUKNWC/Q/ii76IP8AHpSIiRfqmD5YKCinalhgiCMZLSVtMM0mTdDLTuZyZc9l7yTlp7WXBgXPW+fa31rfWtxU9FLMN79Crr028e+iJsZfb7fJMp23xRlOvbTR3L/y5cuOL3Vbv7/vxuPviecI/eWr6k/mj4+8AkM11y+zs2MKwMJvNgIgYINZX/rlx+tIvf72fZXr4P0EQyOCjjw98P9vwn8+/+z3Bq6sek7AJkNhsOjQcyjvFmHd2upd+PP/zsSxNI5mnPvjw8U9fPFJ9XVkgNuDVayEbcgVEfgikNfFg4JAmh1LyyfGq06QqE9vN6+fEs4fHnjv25vjbAOA4AsL2MVZ1hRcI4QXIH7ilMqQXkiYXRBJRbFNQnTsRlqfmxFvH66ccFyAQMxP3I5cqNZBSxIWcKORMO9g3yeSHzFkGbnVCIkDUZ+beEy+8VJ4XguC6TMPYokwrCAHUJsBxYptoFBYSMi0oLIlcAkuFYhal8Zl5VanZU0zErgfurufMFjEkWZ7iRFY4SlgYfW9bUIJKFQNjiNPYf1QZOZn/hTaStPQKTI4eDCxSjsL4I6BeJzOjgcnT0HqPqwBJCdHZjW/miWjkkG3hzqKIe5FVlM3llGuWqOxTDMBkWlJ/6PB2p0Sb21gXixdvLeTtDGOHLFvQHpkiYyTuNU5kuxJercTdpEK3Bz4yLdFrXVsQ33x1/bModjhvyrKKVXB/YD9gb8PgKAlolAZipmFTOIYcxq21Xz8XS5dbi+e+2zqbA3MjxYninH3PpkyZljwYjZE2FoxBIWm6YVHaW/k66qwtF05curz509OHHzvqBqWp232fE+2AoCjOXNMfhcRcjAxxoijNFNpbG0vL588cNzpLC4I00cnCD1fPBuVqffbA5DMGNjR5MOSBpC+UYxGE5G5PmNXff/vy4rdnTmRJHD1wG+9G42D9qVfeePLk/oONI8qv7+/2fbq11f53ZfnqhStLi6d3b67/cT/+vwAAAP//Xo5dwOtdLi4AAAAASUVORK5CYII="></a>
|
|
84
|
+
<a href="https://github.com/astral-sh/ruff"><img alt="ruff" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" style="max-width:100%;"></a>
|
|
85
|
+
<a href="https://github.com/astral-sh/uv"><img alt="uv" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" style="max-width:100%;"></a>
|
|
86
|
+
<a href="https://squidfunk.github.io/mkdocs-material/"><img alt="mkdocs-material" src="https://img.shields.io/badge/Material_for_MkDocs-526CFE?&logo=MaterialForMkDocs&logoColor=white&labelColor=grey"></a>
|
|
87
|
+
<a href="https://github.com/tox-dev/pipdeptree"><img alt="pipdeptree" src="https://img.shields.io/badge/pipdeptree-526CFE.svg?labelColor=gray&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFElEQVR4nFxTW2tcVRRe39773E/mliZjwKRmhBaKt4BWRKmGgihCH3xUKNWC/Q/ii76IP8AHpSIiRfqmD5YKCinalhgiCMZLSVtMM0mTdDLTuZyZc9l7yTlp7WXBgXPW+fa31rfWtxU9FLMN79Crr028e+iJsZfb7fJMp23xRlOvbTR3L/y5cuOL3Vbv7/vxuPviecI/eWr6k/mj4+8AkM11y+zs2MKwMJvNgIgYINZX/rlx+tIvf72fZXr4P0EQyOCjjw98P9vwn8+/+z3Bq6sek7AJkNhsOjQcyjvFmHd2upd+PP/zsSxNI5mnPvjw8U9fPFJ9XVkgNuDVayEbcgVEfgikNfFg4JAmh1LyyfGq06QqE9vN6+fEs4fHnjv25vjbAOA4AsL2MVZ1hRcI4QXIH7ilMqQXkiYXRBJRbFNQnTsRlqfmxFvH66ccFyAQMxP3I5cqNZBSxIWcKORMO9g3yeSHzFkGbnVCIkDUZ+beEy+8VJ4XguC6TMPYokwrCAHUJsBxYptoFBYSMi0oLIlcAkuFYhal8Zl5VanZU0zErgfurufMFjEkWZ7iRFY4SlgYfW9bUIJKFQNjiNPYf1QZOZn/hTaStPQKTI4eDCxSjsL4I6BeJzOjgcnT0HqPqwBJCdHZjW/miWjkkG3hzqKIe5FVlM3llGuWqOxTDMBkWlJ/6PB2p0Sb21gXixdvLeTtDGOHLFvQHpkiYyTuNU5kuxJercTdpEK3Bz4yLdFrXVsQ33x1/bModjhvyrKKVXB/YD9gb8PgKAlolAZipmFTOIYcxq21Xz8XS5dbi+e+2zqbA3MjxYninH3PpkyZljwYjZE2FoxBIWm6YVHaW/k66qwtF05curz509OHHzvqBqWp232fE+2AoCjOXNMfhcRcjAxxoijNFNpbG0vL588cNzpLC4I00cnCD1fPBuVqffbA5DMGNjR5MOSBpC+UYxGE5G5PmNXff/vy4rdnTmRJHD1wG+9G42D9qVfeePLk/oONI8qv7+/2fbq11f53ZfnqhStLi6d3b67/cT/+vwAAAP//Xo5dwOtdLi4AAAAASUVORK5CYII="></a>
|
|
87
88
|
</td>
|
|
88
89
|
</tr>
|
|
89
90
|
<tr>
|
|
@@ -109,6 +110,7 @@ Description-Content-Type: text/markdown
|
|
|
109
110
|
<a href="https://sonarcloud.io/summary/new_code?id=erivlis_graphinate"><img alt="Bugs" src="https://sonarcloud.io/api/project_badges/measure?project=erivlis_graphinate&metric=bugs"></a>
|
|
110
111
|
<br>
|
|
111
112
|
<a href="https://app.codacy.com/gh/erivlis/graphinate/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img alt="Codacy Badge" src="https://app.codacy.com/project/badge/Grade/54b33c3f7313448f9471d01e2a06f037"></a>
|
|
113
|
+
<a href="https://app.codacy.com/gh/erivlis/graphinate/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage"><img alt="Codacy Coverage" src="https://app.codacy.com/project/badge/Coverage/54b33c3f7313448f9471d01e2a06f037"/></a>
|
|
112
114
|
<a href="https://scrutinizer-ci.com/g/erivlis/graphinate"><img alt="Scrutinizer" src="https://scrutinizer-ci.com/g/erivlis/graphinate/badges/quality-score.png?b=main"></a>
|
|
113
115
|
<!--a href="https://snyk.io/test/github/erivlis/graphinate"><img alt="Snyk" src="https://snyk.io/test/github/erivlis/Graphinate/badge.svg"></a -->
|
|
114
116
|
</td>
|
|
@@ -132,9 +134,9 @@ In addition, there are several modes of output to enable examination of the Grap
|
|
|
132
134
|
|
|
133
135
|
### Links
|
|
134
136
|
|
|
135
|
-
- Website (including documentation): https://erivlis.github.io/graphinate
|
|
136
|
-
- Source: https://github.com/erivlis/graphinate
|
|
137
|
-
- Package: https://pypi.org/project/graphinate
|
|
137
|
+
- Website (including documentation): <https://erivlis.github.io/graphinate>
|
|
138
|
+
- Source: <https://github.com/erivlis/graphinate>
|
|
139
|
+
- Package: <https://pypi.org/project/graphinate>
|
|
138
140
|
|
|
139
141
|
## Quick Start
|
|
140
142
|
|
|
@@ -177,11 +179,17 @@ def edge():
|
|
|
177
179
|
graphinate.materialize(graph_model)
|
|
178
180
|
```
|
|
179
181
|
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
#### `graphinate.model` function
|
|
185
|
+
|
|
180
186
|
> [!NOTE]
|
|
181
|
-
> ### `graphinate.model` function
|
|
182
187
|
> This function creates `GraphModel` class that is used to declaratively register _Edge_ and/or _Node_ data
|
|
183
188
|
> supplier functions by using the `GraphModel.node()` and `GraphModel.edge()` decorators.
|
|
184
|
-
|
|
189
|
+
|
|
190
|
+
#### `graphinate.materialize` function
|
|
191
|
+
|
|
192
|
+
> [!NOTE]
|
|
185
193
|
> This function can be used to easily generate an output from a `GraphModel` instance.
|
|
186
194
|
> By default, it will prompt the user to choose the output format, using a popup GUI dialog box.
|
|
187
195
|
|
|
@@ -189,7 +197,7 @@ graphinate.materialize(graph_model)
|
|
|
189
197
|
|
|
190
198
|
### Commands
|
|
191
199
|
|
|
192
|
-
```
|
|
200
|
+
```text
|
|
193
201
|
Usage: python -m graphinate [OPTIONS] COMMAND [ARGS]...
|
|
194
202
|
|
|
195
203
|
Options:
|
|
@@ -202,7 +210,7 @@ Commands:
|
|
|
202
210
|
|
|
203
211
|
#### Save
|
|
204
212
|
|
|
205
|
-
```
|
|
213
|
+
```text
|
|
206
214
|
Usage: python -m graphinate save [OPTIONS]
|
|
207
215
|
|
|
208
216
|
Options:
|
|
@@ -215,7 +223,7 @@ Options:
|
|
|
215
223
|
|
|
216
224
|
#### Server
|
|
217
225
|
|
|
218
|
-
```
|
|
226
|
+
```text
|
|
219
227
|
Usage: python -m graphinate server [OPTIONS]
|
|
220
228
|
|
|
221
229
|
Options:
|
|
@@ -311,7 +319,7 @@ python -m mkdocs build
|
|
|
311
319
|
|
|
312
320
|
<a href="https://www.jetbrains.com/pycharm/"><img height="60" style="background: linear-gradient(-45deg, #FCF84A, #3DEA62, #21D789);" src="https://resources.jetbrains.com/storage/products/company/brand/logos/PyCharm.png" alt="PyCharm logo."></a>
|
|
313
321
|
|
|
314
|
-
|
|
322
|
+
---------------------
|
|
315
323
|
|
|
316
324
|
<img alt="Star Chart" src="https://forthebadge.com/images/badges/works-on-my-machine.svg">
|
|
317
325
|
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
<td>Tools</td>
|
|
22
22
|
<td>
|
|
23
23
|
<a href="https://www.jetbrains.com/pycharm/"><img alt="PyCharm" src="https://img.shields.io/badge/PyCharm-FCF84A.svg?logo=PyCharm&logoColor=black&labelColor=21D789&color=FCF84A"></a>
|
|
24
|
-
<a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json"
|
|
25
|
-
<a href="https://github.com/astral-sh/uv"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json"
|
|
26
|
-
<a href="https://squidfunk.github.io/mkdocs-material/"><img src="https://img.shields.io/badge/Material_for_MkDocs-526CFE?&logo=MaterialForMkDocs&logoColor=white&labelColor=grey"></a>
|
|
27
|
-
<a href="https://github.com/tox-dev/pipdeptree"><img src="https://img.shields.io/badge/pipdeptree-526CFE.svg?labelColor=gray&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFElEQVR4nFxTW2tcVRRe39773E/mliZjwKRmhBaKt4BWRKmGgihCH3xUKNWC/Q/ii76IP8AHpSIiRfqmD5YKCinalhgiCMZLSVtMM0mTdDLTuZyZc9l7yTlp7WXBgXPW+fa31rfWtxU9FLMN79Crr028e+iJsZfb7fJMp23xRlOvbTR3L/y5cuOL3Vbv7/vxuPviecI/eWr6k/mj4+8AkM11y+zs2MKwMJvNgIgYINZX/rlx+tIvf72fZXr4P0EQyOCjjw98P9vwn8+/+z3Bq6sek7AJkNhsOjQcyjvFmHd2upd+PP/zsSxNI5mnPvjw8U9fPFJ9XVkgNuDVayEbcgVEfgikNfFg4JAmh1LyyfGq06QqE9vN6+fEs4fHnjv25vjbAOA4AsL2MVZ1hRcI4QXIH7ilMqQXkiYXRBJRbFNQnTsRlqfmxFvH66ccFyAQMxP3I5cqNZBSxIWcKORMO9g3yeSHzFkGbnVCIkDUZ+beEy+8VJ4XguC6TMPYokwrCAHUJsBxYptoFBYSMi0oLIlcAkuFYhal8Zl5VanZU0zErgfurufMFjEkWZ7iRFY4SlgYfW9bUIJKFQNjiNPYf1QZOZn/hTaStPQKTI4eDCxSjsL4I6BeJzOjgcnT0HqPqwBJCdHZjW/miWjkkG3hzqKIe5FVlM3llGuWqOxTDMBkWlJ/6PB2p0Sb21gXixdvLeTtDGOHLFvQHpkiYyTuNU5kuxJercTdpEK3Bz4yLdFrXVsQ33x1/bModjhvyrKKVXB/YD9gb8PgKAlolAZipmFTOIYcxq21Xz8XS5dbi+e+2zqbA3MjxYninH3PpkyZljwYjZE2FoxBIWm6YVHaW/k66qwtF05curz509OHHzvqBqWp232fE+2AoCjOXNMfhcRcjAxxoijNFNpbG0vL588cNzpLC4I00cnCD1fPBuVqffbA5DMGNjR5MOSBpC+UYxGE5G5PmNXff/vy4rdnTmRJHD1wG+9G42D9qVfeePLk/oONI8qv7+/2fbq11f53ZfnqhStLi6d3b67/cT/+vwAAAP//Xo5dwOtdLi4AAAAASUVORK5CYII="></a>
|
|
24
|
+
<a href="https://github.com/astral-sh/ruff"><img alt="ruff" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json" style="max-width:100%;"></a>
|
|
25
|
+
<a href="https://github.com/astral-sh/uv"><img alt="uv" src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json" style="max-width:100%;"></a>
|
|
26
|
+
<a href="https://squidfunk.github.io/mkdocs-material/"><img alt="mkdocs-material" src="https://img.shields.io/badge/Material_for_MkDocs-526CFE?&logo=MaterialForMkDocs&logoColor=white&labelColor=grey"></a>
|
|
27
|
+
<a href="https://github.com/tox-dev/pipdeptree"><img alt="pipdeptree" src="https://img.shields.io/badge/pipdeptree-526CFE.svg?labelColor=gray&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFElEQVR4nFxTW2tcVRRe39773E/mliZjwKRmhBaKt4BWRKmGgihCH3xUKNWC/Q/ii76IP8AHpSIiRfqmD5YKCinalhgiCMZLSVtMM0mTdDLTuZyZc9l7yTlp7WXBgXPW+fa31rfWtxU9FLMN79Crr028e+iJsZfb7fJMp23xRlOvbTR3L/y5cuOL3Vbv7/vxuPviecI/eWr6k/mj4+8AkM11y+zs2MKwMJvNgIgYINZX/rlx+tIvf72fZXr4P0EQyOCjjw98P9vwn8+/+z3Bq6sek7AJkNhsOjQcyjvFmHd2upd+PP/zsSxNI5mnPvjw8U9fPFJ9XVkgNuDVayEbcgVEfgikNfFg4JAmh1LyyfGq06QqE9vN6+fEs4fHnjv25vjbAOA4AsL2MVZ1hRcI4QXIH7ilMqQXkiYXRBJRbFNQnTsRlqfmxFvH66ccFyAQMxP3I5cqNZBSxIWcKORMO9g3yeSHzFkGbnVCIkDUZ+beEy+8VJ4XguC6TMPYokwrCAHUJsBxYptoFBYSMi0oLIlcAkuFYhal8Zl5VanZU0zErgfurufMFjEkWZ7iRFY4SlgYfW9bUIJKFQNjiNPYf1QZOZn/hTaStPQKTI4eDCxSjsL4I6BeJzOjgcnT0HqPqwBJCdHZjW/miWjkkG3hzqKIe5FVlM3llGuWqOxTDMBkWlJ/6PB2p0Sb21gXixdvLeTtDGOHLFvQHpkiYyTuNU5kuxJercTdpEK3Bz4yLdFrXVsQ33x1/bModjhvyrKKVXB/YD9gb8PgKAlolAZipmFTOIYcxq21Xz8XS5dbi+e+2zqbA3MjxYninH3PpkyZljwYjZE2FoxBIWm6YVHaW/k66qwtF05curz509OHHzvqBqWp232fE+2AoCjOXNMfhcRcjAxxoijNFNpbG0vL588cNzpLC4I00cnCD1fPBuVqffbA5DMGNjR5MOSBpC+UYxGE5G5PmNXff/vy4rdnTmRJHD1wG+9G42D9qVfeePLk/oONI8qv7+/2fbq11f53ZfnqhStLi6d3b67/cT/+vwAAAP//Xo5dwOtdLi4AAAAASUVORK5CYII="></a>
|
|
28
28
|
</td>
|
|
29
29
|
</tr>
|
|
30
30
|
<tr>
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
<a href="https://sonarcloud.io/summary/new_code?id=erivlis_graphinate"><img alt="Bugs" src="https://sonarcloud.io/api/project_badges/measure?project=erivlis_graphinate&metric=bugs"></a>
|
|
51
51
|
<br>
|
|
52
52
|
<a href="https://app.codacy.com/gh/erivlis/graphinate/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img alt="Codacy Badge" src="https://app.codacy.com/project/badge/Grade/54b33c3f7313448f9471d01e2a06f037"></a>
|
|
53
|
+
<a href="https://app.codacy.com/gh/erivlis/graphinate/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage"><img alt="Codacy Coverage" src="https://app.codacy.com/project/badge/Coverage/54b33c3f7313448f9471d01e2a06f037"/></a>
|
|
53
54
|
<a href="https://scrutinizer-ci.com/g/erivlis/graphinate"><img alt="Scrutinizer" src="https://scrutinizer-ci.com/g/erivlis/graphinate/badges/quality-score.png?b=main"></a>
|
|
54
55
|
<!--a href="https://snyk.io/test/github/erivlis/graphinate"><img alt="Snyk" src="https://snyk.io/test/github/erivlis/Graphinate/badge.svg"></a -->
|
|
55
56
|
</td>
|
|
@@ -73,9 +74,9 @@ In addition, there are several modes of output to enable examination of the Grap
|
|
|
73
74
|
|
|
74
75
|
### Links
|
|
75
76
|
|
|
76
|
-
- Website (including documentation): https://erivlis.github.io/graphinate
|
|
77
|
-
- Source: https://github.com/erivlis/graphinate
|
|
78
|
-
- Package: https://pypi.org/project/graphinate
|
|
77
|
+
- Website (including documentation): <https://erivlis.github.io/graphinate>
|
|
78
|
+
- Source: <https://github.com/erivlis/graphinate>
|
|
79
|
+
- Package: <https://pypi.org/project/graphinate>
|
|
79
80
|
|
|
80
81
|
## Quick Start
|
|
81
82
|
|
|
@@ -118,11 +119,17 @@ def edge():
|
|
|
118
119
|
graphinate.materialize(graph_model)
|
|
119
120
|
```
|
|
120
121
|
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
#### `graphinate.model` function
|
|
125
|
+
|
|
121
126
|
> [!NOTE]
|
|
122
|
-
> ### `graphinate.model` function
|
|
123
127
|
> This function creates `GraphModel` class that is used to declaratively register _Edge_ and/or _Node_ data
|
|
124
128
|
> supplier functions by using the `GraphModel.node()` and `GraphModel.edge()` decorators.
|
|
125
|
-
|
|
129
|
+
|
|
130
|
+
#### `graphinate.materialize` function
|
|
131
|
+
|
|
132
|
+
> [!NOTE]
|
|
126
133
|
> This function can be used to easily generate an output from a `GraphModel` instance.
|
|
127
134
|
> By default, it will prompt the user to choose the output format, using a popup GUI dialog box.
|
|
128
135
|
|
|
@@ -130,7 +137,7 @@ graphinate.materialize(graph_model)
|
|
|
130
137
|
|
|
131
138
|
### Commands
|
|
132
139
|
|
|
133
|
-
```
|
|
140
|
+
```text
|
|
134
141
|
Usage: python -m graphinate [OPTIONS] COMMAND [ARGS]...
|
|
135
142
|
|
|
136
143
|
Options:
|
|
@@ -143,7 +150,7 @@ Commands:
|
|
|
143
150
|
|
|
144
151
|
#### Save
|
|
145
152
|
|
|
146
|
-
```
|
|
153
|
+
```text
|
|
147
154
|
Usage: python -m graphinate save [OPTIONS]
|
|
148
155
|
|
|
149
156
|
Options:
|
|
@@ -156,7 +163,7 @@ Options:
|
|
|
156
163
|
|
|
157
164
|
#### Server
|
|
158
165
|
|
|
159
|
-
```
|
|
166
|
+
```text
|
|
160
167
|
Usage: python -m graphinate server [OPTIONS]
|
|
161
168
|
|
|
162
169
|
Options:
|
|
@@ -252,7 +259,7 @@ python -m mkdocs build
|
|
|
252
259
|
|
|
253
260
|
<a href="https://www.jetbrains.com/pycharm/"><img height="60" style="background: linear-gradient(-45deg, #FCF84A, #3DEA62, #21D789);" src="https://resources.jetbrains.com/storage/products/company/brand/logos/PyCharm.png" alt="PyCharm logo."></a>
|
|
254
261
|
|
|
255
|
-
|
|
262
|
+
---------------------
|
|
256
263
|
|
|
257
264
|
<img alt="Star Chart" src="https://forthebadge.com/images/badges/works-on-my-machine.svg">
|
|
258
265
|
|
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
|
|
8
8
|
## Repos
|
|
9
9
|
|
|
10
|
-
### Graphinate
|
|
10
|
+
### Graphinate
|
|
11
11
|
|
|
12
12
|
<img alt="Graphinate Star Chart" src="https://starchart.cc/erivlis/graphinate.svg">
|
|
13
|
+
|
|
14
|
+
https://starchart.cc/erivlis/graphinate.svg
|
|
15
|
+
|
|
16
|
+
### MappingTools
|
|
17
|
+
|
|
18
|
+
<img alt="MappingTools Star Chart" src="https://starchart.cc/erivlis/mappingtools.svg">
|
|
@@ -25,4 +25,4 @@
|
|
|
25
25
|
|
|
26
26
|
## IDE
|
|
27
27
|
|
|
28
|
-
<a href="https://www.jetbrains.com/pycharm/"><img style="height: 50px; background: linear-gradient(-45deg, #FCF84A, #3DEA62, #21D789);" src="https://resources.jetbrains.com/storage/products/company/brand/logos/PyCharm.png" alt="PyCharm logo."></a>
|
|
28
|
+
<a href="https://www.jetbrains.com/pycharm/"><img style="height: 50px; background: linear-gradient(-45deg, #FCF84A, #3DEA62, #21D789);" src="https://resources.jetbrains.com/storage/products/company/brand/logos/PyCharm.png" alt="PyCharm logo."></a>
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
<a href="https://sonarcloud.io/summary/new_code?id=erivlis_graphinate"><img alt="Bugs" src="https://sonarcloud.io/api/project_badges/measure?project=erivlis_graphinate&metric=bugs"></a>
|
|
50
50
|
<br>
|
|
51
51
|
<a href="https://app.codacy.com/gh/erivlis/graphinate/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade"><img alt="Codacy Badge" src="https://app.codacy.com/project/badge/Grade/54b33c3f7313448f9471d01e2a06f037"></a>
|
|
52
|
+
<a href="https://app.codacy.com/gh/erivlis/graphinate/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_coverage"><img alt="Codacy Coverage" src="https://app.codacy.com/project/badge/Coverage/54b33c3f7313448f9471d01e2a06f037"/></a>
|
|
52
53
|
<a href="https://scrutinizer-ci.com/g/erivlis/graphinate"><img alt="Scrutinizer" src="https://scrutinizer-ci.com/g/erivlis/graphinate/badges/quality-score.png?b=main"></a>
|
|
53
54
|
</td>
|
|
54
55
|
</tr>
|
|
@@ -2,34 +2,37 @@ import graphinate
|
|
|
2
2
|
import graphinate.modeling
|
|
3
3
|
import networkx as nx
|
|
4
4
|
|
|
5
|
-
N: int = 8
|
|
6
5
|
|
|
6
|
+
def polygonal_graph_edges(edges_count: int):
|
|
7
|
+
for i in range(1, edges_count):
|
|
8
|
+
yield {'source': i, 'target': i + 1}
|
|
9
|
+
yield {'source': edges_count, 'target': 1}
|
|
7
10
|
|
|
8
|
-
|
|
11
|
+
|
|
12
|
+
def polygonal_graph_model(name: str, number_of_sides: int) -> graphinate.GraphModel:
|
|
9
13
|
"""
|
|
10
14
|
Create a polygonal graph model.
|
|
11
15
|
|
|
12
16
|
Args:
|
|
13
|
-
|
|
17
|
+
name (str): The Graph's name.
|
|
18
|
+
number_of_sides (int): Number of sides in the polygon.
|
|
14
19
|
|
|
15
20
|
Returns:
|
|
16
21
|
GraphModel: A graph model representing a polygonal graph.
|
|
17
22
|
"""
|
|
18
23
|
|
|
19
24
|
# Define GraphModel
|
|
20
|
-
graph_model = graphinate.model(name
|
|
25
|
+
graph_model = graphinate.model(name)
|
|
21
26
|
|
|
22
27
|
# Register edges supplier function
|
|
23
28
|
@graph_model.edge()
|
|
24
29
|
def edge():
|
|
25
|
-
|
|
26
|
-
yield {'source': i, 'target': i + 1}
|
|
27
|
-
yield {'source': number_of_sides - 1, 'target': 0}
|
|
30
|
+
yield from polygonal_graph_edges(number_of_sides)
|
|
28
31
|
|
|
29
32
|
return graph_model
|
|
30
33
|
|
|
31
34
|
|
|
32
|
-
model = polygonal_graph_model()
|
|
35
|
+
model = polygonal_graph_model("Octagonal Graph", 8)
|
|
33
36
|
|
|
34
37
|
if __name__ == '__main__':
|
|
35
38
|
use_materialize = True
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "Graphinate"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.1"
|
|
4
4
|
authors = [
|
|
5
5
|
{ name = "Eran Rivlis", email = "eran@rivlis.info" },
|
|
6
6
|
]
|
|
@@ -16,6 +16,7 @@ classifiers = [
|
|
|
16
16
|
"Programming Language :: Python :: 3.10",
|
|
17
17
|
"Programming Language :: Python :: 3.11",
|
|
18
18
|
"Programming Language :: Python :: 3.12",
|
|
19
|
+
"Programming Language :: Python :: 3.13",
|
|
19
20
|
"Programming Language :: Python :: 3 :: Only",
|
|
20
21
|
"Programming Language :: Python :: Implementation :: CPython",
|
|
21
22
|
"License :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)",
|
|
@@ -347,7 +347,7 @@ class D3Builder(NetworkxBuilder):
|
|
|
347
347
|
class GraphQLBuilder(NetworkxBuilder):
|
|
348
348
|
"""Builds a GraphQL Schema"""
|
|
349
349
|
|
|
350
|
-
# region Strawberry Types
|
|
350
|
+
# region - Strawberry Types
|
|
351
351
|
|
|
352
352
|
InfNumber = strawberry.scalar(
|
|
353
353
|
converters.InfNumber,
|
|
@@ -504,7 +504,7 @@ class GraphQLBuilder(NetworkxBuilder):
|
|
|
504
504
|
overall_reciprocity = 'overall_reciprocity'
|
|
505
505
|
wiener_index = 'wiener_index'
|
|
506
506
|
|
|
507
|
-
# endregion Strawberry Types
|
|
507
|
+
# endregion - Strawberry Types
|
|
508
508
|
|
|
509
509
|
def __init__(self, model: GraphModel, graph_type: GraphType = GraphType.Graph):
|
|
510
510
|
super().__init__(model, graph_type)
|
|
@@ -705,7 +705,7 @@ class GraphQLBuilder(NetworkxBuilder):
|
|
|
705
705
|
self.add_field_resolver(query_class_dict, 'edges', graph_edges_resolver())
|
|
706
706
|
# endregion
|
|
707
707
|
|
|
708
|
-
# region
|
|
708
|
+
# region - Defining GraphQL Query Class dict - fields for GraphQL types implementing 'GraphNode' interface
|
|
709
709
|
for node_type, graphql_type in self._graphql_types.items():
|
|
710
710
|
field_name = inflection.plural(node_type)
|
|
711
711
|
resolver = graph_nodes_resolver(graphql_type, node_type)
|
|
@@ -713,7 +713,7 @@ class GraphQLBuilder(NetworkxBuilder):
|
|
|
713
713
|
|
|
714
714
|
# endregion
|
|
715
715
|
|
|
716
|
-
#
|
|
716
|
+
# region - Defining GraphQL Query Class dict - field measure for 'GraphMeasure' GraphQL type
|
|
717
717
|
|
|
718
718
|
def graph_measure(self, measure: GraphQLBuilder.GraphMeasure) -> GraphQLBuilder.Measure:
|
|
719
719
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{graphinate-0.3.0 → graphinate-0.3.1}/src/graphinate/server/web/static/images/network_graph.png
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|