{"library":"streamlit-aggrid","title":"Streamlit AgGrid","type":"library","description":"Streamlit-AgGrid is an active Python library that provides a feature-rich implementation of the Ag-Grid JavaScript library as a Streamlit component. It enables developers to create sophisticated, interactive data tables within their Streamlit applications, offering functionalities such as advanced filtering, sorting, inline cell editing, row grouping, and custom cell rendering. The library, currently at version 1.2.1.post2, maintains an active release cadence with frequent updates and bug fixes, typically every few months.","language":"python","status":"active","last_verified":"Thu May 21","install":{"commands":["pip install streamlit-aggrid pandas streamlit"],"cli":null},"imports":["from st_aggrid import AgGrid","from st_aggrid import GridOptionsBuilder","from st_aggrid import JsCode","from st_aggrid import AgGrid"],"auth":{"required":false,"env_vars":[]},"links":{"homepage":null,"github":"https://github.com/PablocFonseca/streamlit-aggrid","docs":null,"changelog":null,"pypi":"https://pypi.org/project/streamlit-aggrid/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null},"quickstart":{"code":"import streamlit as st\nimport pandas as pd\nfrom st_aggrid import AgGrid, GridOptionsBuilder, GridUpdateMode, DataReturnMode\n\nst.set_page_config(layout='wide')\n\n# Create a sample DataFrame\ndata = {\n    'col1': [1, 2, 3, 4, 5],\n    'col2': ['A', 'B', 'C', 'D', 'E'],\n    'col3': [10.1, 20.2, 30.3, 40.4, 50.5],\n    'col4': [True, False, True, False, True]\n}\ndf = pd.DataFrame(data)\n\nst.subheader('Basic Interactive AgGrid Table')\n\n# Configure grid options\ngb = GridOptionsBuilder.from_dataframe(df)\ngb.configure_column('col1', header_name='Column One', editable=True)\ngb.configure_column('col2', header_name='Column Two', editable=True)\ngb.configure_selection(selection_mode='multiple', use_checkbox=True)\n\ngrid_options = gb.build()\n\n# Display the AgGrid component\ngrid_response = AgGrid(\n    df,\n    gridOptions=grid_options,\n    data_return_mode=DataReturnMode.AS_INPUT,\n    update_mode=GridUpdateMode.MODEL_CHANGED,\n    fit_columns_on_grid_load=True,\n    height=350,\n    width='100%',\n    allow_unsafe_jscode=True, # Required for some advanced customizations like JsCode\n    enable_enterprise_modules=False # Set to True if using Ag-Grid Enterprise features and have a license\n)\n\nst.subheader('Selected Rows')\nif grid_response['selected_rows']:\n    st.write(pd.DataFrame(grid_response['selected_rows']))\n\nst.subheader('Edited Data (if any)')\nif grid_response['data'] is not None:\n    st.write(grid_response['data'])\n","lang":"python","description":"This quickstart example demonstrates how to display a Pandas DataFrame using `streamlit-aggrid` with basic interactivity, including editable columns and row selection. It uses `GridOptionsBuilder` for customization and retrieves the `selected_rows` and potentially `edited data` from the grid's response.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":{"tag":null,"tag_description":null,"last_tested":"2026-05-21","installed_version":"1.0.5","pypi_latest":"1.2.1.post2","is_stale":true,"summary":{"python_range":"3.10–3.9","success_rate":90,"avg_install_s":15.8,"avg_import_s":2.54,"wheel_type":"wheel"},"results":[{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.64,"mem_mb":50.9,"disk_size":"466.2M"},{"runtime":"python:3.10-alpine","python_version":"3.10","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":16.6,"import_time_s":1.46,"mem_mb":46.1,"disk_size":"435M"},{"runtime":"python:3.10-slim","python_version":"3.10","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.44,"mem_mb":44,"disk_size":"432M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.56,"mem_mb":57.6,"disk_size":"486.9M"},{"runtime":"python:3.11-alpine","python_version":"3.11","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.68,"mem_mb":54.3,"disk_size":"484.0M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":15.5,"import_time_s":2.33,"mem_mb":52.2,"disk_size":"455M"},{"runtime":"python:3.11-slim","python_version":"3.11","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.98,"mem_mb":49.8,"disk_size":"452M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.29,"mem_mb":55.6,"disk_size":"470.6M"},{"runtime":"python:3.12-alpine","python_version":"3.12","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.51,"mem_mb":53.2,"disk_size":"467.5M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":14.7,"import_time_s":2.54,"mem_mb":51.1,"disk_size":"439M"},{"runtime":"python:3.12-slim","python_version":"3.12","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.47,"mem_mb":48.8,"disk_size":"436M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":3.04,"mem_mb":56.5,"disk_size":"469.3M"},{"runtime":"python:3.13-alpine","python_version":"3.13","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":3.27,"mem_mb":54.1,"disk_size":"466.2M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":15.1,"import_time_s":2.48,"mem_mb":51.9,"disk_size":"438M"},{"runtime":"python:3.13-slim","python_version":"3.13","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":2.78,"mem_mb":49.6,"disk_size":"434M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"sdist","failure_reason":null,"import_side_effects":"noisy","install_time_s":null,"import_time_s":2.31,"mem_mb":47,"disk_size":"459.0M"},{"runtime":"python:3.9-alpine","python_version":"3.9","os_libc":"alpine (musl)","variant":"streamlit-aggrid","exit_code":1,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":null,"mem_mb":null,"disk_size":null},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":"wheel","failure_reason":null,"import_side_effects":"noisy","install_time_s":17.3,"import_time_s":1.46,"mem_mb":42.2,"disk_size":"437M"},{"runtime":"python:3.9-slim","python_version":"3.9","os_libc":"slim (glibc)","variant":"streamlit-aggrid","exit_code":0,"wheel_type":null,"failure_reason":null,"import_side_effects":null,"install_time_s":null,"import_time_s":1.48,"mem_mb":42.2,"disk_size":"437M"}]}}