Conversation
…n packaging - files.py: split download orchestration into a batch-first primary pass (reuses one FTP/S3 connection for the whole project, as before) plus a per-file fallback for invalid/missing files. Removes the per-file reconnect regression from the initial PR version. - files.py: make `_get_download_url` symmetric — raise cleanly when the requested protocol's location is unavailable instead of silently falling back to an arbitrary (possibly Aspera) URL for ftp/s3/globus. - files.py: hoist the globus base URL into a class constant so the mapping is defined in one place; call static helpers via `Files.`. - pyproject.toml: use PEP 621 table form for the license field so it works with the pinned `setuptools>=68` and re-add the `License :: OSI Approved :: Apache Software License` classifier. Bump boto3/botocore lower bounds to match meta.yaml. Add Python 3.12 to the supported classifiers. - python-package.yml: test against 3.9-3.12 and run lint/tests before building the wheel. - tests: update the resilience suite for the renamed helper and add a test asserting the batch path skips the per-file fallback on success. https://claude.ai/code/session_01V9mHYkhG1pggyzJCii8do3
Add resilient multi-protocol download with fallback and checksum validation
…lover-integrity Harden downloads and migrate packaging/docs to uv
|
Warning Rate limit exceeded
Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 50 minutes and 23 seconds. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (11)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This pull request modernizes the development workflow, improves documentation, and makes minor codebase improvements. The most significant changes are the adoption of the
uvtool for dependency management and builds, updates to CI workflows for better Python version support and caching, and a complete rewrite of theREADME.mdto provide clearer installation, usage, and contribution instructions.Workflow and Dependency Management Updates:
All GitHub Actions workflows (
python-app.yml,python-package.yml,python-publish.yml) now use theuvtool for dependency installation, linting, testing, and building, replacingpipandpoetry. Workflows are updated to use the latest action versions and now cache dependencies for faster runs. Python 3.11 and 3.12 are now tested. [1] [2] [3] [4] [5]A
.flake8config file is added to standardize linting settings across environments.Documentation Improvements:
README.mdis completely rewritten for clarity and modern best practices. It now includes improved installation instructions (with a focus onuv), detailed CLI and Python API usage examples, development instructions, and contribution guidelines.Codebase Improvements:
pridepy/files/files.py, including import optimizations and typing enhancements. [1] [2]