jrieke / streamlit-analytics

đź‘€ Track & visualize user interactions with your streamlit app
MIT License
262 stars 48 forks source link

Streamlit -> 1.30, fixed st.query_params, fixed 25 security issues, added .github/contributing.md, multipage example/, software version printing #44

Closed 444B closed 6 months ago

444B commented 7 months ago

Hi @jrieke, I am making a PR as discussed. I acknowledge that there are multiple changes here and can split this into 4 different PRs if you prefer. Also AFAIK, this wont yet make any changes to downstream pip but I rely on you to let me know how that works since I have less experience with creating pypi packages. Please find below a summary of changes, all tested and verified.

Streamlit -> 1.30

All adjustments were made with streamlit >=1.30 in the Pipfile

fixed st.query_params

st.experimental_get_query_params() was replaced with st.query_params. I made sure to test the changes first on my local env files before making an edit to the /streamlit_analytics/main.py file and both work fine, with no more deprecation notice. Screenshot below [1]

Fixed 25 Security issues raised by Dependabot, by updating dependencies

[!IMPORTANT]
These issues ranges from Critical to Low (2 Critical, 11 High, 10 Moderate, 2 Low) Screenshot seen in comment below

added .github/contributing.md

A CONTRIBUTING.md was added to detail the following 1) How to contribute to the project 2) How to set up a test environment to work on any contributions This was the methodology I followed and if it could be improved or has flaws, please share

multipage sidebar of files in example/ directory

To facilitate easier testing of features, a sidebar with a multipage selection was added. This allows individuals to test all features to ensure no breaking changes

software version printing

To ensure collaborators are not unaligned with the software versions they are using in testing, a few lines were added to the /example/minimal.py page to print the software version, as seen in screenshot below [1]

Please let me know your thoughts I could not find any errors when using all features and look forward to your feedback

1

444B commented 7 months ago

fixes #39

444B commented 6 months ago

@Aniket-Pradhan

Thank you for the review! I would love to become a more involved contributor to the core upstream project. This is currently the main open source project I wish the most to contribute towards

I intend to address the following:

Dahie commented 6 months ago

@444B Thanks for the effort! I've been watching this PR the last 4 weeks, as this is also necessary for a project I'm working on. Has @jrieke responded since your first PR?

444B commented 6 months ago

@Dahie Thanks for checking it out! I will send him another email now but he did reply initially. As I understand, there has been alot of projects going on I would like to become a maintainer of this repo in order to provide fixes downstream, which is scalable

While it is possible to use my fork, it isn't at all feasible to integrate these changes for users that get the streamlit-analytics from pip / pypi since @jrieke is the sole maintainer of that package

Update: sent another email and waiting for a reply

444B commented 6 months ago

@jgieseler tagging you here since I came across your post in discuss.streamlit.io

444B commented 6 months ago

FYI do not merge this yet, I am reviewing a possible env issue that went undetected. Will add a new commit if confirmed and new fix verified

Update: Correctly updated Pipfile with the correct minimum version of Streamlit

444B commented 6 months ago

I can also confirm that the changes to the Piplock.file also resolved over 25 security issues that existed in dependencies

image

444B commented 6 months ago

Hi all I was in contact with @jrieke who is not available to look into these project currently

I have taken the decision to fork the project, fix some issues and also look into developing new features. Please take a look at streamlit-analytics2

You may be glad to know that it already has fixed the st.experimental_get_query_params deprecation notice(tested, verified) as well as the 25 security issues that were present.

You can download it via pypi with a pip install streamlit-analytics2 and updating your requirements and your import. No other changes should be necessary and everything is detailed in the repo wiki

Tagging those who may be interested, based on past engagement and relevant issues: @Aniket-Pradhan @Dahie @Uranium2 @jgieseler @hansipie @mt-krainski