Skip to main content

Reimplementation of ag-grid component for streamlit

Project description

streamlit-aggrid-redux

For those that are familiar with Pablo Fonseca's work integrating the JavaScript package AgGrid into streamlit, you are probably also aware that Pablo has effectively ceased development without naming any maintainers of the module. Hence, many users are left developing their own branches as well as some who have attempted creating their own implementations. This is one of the latter.

NOTE: There is significant deviation betweeen Pablo's API and this package's API, it is not a 1:1 mapping between the two but instead a re-implementation of the original code with intent of following Python best practices (e.g., following pep8).

Installation

From PyPI

Installation from pypi is fairly trivial:

python -m pip install streamlit-aggrid-redux

Versioning of this module follows YYYY.MM format, so if you want to install particular versions, you would add the ==YYYY.MM suffix for the particular version.

I have tested this only on 3.10 an d 3.11 versions of Python, so using an older version may not work.

From source

This is only recommended if you want to aid in developing this package. Download the repository in whatever means you want (e.g., using the Download > Zip or via git clone ...). Make your edits and then, to test your changes, you need to build the JS code using npm. This is done by navidating to the frontend folder in terminal/command prompt an running npm run build.

Usage

After installation, this is used very much like the earlier work

import streamlit as st
import streamlit_aggrid_redux as sgr

frame = load_data(...)

# display without any options
sgr.ag_grid(frame)

# display with default grid options (should be identical to above)
sgr.ag_grid(
    frame,
    sgr.GridOptionsBuilder.from_data(frame)
)

Development

I do have a very nice career that takes up 50-60 hours a week and a (large) family on top, so my free time is mostly limited to nights and weekends. I fully intend to support this module for as long as I can, but be aware that responses to Issues/PRs/etc might take a few days, so please be patient.

I do hope that if, for some reason, I am no longer interested in maintaining this code, that I will name some additional maintainers to help support it long-term.

Community Support

If you find you want a certain feature added/removed/modified or have discovered a bug, please open up an Issue with a minimum working example (MWE) and explain both the expected and actual behavior. I'm a far better Python programmer than JS programmer, but I'll do my best in working on any recommendations.

That said, if you know how to write the code, please support the package and the community by adding it yourself! You'll probably feel a lot better knowing you helped out (probably) billions of people who will use this or simply see the results!

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

streamlit_aggrid_redux-2023.10.tar.gz (3.7 MB view details)

Uploaded Source

Built Distribution

streamlit_aggrid_redux-2023.10-py3-none-any.whl (3.7 MB view details)

Uploaded Python 3

File details

Details for the file streamlit_aggrid_redux-2023.10.tar.gz.

File metadata

File hashes

Hashes for streamlit_aggrid_redux-2023.10.tar.gz
Algorithm Hash digest
SHA256 dd3aa38d8f575bf8ff07f95311425792d3a3b0e4af21bb8526cfa3df44efdfdf
MD5 db8d579901ea80e0fc9162955cd68c1e
BLAKE2b-256 c0f2c1f468f491966785fd411237ee0103a8a31053bab163b083818e27435689

See more details on using hashes here.

File details

Details for the file streamlit_aggrid_redux-2023.10-py3-none-any.whl.

File metadata

File hashes

Hashes for streamlit_aggrid_redux-2023.10-py3-none-any.whl
Algorithm Hash digest
SHA256 638dd01892beeb5d673e0613e313108880f0b0440050d7690aed797b08fa528d
MD5 e053ff24c859ab92d6702a828c74ae58
BLAKE2b-256 5e1721113536160516d85dac5e298b5a65d110587fe5b4b06cdadf3c327bc0ce

See more details on using hashes here.

Supported by

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