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-8/

{
  "context": "This criteria evaluates how well an engineer uses the apache-airflow-providers-ftp package to handle non-ASCII filenames by properly configuring character encoding for international FTP servers. The focus is on understanding and utilizing the package's encoding configuration capability through connection extras.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "FTPSensor usage",
      "description": "Uses FTPSensor class from airflow.providers.ftp.sensors.ftp to monitor files on FTP servers",
      "max_score": 25
    },
    {
      "name": "Connection ID configuration",
      "description": "Correctly configures ftp_conn_id parameter on both sensors to use 'eastern_ftp' and 'western_ftp' connection IDs respectively",
      "max_score": 15
    },
    {
      "name": "Encoding awareness",
      "description": "Demonstrates understanding that character encoding must be configured in Airflow connection extras (not in sensor code) to handle non-ASCII filenames. The connection extras should contain encoding specifications like {\"encoding\": \"cp1251\"} and {\"encoding\": \"iso-8859-1\"}",
      "max_score": 30
    },
    {
      "name": "Cyrillic filename handling",
      "description": "Correctly specifies the Cyrillic filename 'отчет_данные.csv' in the path parameter for the eastern European sensor task",
      "max_score": 10
    },
    {
      "name": "Latin-1 filename handling",
      "description": "Correctly specifies the Latin-1 filename 'données_françaises.csv' in the path parameter for the western European sensor task",
      "max_score": 10
    },
    {
      "name": "Sensor parameters",
      "description": "Properly configures sensor parameters including poke_interval=60, timeout=300, and mode='poke' on both sensor tasks",
      "max_score": 10
    }
  ]
}

tile.json