pyftpdlib | Extremely fast and scalable Python FTP | FTP library

 by   giampaolo Python Version: 1.5.10 License: MIT

kandi X-RAY | pyftpdlib Summary

kandi X-RAY | pyftpdlib Summary

pyftpdlib is a Python library typically used in Networking, FTP applications. pyftpdlib has no bugs, it has build file available, it has a Permissive License and it has high support. However pyftpdlib has 14 vulnerabilities. You can install using 'pip install pyftpdlib' or download it from GitHub, PyPI.

Extremely fast and scalable Python FTP server library

            kandi-support Support

              pyftpdlib has a highly active ecosystem.
              It has 1523 star(s) with 252 fork(s). There are 49 watchers for this library.
              There were 1 major release(s) in the last 6 months.
              There are 118 open issues and 399 have been closed. On average issues are closed in 198 days. There are 17 open pull requests and 0 closed requests.
              It has a negative sentiment in the developer community.
              The latest version of pyftpdlib is 1.5.10

            kandi-Quality Quality

              pyftpdlib has 0 bugs and 0 code smells.

            kandi-Security Security

              pyftpdlib has 14 vulnerability issues reported (0 critical, 2 high, 12 medium, 0 low).
              pyftpdlib code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              pyftpdlib is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              pyftpdlib releases are not available. You will need to build from source code and install.
              Deployable package is available in PyPI.
              Build file is available. You can build the component from source.
              It has 9675 lines of code, 866 functions and 37 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed pyftpdlib and discovered the below as its top functions. This is intended to give you an instant insight into pyftpdlib implemented functionality, and help decide if they suit your requirements.
            • Start the server
            • Check if logging is configured
            • Configure logging
            • Block until timeout is reached
            • The main loop
            • Reap all tasks
            • Logs a debug message
            • Starts ftp
            • Enable receiving messages
            • Poll the queue
            • Calls ftp
            • Uninstall python
            • Bind an address to an address
            • Lists a file or directory
            • List a FTP server
            • Handle an incoming data connection
            • Read the history file
            • ABOR command
            • Size file
            • Connect to the socket
            • Format a log record
            • Send FTP request
            • Move the ftp command
            • Daemonize process
            • Add a user
            • Repart FTP
            Get all kandi verified functions for this library.

            pyftpdlib Key Features

            No Key Features are available at this moment for pyftpdlib.

            pyftpdlib Examples and Code Snippets

            Pythondot img1Lines of Code : 17dot img1no licencesLicense : No License
            copy iconCopy
            var Server = require('ftp-test-server');
            var myFtp = new Server();
            myFtp.on('stdout', function(data) {
            myFtp.on('stderr', function(data) {
              console.log('ERROR', data);
              user: "sergi",
              pass: "1234",
            docker-pyftpdlib,Running the server:
            Pythondot img2Lines of Code : 14dot img2License : Permissive (MIT)
            copy iconCopy
            docker run -it --rm -p 21:21 akogut/docker-pyftpdlib
            [I 2016-04-29 18:01:49] >>> starting FTP server on, pid=5
            [I 2016-04-29 18:01:49] concurrency model: async
            [I 2016-04-29 18:01:49] masquerade (NAT) address: None
            [I 2016-04-29 1  
            docker-pyftpdlib,Command line arguments:
            Pythondot img3Lines of Code : 13dot img3License : Permissive (MIT)
            copy iconCopy
            docker run -it --rm -p 21:21 [-p 3000-3010] akogut/docker-pyftpdlib python -h
            usage: [-h] [--user USER] [--password PASSWORD] [--host HOST]
                           [--port PORT] [--passive PASSIVE] [--anon]
            optional arguments:
              -h, --help     
            Python on RasPi can't find installed module
            Pythondot img4Lines of Code : 9dot img4License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            # create the virtual environment
            $ python3 -m venv env-ftp
            # install the package into it
            $ env-ftp/bin/python -m pip install pyftpdlib
            # run a script using the Python installation contained within the virtual environment
            $ sudo env-ftp/b
            Cant connect to local pyftpdlib FTP server: [WinError 10061] No connection could be made
            Pythondot img5Lines of Code : 2dot img5License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            address = ('', 21)
            Disconnection from a FTP server in python with the librabry pyftpdlib
            Pythondot img6Lines of Code : 8dot img6License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            class MyFTPHandler(FTPHandler):
                def on_logout(self, username):
                    print("%s logged out" % username)
            handler = MyFTPHandler
            # ...
            server = FTPServer(('', 21), handler)
            FTP over app engine With Python allow connection but timeout response
            Pythondot img7Lines of Code : 4dot img7License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
                - 443/tcp
            Changing directory of FTP server (ftplib, pyftpdlib)
            Pythondot img8Lines of Code : 6dot img8License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            authorizer.add_user("user", "12345", ".", perm="elradfmw")
            authorizer.add_user("user", "12345", "C:\\", perm="elradfmw")
            authorizer.add_user("user", "12345", "C:\\Users\\Moondra", perm="elr
            How should FTP server respond to attempt to retrieve file that doesn't exist
            Pythondot img9Lines of Code : 3dot img9License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
             450 Requested file action not taken.
                 File unavailable (e.g., file busy).
            Python Errno 9 Bad file descriptor in Mac OS X
            Pythondot img10Lines of Code : 15dot img10License : Strong Copyleft (CC BY-SA 4.0)
            copy iconCopy
            class MPFTPServer(multiprocessing.Process):
                def __init__(self, username, password, ftp_home, ftp_port, **kwargs):
                    self.username = username
                    self.password = password
                    self.server_home = ftp_home

            Community Discussions


            How to install pyodbc on Dockerfile
            Asked 2022-Feb-22 at 13:46

            I'm trying to install pyodbc on Django to access Sql Server but the Docker image had no be built.

            The Dockerfile:



            Answered 2022-Feb-22 at 13:46

            Compiler is simply complaining about a build time dependency, cc1 tool should be in your system to build pyodbc.

            In Ubuntu you can solve this with



            Python on RasPi can't find installed module
            Asked 2021-Feb-28 at 23:16

            I feel like this has to have been asked and solved already, but I couldn't find a solution that works for me. I pip3'd a python library, and verify it is indeed on my system.



            Answered 2021-Feb-28 at 23:16

            When you run pip3 install without sudo, the package gets installed under /home/pi/.local/lib/python3.7/site-packages which is a user-specific location and packages installed there will not be accessible system-wide. Then you run sudo python3 which makes you execute python3 as the root user which is a different user.

            Below I assume you do need to run the command with sudo. If you're not sure, try dropping the sudo - then the import should work (but maybe other stuff will not - I don't know what's in your script).

            One method of installing a package for use by root would be to do sudo pip3 install pyftpdlib but this not recommended as it could break the Python installation used by the OS (some packages could have to be updated in order to be compatible with pyftpdlib, but they could then become incompatible with other stuff, and then you're in a lot of trouble).

            It is better to use a virtual environment. For example:



            Python - Get Value from List in Dictionary
            Asked 2021-Jan-29 at 01:49

            I am working on some software to use across multiple computers, and has an FTP server that will be created using the library pyftpdlib to use for downloading needed files from the "manager". While I am setting up the authorization for it, I ran across the issue of how to get a value from a list, in my param dictionary, that is filled from a file named config.json. Here is my code below for if the file does not exist:



            Answered 2021-Jan-29 at 01:49

            If you are trying to get the value from params['ftp_creds] what you have done is appended a dictionary to the list. params['ftp_creds'][0] is a dictionary from which you can access the password via params['ftp_creds'][0]['password'].



            OSError: [Errno 13] Permission denied message while trying to run python3 -m pyftpdlib -p 21
            Asked 2020-May-12 at 04:46

            I used pip3 install pyftpdlib and it seemed to install correctly.
            When I run python3 -m pyftpdlib -p 21 the output looks like:



            Answered 2020-May-12 at 04:46

            Usually these errors gets resolved by running the command as administrator.
            You should be extremely careful with running non-verified software as admin tho, as it may compromise your computer.

            But never the less, it looks like you're attempting to run a FTP server. Here's a writeup about why only root can listen to ports below 1024. This link might get rekt, but until then, that's a decent source of information.

            Later in the comments we found out that the library you're using got installed as user, so installing that via pip as administrator also helps :)



            Cant connect to local pyftpdlib FTP server: [WinError 10061] No connection could be made
            Asked 2020-May-06 at 06:16

            I am trying to upload/download file to local FTP server, but it gives me the error mentioned in title. For server I am using pyftpdlib:



            Answered 2020-May-05 at 06:07

            I'm not sure what '' as an address would do on the server side. Either it is a wrong value in the first place. Or it may resolve to a different IP address than the You should use the same value both on server and client side.

            I'd start with on the server side.



            Most time effective web format for converting h.265
            Asked 2020-Apr-29 at 17:30

            So, I configured my ipcams to send event videos to a FTP server that saves it locally, and run a script that convert every video into something that can be opened in a generic browser, then send it to a S3 (I am using pyftpdlib + my modifications).

            But i don't think that I am doing it in the most effective way. On my computer (a fairly good laptop) it usually takes half the video playtime to convert into a mp4 using a generic ffmpeg command that i simple copy and paste from stackoverflow. I tried to look up the documentation, but i simple don't have the multimedia background to understand it.

            What would be the most time effective format and how to convert a raw h.265 video to it?



            Answered 2020-Apr-29 at 17:30

            Your inputs are already H.265/HEVC, so you can simply mux them into MP4 without needing to re-encode. This will be very fast as it is "copying and pasting" the H.265 video into the MP4 container:


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            Multiple directory traversal vulnerabilities in in pyftpdlib before 0.2.0 allow remote authenticated users to access arbitrary files and directories via a .. (dot dot) in a (1) LIST, (2) STOR, or (3) RETR command.
   in pyftpdlib before 0.2.0 does not increment the attempted_logins count for a USER command that specifies an invalid username, which makes it easier for remote attackers to obtain access via a brute-force attack.
            pyftpdlib before 0.1.1 does not choose a random value for the port associated with the PASV command, which makes it easier for remote attackers to obtain potentially sensitive information about the number of in-progress data connections by reading the response to this command.
            The ftp_STOU function in in pyftpdlib before 0.2.0 does not limit the number of attempts to discover a unique filename, which might allow remote authenticated users to cause a denial of service via a STOU command.
            The ftp_PORT function in in pyftpdlib before 0.2.0 does not prevent TCP connections to privileged ports if the destination IP address matches the source IP address of the connection from the FTP client, which might allow remote authenticated users to conduct FTP bounce attacks via crafted FTP data, as demonstrated by an FTP bounce attack against a NAT server, a related issue to CVE-1999-0017.
            Multiple directory traversal vulnerabilities in in pyftpdlib before 0.3.0 allow remote authenticated users to access arbitrary files and directories via vectors involving a symlink in a pathname to a (1) CWD, (2) DELE, (3) STOR, or (4) RETR command.
   in pyftpdlib before 0.5.0 does not delay its response after receiving an invalid login attempt, which makes it easier for remote attackers to obtain access via a brute-force attack.
            The ftp_QUIT function in in pyftpdlib before 0.5.0 allows remote authenticated users to cause a denial of service (file descriptor exhaustion and daemon outage) by sending a QUIT command during a disallowed data-transfer attempt.
            Race condition in the FTPHandler class in in pyftpdlib before 0.5.2 allows remote attackers to cause a denial of service (daemon outage) by establishing and then immediately closing a TCP connection, leading to the getpeername function having an ENOTCONN error, a different vulnerability than CVE-2010-3494.
   in pyftpdlib before 0.5.2 does not require the l permission for the MLST command, which allows remote authenticated users to bypass intended access restrictions and list the root directory via an FTP session.
            Memory leak in the on_dtp_close function in in pyftpdlib before 0.5.2 allows remote authenticated users to cause a denial of service (memory consumption) by sending a QUIT command during a data transfer.

            Install pyftpdlib

            You can install using 'pip install pyftpdlib' or download it from GitHub, PyPI.
            You can use pyftpdlib like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • PyPI

            pip install pyftpdlib

          • CLONE
          • HTTPS


          • CLI

            gh repo clone giampaolo/pyftpdlib

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular FTP Libraries


            by curl


            by git-ftp


            by drakkan


            by robinrodricks


            by giampaolo

            Try Top Libraries by giampaolo


            by giampaoloPython


            by giampaoloPython


            by giampaoloPython


            by giampaoloPython


            by giampaoloHTML