{"id":21363,"library":"ftpretty","title":"ftpretty","description":"ftpretty is a simple FTP wrapper that provides a more Pythonic interface for FTP operations, including get, put, list, and delete. Current version is 0.4.0, with a stable release cadence (last release in 2018).","status":"active","version":"0.4.0","language":"python","source_language":"en","source_url":"https://github.com/codebynumbers/ftpretty/","tags":["ftp","file-transfer","wrapper"],"install":[{"cmd":"pip install ftpretty","lang":"bash","label":"Default install"}],"dependencies":[{"reason":"ftpretty is a wrapper around Python's built-in ftplib; not a separate dependency but required at runtime.","package":"ftplib","optional":false}],"imports":[{"note":"ftpretty is a class, not a module; incorrect import will lead to AttributeError.","wrong":"import ftpretty","symbol":"ftpretty","correct":"from ftpretty import ftpretty"}],"quickstart":{"code":"from ftpretty import ftpretty\n\nf = ftpretty(host='ftp.example.com', user='username', password='password')\nf.get('remote_file.txt', 'local_file.txt')\nf.put('local_file.txt', 'remote_file.txt')\nprint(f.list('/'))\nf.close()","lang":"python","description":"Connect to an FTP server, download/upload files, and list directory contents."},"warnings":[{"fix":"Use ftplib.FTP_TLS or another library like Paramiko for SFTP.","message":"ftpretty does not support FTPS (FTP over SSL/TLS) out of the box. Use Python's ftplib.FTP_TLS directly if you need secure FTP.","severity":"gotcha","affected_versions":"all"},{"fix":"Check for existing files manually before calling get() or put().","message":"The get() and put() methods overwrite files silently without warning. No confirmation or checksum verification.","severity":"gotcha","affected_versions":"all"},{"fix":"Consider migrating to a more active library like Paramiko or ftputil if you need ongoing support.","message":"ftpretty uses Python's ftplib internally, which may not be available or may change in future Python versions. The library has not been updated since 2018.","severity":"deprecated","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.4.0':26 '2018':35 'cadenc':31 'current':23 'delet':22 'file':38 'file-transf':37 'ftp':6,15,36 'ftpretti':1,2 'get':18 'includ':17 'interfac':13 'last':32 'list':20 'oper':16 'provid':9 'put':19 'python':12 'releas':30,33 'simpl':5 'stabl':29 'transfer':39 'version':24 'wrapper':7,40","created_at":"2026-04-27T16:59:30.932183+00:00","updated_at":"2026-04-27T16:59:30.932183+00:00","problems":[{"fix":"Use 'from ftpretty import ftpretty' to import the class.","cause":"Importing incorrectly as 'import ftpretty' instead of 'from ftpretty import ftpretty'.","error":"AttributeError: module 'ftpretty' has no attribute 'ftpretty'"},{"fix":"Pass connection parameters directly to the constructor, e.g., ftpretty(host, user, password).","cause":"The connection is established when the object is created; there is no separate connect() method.","error":"ftpretty.ftpretty object has no attribute 'connect'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.4.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/codebynumbers/ftpretty","docs":null,"changelog":null,"pypi":"https://pypi.org/project/ftpretty/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["http-networking"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-06-28","next_check":"2026-07-28","install_tag":null}}