‹ Reports
The Dispatch

OSS Report: Kanaries/pygwalker


PyGWalker Development Focuses on UI Enhancements and Data Handling Improvements

PyGWalker, a Python library for transforming pandas DataFrames into interactive visualizations, has seen active development with a focus on user interface enhancements and data handling optimizations.

Recent Activity

Recent pull requests indicate a strong emphasis on improving user experience and expanding integration capabilities. Notable PRs include #620, which introduced data compression in HTML, and #607, adding support for table components in Streamlit. These efforts suggest a trajectory towards making PyGWalker more versatile and efficient.

Development Team and Recent Activity

  1. islxyqwe

    • 4 days ago: Bumped version to 0.4.9.9.
    • 4 days ago: Merged PR #620, implementing HTML data compression.
    • Total of 3 commits in the last 30 days.
  2. Douding (longxiaofei)

    • 25 days ago: Bumped version to 0.4.9.8.
    • 31 days ago: Adjusted UI style.
    • Total of 1 commit in the last 30 days.
  3. Elwynn Chen (ObservedObserver)

    • Last notable activity was API redesigns around 175 days ago.

The team collaborates closely, with islxyqwe and Douding focusing on data handling improvements and UI enhancements.

Of Note

Quantified Reports

Quantify Issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 1 0 0 0 1
30 Days 6 5 9 3 1
90 Days 12 9 32 5 1
1 Year 106 83 319 34 5
All Time 198 155 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Quantify commits



Quantified Commit Activity Over 30 Days

Developer Avatar Branches PRs Commits Files Changes
islxyqwe 1 2/2/0 3 8 132
Douding 1 1/1/0 1 1 2

PRs: created by that dev and opened/merged/closed-unmerged during the period

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

The Kanaries/pygwalker repository currently has 43 open issues, with recent activity indicating a mix of bug reports and feature requests. Notably, issues related to memory management and rendering in various environments (like Streamlit and Databricks) have been frequently discussed, suggesting potential performance concerns.

