garphield for Python
Explore graphs visually from a notebook. Pass a NetworkX graph or pandas
DataFrame to show() and get an interactive Garphield view inline - then
open the full workbench to build stories, apply layouts, and return the
result to Python.
import garphield as gph
import networkx as nx
G = nx.karate_club_graph()
view = gph.show(
G,
node_color="club",
node_size=G.degree,
node_label=str,
)
Once the view is displayed, drive it from Python:
view.select([0, 1, 2]).fit()
view.bind("node_color", gph.algorithm("louvain", resolution=1.1))
edited = view.to_project()
Install
pip install garphield
With NetworkX and pandas adapters:
pip install 'garphield[tables,networkx]'
From pandas
import pandas as pd
import garphield as gph
edges = pd.DataFrame({"source": ["a"], "target": ["b"], "weight": [1.5]})
project = gph.Project.from_pandas(edges)
tables = project.to_pandas()
Project files
Read, validate, and write .gph project files:
import garphield as gph
project = gph.Project.load("project.gph")
print(project.semantic_fingerprint())
project.save("project-copy.gph")
Project.save() writes deterministic, human-readable JSON. Semantic and
project fingerprints use RFC 8785/JCS canonical bytes.
Notebook round-trip
The wheel carries a version-matched notebook renderer, so the view works without a hosted renderer or CDN. Use Open in Garphield to continue in the full workbench at garphield.com, then Return to notebook to bring the result back to Python.
The handoff waits for Send project before the remote frame is created or the project is sent to it. The transport uses a 10 s acknowledgement timeout.
Use chrome=["minimap"] or chrome=["toolbar"] to keep embeds
lightweight. project.save_html("graph.html", chrome=["minimap"]) writes
a standalone interactive HTML file.
Environments
Local Jupyter, VS Code notebooks, JupyterHub, Google Colab, and Snowflake
Snowpark notebooks are resolved automatically. For Snowpark, use
show_snowpark() which materializes selected tables in the kernel before
handoff.
Links
Metadata
Release files for garphield 0.1.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| garphield-0.1.7.tar.gz | 995.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| garphield-0.1.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.1 MB
Release files / garphield-0.1.7.tar.gz
| Download URL | garphield-0.1.7.tar.gz |
|---|---|
| Size | 995.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
db0d86c304261e14e4fbd658d4144d18edc35d20142351c962818299e1823826
|
|
BLAKE2b-256 checksum How to use checksums |
b8bf6053df15e0973f77dcf7810fef7bc824b1b39d506324910dbbfe0158eac7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / garphield-0.1.7-py3-none-any.whl
| Download URL | garphield-0.1.7-py3-none-any.whl |
|---|---|
| Size | 1.1 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
49039ae052e6ae4237cb4d017f9fc08f9a30ac61b05f01f96090da098039b056
|
|
BLAKE2b-256 checksum How to use checksums |
7165416cb35b5d7f88caf832589b4a37e7c097626c0bcbeee2419f947e2a52b3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.8 {"installer":{"name":"uv","version":"0.11.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|