pyftpdlib is a Python FTP server library which provides a high-level portable interface to easily write asynchronous FTP servers with Python. Based on asyncore framework pyftpdlib is currently the most complete RFC-959 FTP server implementation available for Python programming language.
Product's homepage
Here are some key features of "pyftpdlib":
· Support for recent FTP commands like MLSD, MLST, SIZE and MDTM defined in RFC-3659.
· Support for FTPS (FTP over TLS/SSL, still experimental and provided as a demo script).
· Support for FXP, site-to-site transfers.
· Support for IPv6 (RFC-2428).
· NAT/Firewall support with PASV/EPSV passive mode connections.
· 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:
· Entirely written in pure Python, no third party modules are used. It works on any system where select( ) or poll( ) is available.
· Extremely flexible system of "authorizers" able to manage both "virtual" and "real" users on different platforms (Windows, UNIX, OSx).
Requirements:
· Python