CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-apache-airflow-providers-ftp

Provider package for Apache Airflow that enables FTP file transfer protocol operations including hooks, operators, and sensors for workflow integration.

84

1.06x
Quality

Pending

Does it follow best practices?

Impact

84%

1.06x

Average score across 10 eval scenarios

SecuritybySnyk

Pending

The risk profile of this skill

Overview
Eval results
Files

criteria.jsonevals/scenario-9/

{
  "context": "This criteria evaluates how well the engineer uses the apache-airflow-providers-ftp package to implement file download operations from FTP servers. The focus is on proper usage of FTPHook for retrieving files and FTPFileTransmitOperator for batch transfers.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "FTPHook instantiation",
      "description": "Correctly instantiates FTPHook or FTPSHook with the ftp_conn_id parameter to establish connection to the FTP server",
      "max_score": 15
    },
    {
      "name": "Single file download",
      "description": "Uses FTPHook.retrieve_file() method to download a single file from remote to local path, passing remote_full_path and local_full_path_or_buffer parameters",
      "max_score": 25
    },
    {
      "name": "Batch download implementation",
      "description": "Uses FTPFileTransmitOperator with operation='get' parameter or implements batch downloads using lists of file paths for both local_filepath and remote_filepath",
      "max_score": 20
    },
    {
      "name": "List length validation",
      "description": "Validates that local_filepaths and remote_filepaths lists have matching lengths before processing batch downloads, raising ValueError if they don't match",
      "max_score": 10
    },
    {
      "name": "Intermediate directory creation",
      "description": "Implements automatic creation of local parent directories using create_intermediate_dirs=True parameter on FTPFileTransmitOperator or manually creates directories with Path.mkdir(parents=True, exist_ok=True)",
      "max_score": 15
    },
    {
      "name": "Return values",
      "description": "Returns the correct values as specified in the API: local file path(s) for successful downloads",
      "max_score": 10
    },
    {
      "name": "Error handling",
      "description": "Properly propagates exceptions from FTP operations when files don't exist or downloads fail, without catching and suppressing FTP-related errors",
      "max_score": 5
    }
  ]
}

tile.json