Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #175 +/- ##
==========================================
+ Coverage 94.52% 95.69% +1.16%
==========================================
Files 7 7
Lines 1133 1254 +121
Branches 148 147 -1
==========================================
+ Hits 1071 1200 +129
+ Misses 52 44 -8
Partials 10 10 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
steveoh
left a comment
There was a problem hiding this comment.
This all looks sound to me. ![]()
For fun and my own curiosity, gemini replaced the fabric bits with paramiko directly and it's straight forward for the SFTP transfers.
I accept that fabric has a more friendly api and is the paramiko recommendation. For this usage, paramiko doesn't seem to be too low level or advanced.
If there is a desire for faster build times and a leaner container memory wise, I think it's worth considering paramiko.
|
You're welcome to spend the time to submit a commit that uses paramiko and updates/replaces all the tests. Otherwise, I'm sticking with fabric. |
Thanks for the offer, but that isn't a priority for me right now. I approved this so unless you are going to wait for Scott, 🚢 |
|
@stdavis, when you're back and dug out, I would appreciate your review of the folder.add changes; I cribbed them from dolly-carton and I think it was straight forward but just want to check. This is also evidence that you were right to want to move some of that into its own library. |
|
@copilot create a child pull request replacing the fabric dependency with paramiko. Scope:
Implementation Details:
|
Co-authored-by: steveoh <325813+steveoh@users.noreply.github.com>
Co-authored-by: steveoh <325813+steveoh@users.noreply.github.com>
Added 7 new test cases to improve coverage: - Success path with proper cleanup - Connection failure handling - Authentication failure handling - SFTP client creation failure - Exception during operations - Integration tests with real context manager Coverage increased from 94% to 96% Co-authored-by: steveoh <325813+steveoh@users.noreply.github.com>
Co-authored-by: steveoh <325813+steveoh@users.noreply.github.com>
- Fixed invalid escape sequences in regex patterns (extract.py lines 137, 195) Changed to raw strings (r"...") for proper regex syntax - Fixed FutureWarning for incompatible dtype assignment (load.py line 577) Changed from np.nan to pd.Series(dtype="object") for proper string/NaN handling All tests pass (369/370), coverage maintained at 96% Co-authored-by: steveoh <325813+steveoh@users.noreply.github.com>
Changed from pd.Series(dtype="object") to pd.Series([np.nan] * len(df), dtype="object", index=df.index) to properly handle index alignment and maintain np.nan for compatibility with tests All tests pass (369/370), coverage maintained at 96% Co-authored-by: steveoh <325813+steveoh@users.noreply.github.com>
- Added overwrite_existing_files boolean parameter to download_sftp_folder_contents (default=True) - Raises FileExistsError when overwrite_existing_files=False and file exists - Changed file counting to track downloaded files instead of directory count - Fixed path separator issues by using Path.as_posix() for cross-platform compatibility - Added 2 new tests for overwrite behavior - Updated all affected tests to handle new behavior All 371 tests pass, coverage maintained at 95% Co-authored-by: jacobdadams <38168030+jacobdadams@users.noreply.github.com>
Moved empty file list check inside first SFTP connection context to avoid opening second connection when no files to download All 371 tests pass, coverage maintained at 95% Co-authored-by: jacobdadams <38168030+jacobdadams@users.noreply.github.com>
|
Ok, I've pulled in the paramiko branch, so if it still looks good to you guys we'll merge this into main (and hopefully kick off a new 6.0 release) |
Uh oh!
There was an error while loading. Please reload this page.