-
Notifications
You must be signed in to change notification settings - Fork 0
Final Integration and Release of Enhanced Visualization Features #136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Final Integration and Release of Enhanced Visualization Features #136
Conversation
# Motivation The **Codegen on OSS** package provides a pipeline that: - **Collects repository URLs** from different sources (e.g., CSV files or GitHub searches). - **Parses repositories** using the codegen tool. - **Profiles performance** and logs metrics for each parsing run. - **Logs errors** to help pinpoint parsing failures or performance bottlenecks. <!-- Why is this change necessary? --> # Content <!-- Please include a summary of the change --> see [codegen-on-oss/README.md](https://github.com/codegen-sh/codegen-sdk/blob/acfe3dc07b65670af33b977fa1e7bc8627fd714e/codegen-on-oss/README.md) # Testing <!-- How was the change tested? --> `uv run modal run modal_run.py` No unit tests yet 😿 # Please check the following before marking your PR as ready for review - [ ] I have added tests for my changes - [x] I have updated the documentation or added new documentation as needed
Original commit by Tawsif Kamal: Revert "Revert "Adding Schema for Tool Outputs"" (codegen-sh#894) Reverts codegen-sh#892 --------- Co-authored-by: Rushil Patel <rpatel@codegen.com> Co-authored-by: rushilpatel0 <171610820+rushilpatel0@users.noreply.github.com>
Original commit by Ellen Agarwal: fix: Workaround for relace not adding newlines (codegen-sh#907)
Reviewer's GuideThis PR augments the visualization subsystem by extending the core JSON serializer to accept a graph_type parameter, introducing four new recursive graph-creation utilities, wiring them into the VisualizationManager via updated method signatures and dedicated visualize_* methods, enhancing the VizNode and GraphType enums to support the new modes and interactive metadata, and delivering complete documentation, examples, and tests to validate and demonstrate the new features. Sequence Diagram for Generating Typed Graph VisualizationssequenceDiagram
title Sequence Diagram for Generating Typed Graph Visualizations
participant ClientCode
participant VisManager as VisualizationManager
participant viz_utils
participant FileSystem
ClientCode->>+VisManager: visualize_X_graph(entity, options)
Note over VisManager, viz_utils: X can be Inheritance, Call, Dependency, or Module
VisManager->>+viz_utils: create_X_graph(entity, options)
viz_utils-->>-VisManager: specificGraph
VisManager->>+VisManager: write_graphviz_data(specificGraph, graph_type=GraphType.X_TYPE)
VisManager->>+viz_utils: graph_to_json(specificGraph, None, GraphType.X_TYPE)
viz_utils-->>-VisManager: graphJson
VisManager->>+FileSystem: Write graphJson to file
FileSystem-->>-VisManager: Success
VisManager-->>-ClientCode: Visualization data written
Enum Diagram: Updates to GraphTypeclassDiagram
class GraphType {
<<Enumeration>>
TREE
GRAPH
INHERITANCE
CALL_GRAPH
DEPENDENCY_GRAPH
MODULE_DEPENDENCIES
}
note for GraphType "Added new graph types: INHERITANCE, CALL_GRAPH, DEPENDENCY_GRAPH, MODULE_DEPENDENCIES."
File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Join our Discord community for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
I see a check failed - I'm on it! 🫡 |
🧩 I need a bit more direction! This task is complex - could you break it down into smaller steps? Reach out to our Slack community channel for any help! |
Overview
This PR integrates and finalizes the enhanced visualization features for the Codegen repository. The enhancements include:
Changes
VizNode
class with additional properties for visualizationGraphType
enumVisualizationManager
Testing
Documentation
docs/visualization_features.md
examples/enhanced_visualizations.py
Related Issues
This PR addresses the following issues:
💻 View my work • About Codegen
Summary by Sourcery
Integrate enhanced visualization capabilities by adding new graph creation utilities and corresponding VisualizationManager methods for inheritance hierarchies, call graphs, symbol dependencies, and module dependencies; extend JSON serialization and node metadata to support new graph types and interactive selection; and deliver complete documentation, example scripts, and test coverage for the new features.
New Features:
Enhancements:
Documentation:
Tests:
Chores: