Skip to content

Add support streamer data transfers#197

Merged
ekouts merged 14 commits intoeth-cscs:mainfrom
ekouts:feat/streamer_transfers
Dec 23, 2025
Merged

Add support streamer data transfers#197
ekouts merged 14 commits intoeth-cscs:mainfrom
ekouts:feat/streamer_transfers

Conversation

@ekouts
Copy link
Copy Markdown
Collaborator

@ekouts ekouts commented Dec 22, 2025

Would be better to merge after eth-cscs/firecrest-v2#169, so that we also pin the version to the latest firecrest-streamer

@ekouts ekouts requested a review from rsarm December 22, 2025 13:06
@ekouts ekouts self-assigned this Dec 22, 2025
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds support for streamer-based data transfers as an alternative to S3, enabling more flexible file transfer options. It also modernizes the Python version requirements by dropping Python 3.7 support and adding support for Python 3.10-3.12.

Key changes:

  • Introduces streamer transfer method alongside existing S3 method for both uploads and downloads
  • Adds firecrest-streamer>=0.00.21 dependency and corresponding mypy configuration
  • Updates Python version support from 3.7+ to 3.8+ with explicit support through 3.12

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 10 comments.

Show a summary per file
File Description
pyproject.toml Updates Python version classifiers (removes 3.7, adds 3.10-3.12), sets minimum to 3.8, and adds firecrest-streamer dependency
firecrest/v2/_sync/Client.py Adds ExternalTransfer base class, implements streamer upload/download methods, updates transfer_method parameter validation, and adds wait_for_streamer_job_to_listen logic
firecrest/v2/_async/Client.py Mirrors sync client changes with async equivalents for streamer transfers and job waiting
firecrest/utilities.py Adds sched_state_running helper function to detect running job states
.mypy.ini Adds streamer module to ignore_missing_imports configuration
.github/workflows/testing.yml Updates test matrix to remove Python 3.7

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@ekouts ekouts merged commit aa0e448 into eth-cscs:main Dec 23, 2025
7 checks passed
@ekouts ekouts deleted the feat/streamer_transfers branch December 23, 2025 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants