--- id: aioftp version: "0.28.0" license: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) license_treatment: permissive maintenance: active --- # aioftp — ftp client/server for asyncio License: permissive · Maintenance: active · Downloads: 415.5K/mo ## What it is and what it does aioftp is an async-native FTP client and server library built on Python's asyncio, designed to handle file transfer operations concurrently without blocking. It implements a core subset of FTP commands (USER, PASS, PWD, CWD, STOR, RETR, DELE, MLSD, and others) sufficient for typical file operations, with support for both passive mode transfers and concurrent client connections. The library prioritizes a high-level, extensible API over raw protocol compliance. Clients can recursively list directories, download and upload files, and manage connections using async context managers. Servers can be instantiated with custom path I/O factories for flexible storage backends. The package is actively maintained, requires Python 3.10+, and has no known security vulnerabilities. Use it for: - Downloading multiple files from FTP servers concurrently without blocking the event loop. - Building an async FTP server for file distribution or backup systems within an asyncio application. - Integrating FTP operations into async web frameworks or data pipelines that already use asyncio. - Listing and filtering remote FTP directories recursively while handling multiple server connections in parallel. - Uploading files to FTP servers from async applications without spawning threads or processes. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. aioftp provides an async FTP client and server implementation for Python's asyncio framework, supporting core FTP commands for file transfer, directory operations, and connection management. Yes. aioftp is production-stable (Development Status 5), actively maintained, has no known vulnerabilities, and integrates cleanly into asyncio-based applications with minimal dependencies. Install it if you need async FTP client or server functionality; the low friction and permissive license make it a straightforward choice for concurrent file transfer tasks. ## Install pip install aioftp uv add aioftp poetry add aioftp ## Installing aioftp Before you install: Low install friction with a single lightweight runtime dependency (typing-extensions). Actively maintained with a recent release (10 days old) and an active repository. License in practice: Apache 2.0 license is permissive, allowing commercial use, modification, and distribution with minimal restrictions—only requiring license and copyright notice preservation. Quickstart: import asyncio import aioftp async def download_files(host, port, login, password): async with aioftp.Client.context(host, port, login, password) as client: for path, info in (await client.list(recursive=True)): if info["type"] == "file": await client.download(path) asyncio.run(download_files("example.com", 21, "user", "pass")) Requires Python 3.10 or later; older versions (0.22.3 supports 3.8, 0.26.3 supports 3.9) available if needed. Verify before relying: - Whether the optional socks proxy support (via siosocks) is actively maintained or tested in current releases. - Performance characteristics relative to other async FTP libraries in production workloads. - Compatibility with non-standard or legacy FTP server implementations beyond the documented fallback to LIST. ## Package facts - License: Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 415.5K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags async ftp client server, asyncio file transfer protocol, ftp with asyncio, non-blocking ftp, async file download upload, ftp server asyncio, concurrent ftp connections, asyncio, ftp-protocol, concurrent-io [View on SkillFed](https://skillfed.io/packages/aioftp) · [View on PyPI](https://pypi.org/project/aioftp/)