agentsclimarketplace

Pygraphistry connectors

Skill graphistry/graphistry-skills/.agents/skills/pygraphistry-connectors

PyGraphistry connector workflows for external data sources and graph databases. Use when asked to "connect graphistry to Neo4j", "load from Splunk into graphistry", "query Kusto/ADX and visualize", "Databricks graph", "TigerGraph with pygraphistry", "ingest SQL into a graph", or any "graphistry + [external platform]" request. Also triggers on Neptune, Postgres, BigQuery, Memgraph, or connector/plugin keywords. Proactively suggest when the user has data in an external system and wants graph visualization without first loading it into a DataFrame.From its SKILL.md

Install
npx -y skills add graphistry/graphistry-skills --skill pygraphistry-connectors

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

4.2 KB, as published. Nobody here has run it

PyGraphistry Connectors

Doc routing (local + canonical)

  • First route with ../pygraphistry/references/pygraphistry-readthedocs-toc.md.
  • Use ../pygraphistry/references/pygraphistry-readthedocs-top-level.tsv for section-level shortcuts.
  • Only scan ../pygraphistry/references/pygraphistry-readthedocs-sitemap.xml when a needed page is missing.
  • Use one batched discovery read before deep-page reads; avoid cat * and serial micro-reads.
  • In user-facing answers, prefer canonical https://pygraphistry.readthedocs.io/en/latest/... links.

Strategy

  • Prefer dataframe-first ingestion when practical, then bind with edges()/nodes().
  • Use connector-specific notebook patterns when auth/query semantics are specialized.
  • For very large datasets, push filtering/aggregation upstream before plotting.
  • Keep connector and Graphistry credentials in env vars or secret stores; no hardcoded keys.
  • Never use placeholder literals like username='user' / password='pass' / username='...'; use os.environ[...] or os.environ.get(...).
  • For concise tasks, respond with a single compact code block and minimal prose.
  • In concise snippets, prefer explicit privacy literals ('private' or 'organization') over placeholder variables.

Connector triage rubric

  • Use native graph-db connectors (cypher(), Neptune/TigerGraph flows) when traversal is best expressed upstream.
  • For local Cypher-style queries on in-memory PyGraphistry graphs (no external DB), use g.gfql("MATCH ..."). Note: graphistry.cypher() is a distinct Neo4j/Memgraph/Neptune connector, not the same as local GFQL Cypher.
  • Use SQL/log source extraction when your source is tabular or SIEM-centric, then bind in PyGraphistry.
  • If unsure, start with source-native query -> dataframe -> edges()/nodes(), then optimize connector depth.

Connector families

  • Graph DBs: Neo4j, Neptune, TigerGraph, Memgraph, Arango.
  • Data/SQL: Databricks, PostgreSQL, Spanner, warehouse-style pipelines.
  • Logs/SIEM: Splunk, Kusto, AlienVault.
  • Compute/layout plugins: networkx, graphviz, cugraph, igraph, hypernetx.

Minimal examples

# Neo4j/Memgraph/Neptune connector (runs query on external DB server)
g = graphistry.cypher('MATCH (a)-[r]->(b) RETURN a,b,r')
g.plot()
# Local Cypher via GFQL (no external DB needed — preferred for local graphs)
g2 = g.gfql("MATCH (a)-[r]->(b) WHERE a.score > 10 RETURN a.id, b.id")
# Graphistry org/service-account auth before connector workflows
graphistry.register(
    api=3,
    org_name=os.environ.get('GRAPHISTRY_ORG_NAME'),
    personal_key_id=os.environ.get('GRAPHISTRY_PERSONAL_KEY_ID'),
    personal_key_secret=os.environ.get('GRAPHISTRY_PERSONAL_KEY_SECRET')
)
# Generic dataframe path after source-specific query/extract
# edges_df: src,dst,...
g = graphistry.edges(edges_df, 'src', 'dst')
graphistry.privacy(mode='private')
plot_url = g.plot(render=False)
# Connector-oriented flow with explicit nodes + focused GFQL slice
# Example source can be Neo4j/Splunk -> dataframe extraction
g = graphistry.edges(edges_df, 'src', 'dst').nodes(nodes_df, 'id')
g_focus = g.gfql([...]).name('connector-slice')
graphistry.privacy(mode='organization')
plot_url = g_focus.plot(render=False)

Canonical docs

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.