skillfed

sftpserver

sftpserver - a simple single-threaded sftp server

sftpserver v0.3 237.5K downloads/30d#8,957 on PyPI147
Permissive license MIT Abandoned released

What it is and what it does

sftpserver is a minimal SFTP server implementation designed as a testing stub rather than a production service. It wraps Paramiko's SFTPServer to provide a simple command-line tool that listens on a configurable host and port, accepts SSH key authentication, and serves files from the local filesystem. The package is intended for developers who need to test SFTP client code without setting up a real SFTP server.

The server runs single-threaded and is configured via command-line flags: you specify a private key file, optional host and port, and debug logging level. It accepts connections from Paramiko clients using RSA key authentication and allows standard SFTP operations like listing and transferring files. Because it is abandoned (last release 2017, last commit 2020), it carries risk of incompatibility with modern Python or Paramiko versions.

Use it for:

  • Unit testing SFTP client code without deploying a real SFTP server.
  • Stubbing SFTP endpoints in integration tests for Python applications.
  • Local development and debugging of SFTP client implementations.
  • Mocking SFTP server behavior in CI/CD pipelines for client testing.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a simple single-threaded SFTP server built on Paramiko for testing Python SFTP clients without needing a full production server.

No—install only for legacy projects already using it. The package is abandoned (last update 2017) with no Python version guarantee, making it unsuitable for new development. Modern alternatives or a maintained SFTP testing library are strongly preferred.

Install

sftpserver on PyPI

pip

pip install sftpserver

uv

uv add sftpserver

poetry

poetry add sftpserver

Installing sftpserver

Before you install

Installation is straightforward with low friction, but the package is abandoned—last release was in 2017 and last commit in 2020. No updates for several years means it may not work with modern Python versions or security patches.

License in practice

MIT license is permissive, allowing use in commercial and private projects with minimal restrictions; you must include a copy of the license.

Quickstart

pip install sftpserver

# Generate a test key:
# openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout /tmp/test_rsa.key

# Start server:
# sftpserver -k /tmp/test_rsa.key

# Connect with paramiko:
import paramiko
pkey = paramiko.RSAKey.from_private_key_file('/tmp/test_rsa.key')
transport = paramiko.Transport(('localhost', 3373))
transport.connect(username='admin', password='admin', pkey=pkey)
sftp = paramiko.SFTPClient.from_transport(transport)
sftp.listdir('.')

Requires a private key file (RSA format) and openssl to generate test keys; Python version compatibility unspecified and likely limited given abandonment.

Verify before relying

  • Whether the package works with Python versions released after 2017 or modern Paramiko versions.
  • Whether security issues in Paramiko or underlying dependencies have been addressed in sftpserver.
  • Whether the single-threaded design meets performance needs for your test scenarios.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — paramiko, setuptools
Maintenance abandoned — 3,414 days since the last release
Last repo commit
First released
Downloads 237,488/month — #8,957 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: sftpserver-0.3-py2.py3-none-any.whl

Intended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: UnixProgramming Language :: PythonTopic :: Internet :: File Transfer Protocol (FTP)

Tags

sftp server testingmock sftp serverparamiko sftp stubtest sftp clientlightweight sftp serversftp server for testingpython sftp stub
sftp-testingabandoned

More File Transfer Protocol (FTP) packages