-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershacktoberfest
Description
When processing multiple OpenAPI specifications in batch mode, users have no indication of progress. This is especially frustrating for large batches that may take 10+ minutes to complete.
Current Behavior
pdm run batch --all
# ... long silence ...
# Eventually shows completionDesired Behavior
pdm run batch --all
Processing OpenAPI specifications: 100%|████████████| 25/25 [02:15<00:00, 5.42s/file]
Currently processing: discord.openapi.json
✅ Processed 23 successfully, ❌ 2 failedRequirements
- Show overall progress (current/total files)
- Display current file being processed
- Show elapsed time and ETA
- Display final summary with success/failure counts
- Use a well-established progress bar library
Steps to Complete
- Fork the repository
- Clone locally:
git clone https://github.com/YOUR_USERNAME/arazzo-engine.git - Navigate to:
cd arazzo-engine/generator - Set up environment:
pdm install - Create branch:
git checkout -b feat/batch-progress-bar - Add
tqdmdependency topyproject.toml - Study the batch processing code in
arazzo_generator/batch/batch_generator.py - Integrate progress bar in the
process_spec_list()method - Test with a few files:
pdm run batch --spec-list test_files.txt - Ensure progress bar works correctly
- Update documentation if needed
- Commit and open PR
Files to Edit
-
pyproject.toml(add tqdm dependency) -
arazzo_generator/batch/batch_generator.py -
README.md(update CLI documentation if needed)
Implementation Hints
from tqdm import tqdm
# In process_spec_list method:
for spec_path in tqdm(spec_list, desc="Processing OpenAPI specs"):
# Update description with current file
tqdm.set_description(f"Processing: {os.path.basename(spec_path)}")
# ... existing processing code ...Acceptance Criteria
- Progress bar shows during batch processing
- Current file name is displayed
- Progress percentage is accurate
- ETA is shown when possible
- Final summary shows success/failure counts
- Progress bar works with both
--alland--spec-listmodes - No performance degradation
- Progress bar is disabled when output is redirected
Additional Context
- Use
tqdmlibrary (widely used and well-maintained) - Consider adding a
--quietflag to disable progress bar - Make sure it works well with existing logging output
Estimated Time
⏱️ 2-3 hours
Need Help?
- Check
tqdmdocumentation: https://tqdm.github.io/ - Look at how other CLI tools implement progress bars
- Join Discord for questions
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestgood first issueGood for newcomersGood for newcomershacktoberfest