Skip to main content

pygwalker-visual-analytics

Guides agents through using PyGWalker for exploratory visual data analysis in notebooks and lightweight apps: pandas/polars/data connectors, drag-and-drop charts, saved specs, Streamlit embedding, kernel computation, chart export, and privacy-safe configuration.

소스 정보

저장소
LongLeo287/SEOSONA-OS
최근 소스 활동
2026년 8월 4일 05:01
감지된 SKILL.md 언어
영어
스타
2
포크
1

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
pygwalker_visual_analytics
description
Guides agents through using PyGWalker for exploratory visual data analysis in notebooks and lightweight apps: pandas/polars/data connectors, drag-and-drop charts, saved specs, Streamlit embedding, kernel computation, chart export, and privacy-safe configuration.
# PyGWalker Visual Analytics Use this skill when a Python workflow needs fast exploratory data analysis with an interactive visual UI. PyGWalker is most useful when the user has a DataFrame, CSV, SQL view, or analytics export and wants to inspect distributions, build charts, filter data, or turn exploration into reusable chart specs. ## When To Use - A user asks to explore a CSV, pandas DataFrame, analytics export, SEO export, notebook dataset, or SQL-backed table visually. - A quick drag-and-drop data profiler or Tableau-like interface is more useful than hand-writing plots. - A Streamlit app needs embedded visual exploration for a DataFrame. - An analyst needs reusable chart state, chart export, or a shareable notebook artifact. - A dataset is large enough that local browser transfer should be limited and Python-side computation should be used. Prefer static plotting libraries when the chart design is already known and the output must be deterministic in CI or a report. Prefer BI platforms when the dashboard needs governed multi-user publishing, permissions, and scheduled refresh. ## Core Concepts - **Interactive walker:** `pyg.walk(dataset)` turns a supported dataset into an interactive Graphic Walker UI. - **Dataset adapters:** supports pandas, optional polars, optional PySpark, SQLAlchemy connectors, and cloud dataset references. - **Spec:** chart configuration state can be loaded from or saved to a JSON string or file path. - **Kernel computation:** keeps large-data operations in Python/DuckDB instead of pushing too much data to the frontend. - **Environment adapters:** notebooks, Jupyter widgets, Streamlit, Gradio, Marimo, Reflex, and webserver-style rendering have dedicated API surfaces. - **Privacy mode:** local config controls whether PyGWalker is offline, update-only, or event-tracking enabled. ## Privacy-First Setup For private client data, internal SEO exports, analytics exports, or unpublished business data, set privacy to offline before opening the data: ```bash pygwalker config --set privacy=offline ``` Rules: - Do not store Kanaries tokens in SEOSONA system files. - Do not enable cloud computation for private datasets unless explicitly approved. - Keep saved specs and chart exports in the project artifact area, not in global config folders. - Do not commit raw client data, large exports, local config files, or notebook outputs that contain private rows. - Treat database URLs as secrets; use environment variables or secret managers. ## Notebook Pattern ```python import pandas as pd import pygwalker as pyg df = pd.read_csv("dataset.csv") walker = pyg.walk( df, spec="chart_meta.json", kernel_computation=True, show_cloud_tool=False, ) ``` Use this pattern when: - the analyst wants drag-and-drop exploration - chart state should be reusable - the dataset is large enough to benefit from local kernel computation - cloud sharing is not part of the requirement ## Streamlit Pattern Use Streamlit when a repeatable internal app is better than an ad hoc notebook. ```python import pandas as pd import streamlit as st from pygwalker.api.streamlit import StreamlitRenderer st.set_page_config(page_title="Visual Data Explorer", layout="wide") @st.cache_resource def get_renderer() -> StreamlitRenderer: df = pd.read_csv("dataset.csv") return StreamlitRenderer( df, spec="gw_config.json", spec_io_mode="rw", kernel_computation=True, ) renderer = get_renderer() renderer.explorer() ``` Important: - Cache the renderer in Streamlit to avoid repeated memory-heavy initialization. - Use `spec_io_mode="rw"` only when users should save chart configuration. - Use stable `gid` values when rendering multiple related datasets. ## SQL Connector Pattern Use SQLAlchemy connectors when the data should remain query-backed: ```python from pygwalker.data_parsers.database_parser import Connector import pygwalker as pyg conn = Connector( url=os.environ["ANALYTICS_DATABASE_URL"], view_sql="SELECT * FROM analytics_view", ) pyg.walk(conn, kernel_computation=True, show_cloud_tool=False) ``` Rules: - Never inline database credentials. - Keep `view_sql` explicit and narrow. - Avoid `SELECT *` joins that can create duplicate column names. - Limit the view to fields needed for exploration. ## Chart Export After saving a chart in the UI, export it programmatically: ```python walker.save_chart_to_file("Chart 1", "chart1.svg", save_type="svg") png_bytes = walker.export_chart_png("Chart 1") svg_bytes = walker.export_chart_svg("Chart 1") ``` Use exports for: - audit screenshots - report figures - documentation - before/after comparison artifacts ## SEOSONA Use Cases - Explore SEO audit CSV exports before writing recommendations. - Profile GSC, GA4, keyword, backlink, or crawl exports visually. - Build quick internal visual exploration apps for client datasets. - Export selected charts into report artifacts after human review. - Use saved specs as repeatable analysis recipes. ## Validation Checklist - Privacy mode matches the data sensitivity. - `show_cloud_tool` and `cloud_computation` are disabled unless approved. - Saved spec path is project-local and safe to commit. - Raw data stays out of git unless it is explicitly public/sample data. - Large datasets use kernel computation or connector-backed computation. - Streamlit renderers are cached. - Chart exports are reviewed for private values before publication. ## Anti-Patterns - Opening client data while default telemetry/event mode is active. - Committing Kanaries tokens, database URLs, generated config files, or private chart specs. - Uploading data to cloud computation for convenience without explicit approval. - Treating a drag-and-drop chart as final analysis without checking definitions, filters, aggregation, and sample bias. - Using PyGWalker as a production BI permission layer.
GitHub에서 보기