Python FTP server library provides a high-level portable interface to easily write asynchronous FTP servers with Python.pyftpdlib is currently the most complete RFC-959 FTP server implementation available for Python programming language.It is used in projects like Google Chromium and Bazaar and included in Linux Fedora and FreeBSD package repositories.

* Support for recent FTP commands like MLSD and MLST (RFC-3659). * Support for FTPS (FTP over TLS/SSL, still experimental and provided as a demo script). New in 0.5.1 * Support for FXP, site-to-site transfers. * Support for IPv6 (RFC-2428). * NAT/Firewall support with PASV/EPSV passive mode connections. * Bandwidth throttling. New in 0.5.2 * Support for resumed transfers. * Per-user permissions configurability. * Maximum connections limit. * Per-source-IP limits. * Configurable idle timeouts for both control and data channels. * Compact: the entire library is distributed in a single file (ftpserver.py). * High portability: o Entirely written in pure Python, no third party modules are used. It works on any system where select( ) or poll( ) is available. o Extremely flexible system of "authorizers" able to manage both "virtual" and "real" users on different platforms (Windows, UNIX, OS X). o Works with Python 2.3, 2.4, 2.5 and 2.6.