PycURL is a Python interface to libcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to the urllib Python module. PycURL is mature, very fast, and supports a lot of features.
PycURL is targeted at an advanced developer - if you need dozens of concurrent, fast and reliable connections or any of the sophisticated features listed above then PycURL is for you.
The main drawback of PycURL is that it is a relatively thin layer over libcurl without any of those nice Pythonic class hierarchies. This means it has a somewhat steep learning curve unless you are already familiar with libcurl's C API.
To sum up, PycURL is very fast (especially for multiple concurrent operations) and very feature rich, but has a somewhat complex interface. If you need something simpler or prefer a pure Python module you might want to check out urllib2, requests and urlgrabber.
PycURL includes extensive API documentation as well as a number of test and example scripts in the tests and examples directories of the distribution.
The real info, though, is located in the libcurl documentation, most important being curl_easy_setopt. The libcurl tutorial also provides a lot of useful information.
For a quick start have a look at the high-performance URL downloader retriever-multi.py.
For a list of changes consult the PycURL ChangeLog.
Download PycURL sources version 7.45.3 (Feb 17 2024) or try the code from the Git repository.
Also, official PycURL packages are available for Ubuntu, Debian GNU/Linux, FreeBSD, Gentoo Linux, NetBSD, and OpenBSD.
If you want to ask questions or discuss PycURL related issues, our mailing list is the place to be. Mailing list archives are available for your perusal.
Bugs and patches are tracked on GitHub. If your patch or proposal is non-trivial, please discuss it on the mailing list before submitting code. Older bugs and patches can be found on the issues and pull requests pages for the temporary Git import repository on Github, and on the PycURL SourceForge project page.
The libcurl library also has its own mailing lists.