Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Speed up shutil.copyfile by using sendfile system call

Project Description

pyfastcopy is a simple Python module that monkey patches the shutil.copyfile function of Python standard library to internally use the sendfile system call.

It can provide important performance improvements for large file copy (typically 30-40%). See the performance section for some numbers.

Because shutil.copyfile is used by other fonctions in the shutil module, the following functions also automatically benefit from the performance boost:

  • shutil.copy
  • shutil.copy2
  • shutil.copytree

If sendfile is not available on your system or fails, the classic, slower chunk file copy is used, so there is no downside to using this module.

For more information, see my proposed patch for Python.


Just import the module:

import pyfastcopy

And then use the patched shutil.copyfile as usual:

shutil.copyfile(src, dst)

The ``sendfile`` system call does not exist on Windows, so importing this module will have no effect.


From PyPI (with PIP)

  1. If you don’t already have it, install pip for Python 3 (not needed if you are using Python >= 3.4)
  2. Install pyfastcopy: pip3 install pyfastcopy
  3. Enjoy fast copy when using shutil.copyfile, shutil.copy, shutil.copy2 or shutil.copytree

From source

  1. If you don’t already have it, install setuptools for Python 3
  2. Clone this repository: git clone
  3. Install pyfastcopy: python3 install
  4. Enjoy fast copy when using shutil.copyfile, shutil.copy, shutil.copy2 or shutil.copytree


Python Software Foundation License

Release History

This version
History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(4.9 kB) Copy SHA256 Hash SHA256
Source Feb 9, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting