Skip to main content

Custom Streamlit AgGrid component with 0.1.5 and greater having major grid options

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. With 0.1.5 version it has majority of AG-Grid builder options

🔧 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.8.tar.gz (2.7 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.8-py3-none-any.whl (4.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: filter_persist-0.1.8.tar.gz
  • Upload date:
  • Size: 2.7 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.8.tar.gz
Algorithm Hash digest
SHA256 ef7ae95eef41e2b5175d024c9c437c3a0e743f36166dc30c44699b25f293ea08
MD5 e30bcfb04c35b7bc3029eeae748e74a9
BLAKE2b-256 0c4b4406be10b9e32d18a3fe2ce6f9c8ecb1596d25a4d7c10d001747ecff6b95

See more details on using hashes here.

File details

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

File metadata

  • Download URL: filter_persist-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 4.2 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 0c2e0e7d026d8fd6b090f8cd0eb3a9b53e3d119ad6974aa8952ef61723178fcd
MD5 556ecfc4a217143ef9fb6256fed2b5c7
BLAKE2b-256 01b017d15da339d181ed15560d497287529a501bba204b4dc808b2ea55c61c9e

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