PyFtpfs is a Python-based tool that allows you to mount FTP file systems using FUSE (Filesystem in Userspace), enabling interaction with remote FTP servers as if they were local file systems.
β οΈ This project is under development and not yet recommended for production use.
- Mount a remote FTP server as a local filesystem.
- Written in Python and built on top of FUSE.
- Seamlessly interact with FTP files via local paths after mounting.
Before installing and using PyFtpfs, make sure you have:
- Python (version 3.7+ recommended).
- A system with FUSE support (Linux / macOS with FUSE installed).
- The
fusepylibrary and other dependencies installed.
git clone https://github.com/rbenrax/PyFtpfs.git
cd PyFtpfs(Optional) Create a virtual environment:
python3 -m venv venv
source venv/bin/activateInstall dependencies:
pip install -r requirements.txtpython pyftpfs.py ftp.server.com /mnt/ftp -u username -P password| Option | Description |
|---|---|
-p <port> |
FTP port (default: 21) |
-u <username> |
FTP username |
-P <password> |
FTP password |
-d |
Enable debug output |
Example:
python pyftpfs.py ftp.server.com /mnt/ftp -p 21 -u myuser -P mypassword -dTo unmount the filesystem:
fusermount -u /mnt/ftpOn macOS:
umount /mnt/ftpThis project is under active development and may lack full features or optimizations. Please check the issues section to view pending enhancements or bugs.
- Fork the repository.
- Create a feature branch (
git checkout -b feature/name). - Commit your changes (
git commit -m "Description"). - Open a Pull Request.
This project is licensed under the Apache-2.0 License.
- π¦ Source code: https://github.com/rbenrax/PyFtpfs