sahajre / streamlit-aggrid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

streamlit-aggrid

Open in Streamlit GitHub PyPI

AgGrid is an awsome grid for web frontend. More information in https://www.ag-grid.com/. Consider purchasing a license from Ag-Grid if you are going to use enterprise featrues!

Comment on discuss.streamlit.io If you like it or Buy me a beer 🍺!


Install

pip install streamlit-aggrid

Quick Use

Create an example.py file

from st_aggrid import AgGrid

df = pd.read_csv('https://raw.githubusercontent.com/fivethirtyeight/data/master/airline-safety/airline-safety.csv')
AgGrid(df)

Run :

streamlit run example.py

Demo

Grid data is sent back to streamlit and can be reused in other components. In the example below a chart is updated on grid edition.

example image

Develpoment Notes

Version 0.1.8

  • Fixes a bug that breaks the grid when NaN or Inf values are present in the data

Version 0.1.7

  • Fixes a bug that happened when converting data back from the grid with only one row
  • Added license_key parameter on AgGrid call.

Version 0.1.6

  • Fixes issue #3
  • Adds support for timedelta columns check example

Version 0.1.5

  • small bug fixes
  • there is an option to avoid grid re-initialization on app update (check fixed_key_example.py on examples folder or here)

Version 0.1.3

  • Fixed bug where cell was blank after edition.
  • Added enable_enterprise_modules argument to AgGrid call for enabling/disabling enterprise features
  • It is now possible to inject js functions on gridOptions. Enabling advanced customizations such as conditional formating (check 4th column on the example)

Version 0.1.2

  • added customCurrencyFormat as column type

Version 0.1.0:

  • I worked a little bit more on making the example app functional.
  • Couple configuration options for update mode (How frontend updates streamlit) and for data returns (grid should return data filtered? Sorted?)
  • Some basic level of row selection
  • Added some docstrings specially on gridOptionsBuilder methods
  • Lacks performance for production. JS Client code is slow...

About

License:MIT License


Languages

Language:Python 63.8%Language:TypeScript 25.1%Language:HTML 9.3%Language:JavaScript 1.9%