Releases: Kanaries/pygwalker
0.4.9.15
What's Changed
- feat: adding port param in webserver by @longxiaofei in #691
- feat: add new init function for Connector by @longxiaofei in #692
- refactor: code for web_server walker by @longxiaofei in #694
Full Changelog: 0.4.9.14...0.4.9.15
0.4.9.14
New Feature: Standalone Web App Mode
We're excited to announce that PyGWalker now supports visualization without requiring a frontend environment!
What's New
PyGWalker will now automatically launch a local web application for data visualization when used outside of supported frontend environments (like Jupyter Notebook, Streamlit, or Gradio).
Benefits
- IDE Flexibility: Users can now work with PyGWalker directly from code editors like VSCode, PyCharm, or Vim
- Simplified Workflow: No need to switch between your coding environment and a notebook to visualize your data
- Broader Accessibility: Brings PyGWalker's powerful visualization capabilities to more development workflows
How It Works
When PyGWalker detects it's being used in an environment without a supported frontend, it will automatically:
- Launch a local web server
- Open a browser window with the PyGWalker interface
- Display your data visualizations in this dedicated web app
Example Usage
import pandas as pd
import pygwalker as pyg
# Load your data
df = pd.read_csv("your_data.csv")
# Visualize with PyGWalker - automatically launches in browser when run from IDE
pyg.walk(df)
This enhancement makes PyGWalker more versatile and accessible, allowing for seamless data visualization regardless of your preferred development environment.
What's Changed
- fix: exp.Subquery alias by @longxiaofei in #632
- chore: update test-init.sh by @vignesh1507 in #623
- fix: mssql dialect map by @longxiaofei in #636
- fix: streamlit component by @longxiaofei in #637
- chore: updated a typo in test_data_parsers.py by @vignesh1507 in #641
- chore: typo "dataset_tpye" by @longxiaofei in #643
- feat: support marimo poc version by @longxiaofei in #647
- fix: marimo component encoding by @longxiaofei in #649
- feat: support common anywidget by @longxiaofei in #651
- Update README.md by @swap357 in #652
- Document panel-graphic-walker by @MarcSkovMadsen in #656
- docs: add marimo usage to README by @akshayka in #653
- Add marimo example by @Haleshot in #655
- README spelling correction by @rickhg12hs in #662
- Add Kanaries Doc link to missing api key cloud error. by @dwestjohn in #668
- chore: update numpy version by @longxiaofei in #672
- feat: add api to adapte multiple env by @longxiaofei in #673
- chore: update ci workflow by @longxiaofei in #674
- chore: bump to v0.4.9.14 by @longxiaofei in #675
New Contributors
- @vignesh1507 made their first contribution in #623
- @swap357 made their first contribution in #652
- @MarcSkovMadsen made their first contribution in #656
- @akshayka made their first contribution in #653
- @Haleshot made their first contribution in #655
- @rickhg12hs made their first contribution in #662
- @dwestjohn made their first contribution in #668
Full Changelog: 0.4.9.9...0.4.9.14
0.4.9.9
What's Changed
- fix: rendering in streamlit by @longxiaofei in #606
- feat: support table component in streamlit by @longxiaofei in #607
- feat: adjust ui style by @longxiaofei in #608
- feat: adjust ui style by @longxiaofei in #609
- fix: remove duplicate dsl parser by @islxyqwe in #612
- chore: bump to v0.4.9.8 by @longxiaofei in #613
- feat: compress all data in html by @islxyqwe in #620
Table component in Streamlit
In streamlit, pygwalker support render pygwalker html by streamlit custom component.
Now there is table component when using Streamlit.
example:
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
import streamlit as st
@st.cache_resource
def get_pyg_renderer() -> "StreamlitRenderer":
df = pd.read_csv("xxx")
return StreamlitRenderer(df)
renderer = get_pyg_renderer()
renderer.table()
Full Changelog: 0.4.9.4...0.4.9.9
0.4.9.4
What's Changed
- feat: support streamlit custom component by @longxiaofei in #598
- fix: manually invoke display_preview_on_jupyter by @longxiaofei in #599
- fix: disable kernel computation in JupyterConvert by @longxiaofei in #600
- chore: update gw_dsl_parser version by @longxiaofei in #601
- feat: component api support poi chart by @longxiaofei in #602
Streamlit custom component
In streamlit, pygwalker support render pygwalker html by streamlit custom component.
And supports return spec when spec changes.
example:
from pygwalker.api.streamlit import StreamlitRenderer
import pandas as pd
import streamlit as st
@st.cache_resource
def get_pyg_renderer() -> "StreamlitRenderer":
df = pd.read_csv("xxx")
return StreamlitRenderer(df)
renderer = get_pyg_renderer()
event = renderer.explorer()
print(event)
Full Changelog: 0.4.9.3...0.4.9.4
0.4.9.3
What's Changed
- fix: polars test case by @longxiaofei in #588
- feat: add pygwalker web api tips in streamlit by @longxiaofei in #586
- chore: update duckdb version by @longxiaofei in #591
- fix: error spec of ChartPreviewApp by @longxiaofei in #592
- feat: add component api by @longxiaofei in #593
- feat: new tips for data limit by @longxiaofei in #594
Component api
We're excited to announce an experimental new feature in pygwalker:
The component chaining API that enables intuitive, step-by-step chart construction. This feature currently supports rendering to static HTML.
Key Points:
- Introduces a chainable API for creating visualizations
- Allows for more intuitive and readable code
- Currently an experimental feature
- Limited to static HTML output at this time
Example usage:
import pygwalker as pyg
import pandas as pd
df = pd.read_csv("xxx")
(
pyg.component(df)
.rect()
.encode(x='bin("feeling_temp", 6)', y='bin("temperature", 6)', color="MEAN(humidity)")
.layout(height=400, width=460)
)
For more examples, please refer to the pygwalker/examples
directory in our repository.
Upcoming Improvements:
- Optimize the size of pure chart HTML output
- Implement two-way communication for Jupyter and Streamlit environments
We welcome feedback from our community as we continue to develop and refine this feature.
Please note that as an experimental feature, syntax and functionality may change in future releases
Full Changelog: 0.4.9...0.4.9.3
0.4.9
0.4.8.10
What's Changed
- fix: modify document of appearance param by @longxiaofei in #574
- chore: temporarily specify the numpy version by @longxiaofei in #578
- feat: adjust the position of copy tips by @longxiaofei in #579
- feat: modify render preview by @longxiaofei in #581
- feat: update graphic-walker version by @longxiaofei in #582
Full Changelog: 0.4.8.9...0.4.8.10
0.4.8.9
What's Changed
- fix: convert regex sql to postgres by @longxiaofei in #562
- fix: wrong api url when deployment custom proxy server by @longxiaofei in #565
Full Changelog: 0.4.8.7...0.4.8.9
0.4.8.7
What's Changed
- feat: add web_server mode by @longxiaofei in #558
- feat: add iso time unit by @longxiaofei in #560
Full Changelog: 0.4.8.5...0.4.8.7
0.4.8.5
What's Changed
- fix: fix dialect sql(mysql, postgres) && add new tracker by @longxiaofei in #553
Full Changelog: 0.4.8.4...0.4.8.5