Skip to main content

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

filter_persist-0.1.1.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

filter_persist-0.1.1-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

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

Hashes for filter_persist-0.1.1.tar.gz
Algorithm Hash digest
SHA256 262547a77aea3d3587e1cda67cee8ae8cf93952b5adf080df73290bd62481f00
MD5 46258f9996575cea82aebb0882def6a5
BLAKE2b-256 7c753b3bdfcdf3d90a010959b66fc57a1825734cec16a731888ddde535d6eb90

See more details on using hashes here.

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

Hashes for filter_persist-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c22935b3239405925b339353ab924ef6557de3cd4eda2780d9d8211df3da2145
MD5 ba890b2308855842c156b663adf20d08
BLAKE2b-256 aee62db786ad90170fd72ae71397a9d9d45ce3a42ec8dc2b3e6ec6a5d8725df7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page