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.4.tar.gz (1.6 MB 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.4-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file filter_persist-0.1.4.tar.gz.

File metadata

  • Download URL: filter_persist-0.1.4.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • 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.4.tar.gz
Algorithm Hash digest
SHA256 12eda4abed86103ba904c7af957de83f53ac42035e7129346f3dddc147042800
MD5 be4a78efc6a35e266ef6fdaef56005ea
BLAKE2b-256 728f3d16fa217bc741161cc42f39e9f6c79ac416fda5e22f6069d3be6c375802

See more details on using hashes here.

File details

Details for the file filter_persist-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: filter_persist-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9c1a87f7b3d08a383007a9dbe5a72b232955ef6977295dc382fbf6824f023c6a
MD5 ad953f5cadd33934c41137d2a2f45a6e
BLAKE2b-256 30db1a0b157b6879b91aa2bc424aab493ce784122a4bb735665d4b13877c9def

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