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 completion
Desired 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 failed
Requirements
- 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
tqdm dependency to pyproject.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
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
Additional Context
- Use
tqdm library (widely used and well-maintained)
- Consider adding a
--quiet flag to disable progress bar
- Make sure it works well with existing logging output
Estimated Time
⏱️ 2-3 hours
Need Help?
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
Desired Behavior
Requirements
Steps to Complete
git clone https://github.com/YOUR_USERNAME/arazzo-engine.gitcd arazzo-engine/generatorpdm installgit checkout -b feat/batch-progress-bartqdmdependency topyproject.tomlarazzo_generator/batch/batch_generator.pyprocess_spec_list()methodpdm run batch --spec-list test_files.txtFiles to Edit
pyproject.toml(add tqdm dependency)arazzo_generator/batch/batch_generator.pyREADME.md(update CLI documentation if needed)Implementation Hints
Acceptance Criteria
--alland--spec-listmodesAdditional Context
tqdmlibrary (widely used and well-maintained)--quietflag to disable progress barEstimated Time
⏱️ 2-3 hours
Need Help?
tqdmdocumentation: https://tqdm.github.io/