No known security advisories. The current version has no OSV.dev malware reports and no critical or high-severity vulnerabilities.

pyftpdlib has 604K monthly downloads and 2K GitHub stars. Version 2.2.0 supports Python 3.6+, first published in 2014.

It is stably maintained, last released in Feb 2026.

It is built on top of pyasynchat and pyasyncore. It is used by 43 tracked packages, including localstack-ext, genie-libs-filetransferutils and pytest-localftpserver.

GitHub topics include ftp, ftps and ftp-server.

Shared Repository
This package shares its GitHub repository (giampaolo/pyftpdlib) with 1 other package. Stars, forks, and other GitHub metrics reflect the entire repository.
Downloads
Day
17.8K
Week
125.0K
Month
604.1K
Stars
1.8K
Forks
279
Issues
120
Version
2.2.0

Package Insights

Score breakdown - each component scores 0-100, weighted by percentage
Maintenance
80
Popularity
70
Adoption
57
Community
60
Provenance
0
How the maintenance status was determined
Last commit
74 days ago
Monthly downloads
604,136
Active
Activity within 30 days
Stable
Activity within 31-180 days
Minimal
Activity within 181-365 days, or no activity data
At Risk
No activity for > 365 days, but > 10,000 monthly downloads
Archived
Repository flagged as archived on GitHub
How the popularity category was determined
Monthly downloads
604,136
Stars
1,813
Stars per 1k downloads
3.00
Industry Standard
> 10,000,000 monthly downloads
Hidden Gem
< 0.5 stars per 1k downloads and > 100,000 monthly downloads
Community Favorite
> 5 stars per 1k downloads
Rising Star
Balanced ratio of stars to downloads
Unknown
Fewer than 1,000 monthly downloads, or no star data
How download momentum is calculated
Week daily avg
17,851
Month daily avg
20,138
Momentum
-11.4%
((week_daily_avg - month_daily_avg) / month_daily_avg) * 100
Python version support tiers
requires_python
>=3.6
Cutting Edge
Minimum supported version is 3.12 or newer
Modern
Minimum supported version is 3.9, 3.10, or 3.11
Legacy
Supports 3.8 or older (or Python 2)
Unknown
No requires_python specified or unparseable
License categories
License
Not specified
Permissive
MIT, Apache, BSD, ISC, Unlicense, CC0, etc.
Copyleft
GPL, LGPL, AGPL, MPL, EPL, etc.
Proprietary
Commercial, all rights reserved, custom EULAs
Unknown
No license specified, or none of the above match
Package does not declare a license.
How the release cadence was determined
Last release
149 days ago
Total releases
30
Releases/year
2.4
Rapid
Last release within 365 days and > 12 releases/year
Regular
Last release within 365 days
Slow
Last release 366-730 days ago
Stalled
Last release > 730 days ago, or no releases
Unknown
No usable release date available
How contributor risk was determined
Contributors
38
Monthly downloads
604,136
High Load
≤ 2 contributors and ≥ 50,000 monthly downloads
Moderate Load
< 10 contributors and ≥ 500,000 monthly downloads
Low Load
< 25 contributors and ≥ 5,000,000 monthly downloads, or sole maintainer with ≥ 10,000 monthly downloads
Balanced
Enough contributors for the package's popularity
Unknown
No contributor data available
Engagement
63
 
Issue Burden
66.2
per 1k stars
Discussions
0.0
per 1k stars
Fork Ratio
13.6%
contrib / forks
Stale Release
74d
 
PR Velocity
Active
 

Weekly Downloads

GitHub Stars

Not all downloads include detailed metadata. Breakdowns reflect the subset that does.

Downloads by OS

Linux 11.4K
Windows 517
macOS 125

Python Versions

3.10
52.7% 5.6K
3.8
22.8% 2.4K
3.12
9.9% 1.0K
3.11
8.9% 943
3.9
5.7% 601

Top Countries

1. US US
8.5K
2. SG SG
324
3. CA CA
291
4. PL PL
283
5. SE SE
259
6. KR KR
253
7. IE IE
249
8. AU AU
212
9. NO NO
209
10. BE BE
183
GitHub Topics
Tags from the package's GitHub repository describing what it does.

Package Information

License
Unknown
First Release
February 6, 2014
Last Release
5 months ago
Last Commit
2 months ago
Latest Version
2.2.0
Total Releases
30
Contributors
38
Open PRs
19
Archived
No
Python Versions
3
Tracking Since
January 6, 2026
Data Updated
July 5, 2026
Data Freshness
Fresh