Add programmatic issue reporting utility to cuDF #19898
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a comprehensive issue reporting utility that helps users generate well-formatted GitHub issue reports programmatically. The utility addresses common challenges in bug reporting by automatically collecting system information and formatting reports according to cuDF's contributing guidelines.
New Functionality
The
cudf.utils.issue_reporting
module provides three main functions:create_issue_report(title, description, error=None, minimal_example=None, output_file=None)
Creates comprehensive issue reports with system information, error details, and code examples:
report_error(error, context=None, title=None, minimal_example=None)
Generates issue reports specifically for exceptions with full stack traces:
get_system_info()
Collects relevant system information including cuDF version, Python version, platform details, GPU information, and CUDA version.
Generated Report Format
Reports are formatted for GitHub issues and include:
Implementation Details
__getattr__
incudf.utils
to avoid import overheadUse Cases
This utility is particularly useful for:
Testing
Comprehensive test suite covering all functionality, including edge cases like missing dependencies and file I/O operations.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.