Custom Streamlit AgGrid component
Project description
Filter Persist
Filter Persist is a custom Streamlit component that integrates AG Grid and enables persistent filtering using a local JSON file.
Built with care by Parshav Shivnani, this component is ideal for dashboards where user filter preferences need to be retained between sessions.
🔧 Features
- Interactive AG Grid component for Streamlit
- Filters are saved and restored from a JSON file
- Simple to integrate in any Streamlit workflow
- No need for AG Grid enterprise modules
📦 Installation
Install the package from PyPI:
pip install filter-persist
Example using python import streamlit as st import pandas as pd import json from filter_persist import custom_aggrid
Sample DataFrame
df = pd.DataFrame({ "name": ["Alice", "Bob", "Charlie"], "age": [25, 30, 30], })
Load saved filters from JSON file
try: with open("filter_model.json", "r") as f: saved_filters = json.load(f) except FileNotFoundError: saved_filters = None
st.title("Filter Persist - AG Grid with JSON Persistence")
Call the component
result = custom_aggrid( data=df.to_dict("records"), column_defs=[{"field": c} for c in df.columns], filter_model=saved_filters, )
Save current filter state to JSON file
if result: with open("filter_model.json", "w") as f: json.dump(result, f)
Display current filters
st.subheader("Current Filter Model:") st.json(result)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file filter_persist-0.1.1.tar.gz.
File metadata
- Download URL: filter_persist-0.1.1.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
262547a77aea3d3587e1cda67cee8ae8cf93952b5adf080df73290bd62481f00
|
|
| MD5 |
46258f9996575cea82aebb0882def6a5
|
|
| BLAKE2b-256 |
7c753b3bdfcdf3d90a010959b66fc57a1825734cec16a731888ddde535d6eb90
|
File details
Details for the file filter_persist-0.1.1-py3-none-any.whl.
File metadata
- Download URL: filter_persist-0.1.1-py3-none-any.whl
- Upload date:
- Size: 3.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c22935b3239405925b339353ab924ef6557de3cd4eda2780d9d8211df3da2145
|
|
| MD5 |
ba890b2308855842c156b663adf20d08
|
|
| BLAKE2b-256 |
aee62db786ad90170fd72ae71397a9d9d45ce3a42ec8dc2b3e6ec6a5d8725df7
|