https://github.com/panel-extensions/panel-graphic-walker Skip to content Navigation Menu Toggle navigation Sign in * Product + GitHub Copilot Write better code with AI + Security Find and fix vulnerabilities + Actions Automate any workflow + Codespaces Instant dev environments + Issues Plan and track work + Code Review Manage code changes + Discussions Collaborate outside of code + Code Search Find more, search less Explore + All features + Documentation + GitHub Skills + Blog * Solutions By company size + Enterprises + Small and medium teams + Startups By use case + DevSecOps + DevOps + CI/CD + View all use cases By industry + Healthcare + Financial services + Manufacturing + Government + View all industries View all solutions * Resources Topics + AI + DevOps + Security + Software Development + View all Explore + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners + Executive Insights * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Enterprise + Enterprise platform AI-powered developer platform Available add-ons + Advanced Security Enterprise-grade security features + GitHub Copilot Enterprise-grade AI features + Premium Support Enterprise-grade 24/7 support * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up Reseting focus You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} panel-extensions / panel-graphic-walker Public * Notifications You must be signed in to change notification settings * Fork 4 * Star 162 A project providing a Graphic Walker Pane for use with HoloViz Panel. github.com/panel-extensions/panel-graphic-walker License MIT license 162 stars 4 forks Branches Tags Activity Star Notifications You must be signed in to change notification settings * Code * Issues 12 * Pull requests 1 * Actions * Projects 0 * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Security * Insights panel-extensions/panel-graphic-walker main BranchesTags [ ] Go to file Code Folders and files Last commit Last Name Name message commit date Latest commit History 29 Commits .github/workflows .github/workflows docs docs examples examples scripts scripts src/panel_gwalker src/panel_gwalker static static tests tests .gitignore .gitignore .pre-commit-config.yaml .pre-commit-config.yaml DEVELOPER_GUIDE.md DEVELOPER_GUIDE.md LICENSE.md LICENSE.md MANIFEST.in MANIFEST.in README.md README.md pyproject.toml pyproject.toml View all files Repository files navigation * README * MIT license Welcome to Panel Graphic Walker License py.cafe A simple way to explore your data through a Tableau-like interface directly in your Panel data applications. panel-graphic-walker-plot What is Panel Graphic Walker? panel-graphic-walker brings the power of Graphic Walker to your data science workflow, seamlessly integrating interactive data exploration into notebooks and Panel applications. Effortlessly create dynamic visualizations, analyze datasets, and build dashboards--all within a Pythonic, intuitive interface. Why choose Panel Graphic Walker? * Simplicity: Just plug in your data, and panel-graphic-walker takes care of the rest. * Quick Data Exploration: Start exploring in seconds, with instant chart and table rendering via a Tableau-like interface. * Integrates with Python Visualization Ecosystem: Easily integrates with Panel, HoloViz, and the broader Python Visualization ecosystem. * Scales to your Data: Designed for diverse data backends and scalability, so you can explore even larger datasets seamlessly. (More Features Coming Soon) Pin your version! This project is in its early stages, so if you find a version that suits your needs, it's recommended to pin your version, as updates may introduce changes. Installation Install panel-graphic-walker via pip: pip install panel-graphic-walker Usage Basic Graphic Walker Pane py.cafe Static Badge Here's an example of how to create a simple GraphicWalker pane: import pandas as pd import panel as pn from panel_gwalker import GraphicWalker pn.extension() df = pd.read_csv("https://datasets.holoviz.org/windturbines/v1/windturbines.csv.gz", nrows=10000) GraphicWalker(df).servable() You can put the code in a file app.py and serve it with panel serve app.py. Basic Example Setting the Chart Specification py.cafe Static Badge In the GraphicWalker UI, you can save your chart specification as a JSON file. You can then open the GraphicWalker with the same spec: GraphicWalker(df, spec="spec.json") Spec Example Changing the renderer py.cafe Static Badge You may change the renderer to one of 'explorer' (default), 'profiler', 'viewer' or 'chart': GraphicWalker(df, renderer='profiler') renderer.png Scaling with Server-Side Computation py.cafe Static Badge In some environments, you may encounter message or client-side data limits. To handle larger datasets, you can offload the computation to the server or Jupyter kernel. First, you will need to install extra dependencies: pip install panel-graphic-walker[kernel] Then you can use server-side computation with kernel_computation= True: walker = GraphicWalker(df, kernel_computation=True) This setup allows your application to manage larger datasets efficiently by leveraging server resources for data processing. Please note that if running on Pyodide, computations will always take place on the client. Explore all the Parameters and Methods py.cafe Static Badge To learn more about all the parameters and methods of GraphicWalker, try the panel-graphic-walker Reference App. Panel Graphic Walker Reference App Examples Bike Sharing Dashboard py.cafe Static Badge Bike Sharing Dashboard Earthquake Dashboard py.cafe Static Badge Earthquake Dashboard API Parameters Core * object (DataFrame): The data for exploration. Please note that if you update the object, the existing chart(s) will not be deleted, and you will have to create a new one manually to use the new dataset. * field_specs (list): Optional specification of fields (columns). * spec (str, dict, list): Optional chart specification as URL, JSON, dict, or list. Can be generated via the export method. * kernel_computation (bool): Optional. If True, the computations will take place on the server or in the Jupyter kernel instead of the client to scale to larger datasets. The 'chart' renderer will only work with client side rendering. Default is False. Renderer * renderer (str): How to display the data. One of 'explorer' (default), 'profiler', 'viewer', or 'chart'. These correspond to GraphicWalker, TableWalker, GraphicRenderer, and PureRender in the graphic-walker React library. * container_height (str): The height of a single chart in the viewer or chart renderer. For example, '500px' (pixels) or '30vh' (viewport height). * hide_profiling (bool): Whether to hide the profiling part of the 'profiler' renderer. Default is False. Does not apply to other renderers. * index (int | list): Optional index or indices to display. Default is None (all). Only applicable for the viewer or chart renderer. * page_size (int): The number of rows per page in the table. Only applicable for the profiler renderer. * tab ('data' | 'vis'): Set the active tab to 'data' or 'vis' (default). Only applicable for the explorer renderer. Not bi-directionally synced. Style * appearance (str): Optional dark mode preference: 'light', 'dark', or 'media'. If not provided, the appearance is derived from pn.config.theme. * theme_key (str): Optional chart theme: 'g2' (default), 'streamlit', or 'vega'. If using the FastListTemplate, try combining the theme_key 'g2' with the accent color #5B8FF9 , or 'streamlit' and #ff4a4a , or 'vega' and #4c78a8 . Other * config (dict): Optional additional configuration for Graphic Walker. For example {"i18nLang": "ja-JP"}. See the Graphic Walker API for more details. Methods Clone * clone: Clones the GraphicWalker. Takes additional keyword arguments. Example: walker.clone(renderer='profiler', index=1). * chart: Clones the GraphicWalker and sets renderer='chart'. Example: walker.chart(0). * explorer: Clones the GraphicWalker and sets renderer='explorer'. Example: walker.explorer(width=400). * profiler: Clones the GraphicWalker and sets renderer='profiler'. Example: walker.profiler(width=400). * viewer: Clones the GraphicWalker and sets renderer='viewer'. Example: walker.viewer(width=400). Export and Save Methods * export_chart: Returns chart(s) from the frontend exported as either Graphic Walker Chart specification, vega-lite specification or SVG strings. * save_chart: Saves chart(s) from the frontend exported as either Graphic Walker Chart specifications, vega-lite specification or SVG strings. * export_controls: Returns a UI component to export the charts(s) and interactively set scope, mode, and timeout parameters. The value parameter will hold the exported spec. * save_controls: Returns a UI component to export and save the chart(s) acting much like export_controls. Other Methods * add_chart: Adds a Chart to the explorer from a Graphic Walker Chart specification. * calculated_field_specs: Returns a list of fields calculated from the object. This is a great starting point if you want to provide custom field_specs. Vision Our dream is that this package is super simple to use and supports your use cases: * Great documentation, including examples. * Supports your preferred data backend, including Pandas, Polars, and DuckDB. * Supports persisting and reusing Graphic Walker specifications. * Scales to even the largest datasets, only limited by your server, cluster, or database. Supported Backends Name kernel_computation kernel_computation Comment =False =True Pandas Polars DuckDB Relation Too good to be Ibis Table True. Please report feedback. Dask Not supported by Pygwalker Pygwalker Not supported by Database Narwhals Connector Other backends might be supported if they are supported by both Narwhals and PygWalker. Via the backends example its possible to explore backends. In the data test fixture you can see which backends we currently test. [?] Contributions Contributions and co-maintainers are very welcome! Please submit issues or pull requests to the GitHub repository. Check out the DEVELOPER_GUIDE for more information. About A project providing a Graphic Walker Pane for use with HoloViz Panel. github.com/panel-extensions/panel-graphic-walker Topics visualization python data data-mining notebook eda data-visualization business-intelligence vega vega-lite data-analysis tableau data-exploration low-code pivot-table data-app tableau-alternative holoviz-panel Resources Readme License MIT license Activity Custom properties Stars 162 stars Watchers 8 watching Forks 4 forks Report repository Releases 5 tags Packages 0 No packages published Contributors 3 * @MarcSkovMadsen MarcSkovMadsen Marc Skov Madsen * @philippjfr philippjfr Philipp Rudiger * @ahuang11 ahuang11 Andrew Languages * Python 84.2% * JavaScript 15.8% Footer (c) 2024 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.