SFTP transport wrapper for data import. Downloads a file
from an SFTP server, detects its format from the file
extension, and delegates to the matching format handler.
Supports any format that has an ObjDataImport* handler:
CSV, JSON, XLSX, XML, Avro, Parquet, YAML, ODS, etc.
ObjImportApi inherits from ObjData.ObjData.
SFTP credentials are resolved in this order:
sftp://user:pass@host:port/path/file.csv_Host, _Port, _Username,_Password set on the parent ObjDataImport instance_Remoteconnection name fromdef_remoteconnections tabletraderftp section in config.yaml| Method | Purpose |
|---|---|
prep_file(filename) |
Parse SFTP URI or load credentials |
open_file(filename) |
Download via SFTP, delegate to format handler |
close_file() |
Close delegate, delete temp file |
column_list() |
Return columns from delegate |
next_row() |
Return next row from delegate |
importer = ObjDataImport()
importer._Importtype = "sftp"
importer.import_file("sftp://user:pass@host/data/report.csv")
importer = ObjDataImport()
importer._Importtype = "sftp"
importer._Host = "sftp.example.com"
importer._Username = "user"
importer._Password = "secret"
importer.import_file("/remote/path/data.xlsx")
importer = ObjDataImport()
importer._Importtype = "sftp"
importer._Remoteconnection = "TRADER_SFTP"
importer.import_file("/exports/daily_report.csv")
pysftp — SFTP client (already in requirements.txt)ObjFtp.py — FTP/SFTP connection managementObjDataImport.py — Core import orchestratordef_remoteconnections — Connection credential store