Several issues exhibit common themes, such as memory growth during usage (#618), bugs related to specific data types (#621), and integration challenges with other frameworks (#597). These recurring topics indicate that users are encountering significant hurdles when attempting to utilize PyGWalker effectively in diverse settings.

Issue Details

Recent Issues

  1. Issue #621: [BUG] pygwalker bug report

    • Priority: P1
    • Status: Open
    • Created: 0 days ago
    • Updated: N/A
    • Description: Fails with DataFrames having MultiIndex columns.
  2. Issue #618: [BUG] Memory growth when using PyGWalker with Streamlit

    • Priority: P2
    • Status: Open
    • Created: 10 days ago
    • Updated: 5 days ago
    • Description: Observed RAM growth on page reloads when integrated with Streamlit.
  3. Issue #615: Unique count on duplicated data set

    • Priority: P2
    • Status: Open
    • Created: 24 days ago
    • Updated: 13 days ago
    • Description: Request for unique count functionality similar to Excel and PowerBI.
  4. Issue #597: [BUG] pygwalker widget does not render in databricks

    • Priority: P1
    • Status: Open
    • Created: 57 days ago
    • Updated: 3 days ago
    • Description: Widget fails to render due to size limitations in Databricks.
  5. Issue #577: It is possible to run pygwalker from Pycharm???

    • Priority: P2
    • Status: Open
    • Created: 103 days ago
    • Updated: 12 days ago
    • Description: Inquiry about running PyGWalker outside of notebook environments.

Analysis of Themes

  • Memory Management Issues: Multiple users have reported problems with memory usage, particularly when integrating with Streamlit (#618). This suggests a need for optimization in how PyGWalker handles data rendering and resource allocation.

  • Integration Challenges: Issues like rendering failures in Databricks (#597) and the inability to run PyGWalker in IDEs like PyCharm (#577) highlight the difficulties users face when trying to incorporate this tool into their existing workflows.

  • Feature Requests: There is a clear demand for additional functionalities, such as unique counts for duplicated datasets (#615) and better handling of MultiIndex DataFrames (#621), indicating that users are looking for more robust analytical capabilities within the tool.

Overall, the combination of bug reports and feature requests reflects both user frustration with current limitations and enthusiasm for expanding the tool's capabilities.

Report On: Fetch pull requests



Overview

The analysis of the pull requests (PRs) for the PyGWalker project reveals a robust development activity with a focus on feature enhancements, bug fixes, and version updates. The PRs indicate a well-maintained project with regular contributions from its maintainers, primarily Douding (longxiaofei), who appears to be the main contributor.

Summary of Pull Requests

  • PR #620: Introduced data compression in HTML to reduce file size. Closed and merged quickly, indicating active maintenance.
  • PR #613: Bumped version to v0.4.9.8. A routine version update.
  • PR #612: Fixed an issue with duplicate DSL parsers in the package, optimizing the build.
  • PR #609 & PR #608: Both PRs adjusted UI styles, suggesting ongoing efforts to improve user experience.
  • PR #607: Added support for table components in Streamlit, expanding integration capabilities.
  • PR #606: Fixed rendering issues in Streamlit, addressing community-reported problems.
  • PR #603 & PR #602: Routine version bumps and updates to dependencies.
  • PR #601 - PR #600: Various fixes and updates, including disabling kernel computation in Jupyter environments.
  • PR #599 - PR #598: Added support for custom components in Streamlit and fixed issues related to event handling.
  • PR #594 - PR #593: Introduced new features like data limit tips and experimental component API for better data visualization control.
  • PR #592 - PR #591: Minor fixes and updates, ensuring stability and performance improvements.
  • PR #588 - PR #587: Fixes related to test cases, maintaining code quality and reliability.
  • PR #586 - PR #585: Added tips for web API usage in Streamlit, enhancing documentation and user guidance.
  • PR #584 - PR #583: Routine version bumps, keeping dependencies up-to-date.
  • PR #582 - PR #581: Updates to graphic-walker version and optimizations in rendering processes.
  • PR #579 - PR #578: Minor adjustments and temporary fixes, showing responsiveness to immediate issues.
  • PR #574 - PR #572: Documentation updates and code refactoring efforts for better maintainability.
  • PR #566 - PR #565: Version bumps and fixes for deployment issues with custom proxy servers.
  • PR #563 - PR #562: Fixes related to URL handling and SQL conversion issues across different databases.
  • PR #560 - PR #558: Feature additions like ISO time unit support and new web server modes, indicating ongoing feature expansion.
  • PR #554 - PR #553: Routine version bumps and SQL dialect fixes, ensuring compatibility across different database systems.
  • PR #550 - PR #549 - PR #548: Attempts to add global parameters for data length customization, with some not merged possibly due to overlapping efforts or changes in direction.
  • PR #547: Updated DSL parser version to fix specific SQL errors in PostgreSQL.
  • PR #543: Fixed clipboard functionality across different browsers, enhancing usability.
  • PR #541 - PR #540: Updates to graphic-walker version and improvements in source code parsing within Jupyter environments.

Analysis of Pull Requests

The pull requests for PyGWalker demonstrate a clear focus on enhancing functionality, improving user experience, and maintaining high code quality through regular updates and bug fixes. The quick turnaround on many of these PRs indicates an active development team that is responsive to both internal needs (like version bumps and dependency updates) and external feedback (such as bug reports from users).

Notably, there is a strong emphasis on integrating with various platforms (like Streamlit and Jupyter), which aligns with PyGWalker's goal of being a versatile tool for data analysis across different environments. The introduction of features like custom components in Streamlit (as seen in PRs like #598) suggests an effort to expand PyGWalker's capabilities and make it more appealing to a broader audience.

The presence of both feature additions (like the experimental component API in PR #593) and routine maintenance tasks (such as version bumps in PRs like #613) reflects a balanced approach to development that prioritizes both innovation and stability.

However, there are instances where multiple similar PRs were created but not all were merged (e.g., several attempts to add global parameters for data length customization). This could indicate either overlapping efforts or a shift in priorities that led to some contributions being set aside. Such situations highlight the importance of clear communication within the development team to ensure that efforts are not duplicated unnecessarily.

Overall, the analysis of these pull requests paints a picture of a dynamic project that is continually evolving to meet the needs of its users while also striving for high standards of code quality and maintainability. The active involvement of contributors like Douding (longxiaofei) suggests strong leadership within the project, guiding its development effectively.

Report On: Fetch commits



Repo Commits Analysis

Development Team and Recent Activity

Team Members

  1. islxyqwe

    • Recent Activity:
    • 4 days ago: Bumped version to 0.4.9.9.
    • 4 days ago: Merged pull request #620 and implemented feature to compress all data in HTML, affecting multiple files including index.tsx and preview_image.py.
    • Total of 3 commits in the last 30 days with 132 changes across 8 files.
  2. Douding (longxiaofei)

    • Recent Activity:
    • 25 days ago: Bumped version to 0.4.9.8.
    • 31 days ago: Adjusted UI style.
    • Ongoing contributions with a focus on UI enhancements and bug fixes over the past months.
    • Total of 1 commit in the last 30 days with 2 changes across 1 file.
  3. Elwynn Chen (ObservedObserver)

    • Recent Activity:
    • Involved in multiple refactoring and documentation updates, including redesigning APIs and fixing linting issues.
    • Last notable activity was merging a pull request related to API redesigns around 175 days ago.

Collaboration

  • islxyqwe collaborated closely with Douding on the recent feature for compressing HTML data, indicating a focus on improving data handling capabilities.
  • Douding has been the primary contributor, consistently making enhancements and fixes, particularly around UI and functionality.

Work in Progress

  • The recent merge of pull request #620 suggests ongoing work related to data compression features is still being refined.
  • There are open pull requests indicating potential future features or fixes that are yet to be merged.

Patterns and Themes

  • Frequent Updates: The project has seen regular updates, particularly from Douding, who is actively enhancing features and fixing bugs.
  • Focus on UI/UX Improvements: A consistent theme in recent commits is the enhancement of user interface elements, suggesting a priority on user experience.
  • Collaborative Efforts: The collaboration between team members indicates a cohesive team dynamic focused on improving the product's capabilities.

Conclusions

The development team is actively engaged in enhancing the PyGWalker project, with a strong emphasis on user interface improvements and data handling capabilities. The contributions show a clear direction towards refining existing functionalities while also addressing user needs through collaborative efforts.