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.2.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.2-py3-none-any.whl (3.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: filter_persist-0.1.2.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.2.tar.gz
Algorithm Hash digest
SHA256 32a176a2c1e1c95f8a0676ff6642f9d22c9d9177b8d503c62e8be3bc25712a36
MD5 a3db0299191dbaf9cfa0f3290e8659b5
BLAKE2b-256 40d76d7ded6b42dacee2889bf97932b89cfe87832ed7b4be209317bf7cf5baf2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: filter_persist-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 12f74f751ba051fffbb9cab394d27d716dace8b9576d9720d8c23b4d60b96f87
MD5 794e44f204ffa52f8d9ac2ec76591de1
BLAKE2b-256 e71c6632f4e19cc96c121050a1869fefff5a9febb4eaafd0cb02586ab3d486ac

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