PycURL review

by on

PycURL is a Python interface to libcurl

License: LGPL (GNU Lesser General Public License)
File size: 64K
Developer: Kjetil Jacobsen and Markus F.X.J. Oberhumer
0 stars award from

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.

libcurl is a free and easy-to-use client-side URL transfer library, supporting FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploading, kerberos, HTTP form based upload, proxies, cookies, user+password authentication, file transfer resume, http proxy tunneling and more.

libcurl is highly portable, it builds and works identically on numerous platforms, including Solaris, NetBSD, FreeBSD, OpenBSD, Darwin, HPUX, IRIX, AIX, Tru64, Linux, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more.

libcurl is free, IPv6 compatible, feature rich, thread-safe, well supported and fast.

PycURL is targeted at the advanced developer - if you need dozens of concurrent fast and reliable connections or any of the sophisiticated features as listed above then PycURL is for you.

The main drawback with PycURL is that it is a relative 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 (esp. for multiple concurrent operations) and very feature complete, but has a somewhat complex interface.

If you need something simpler or prefer a pure Python module you might want to check out urllib2 and urlgrabber. There is also a good comparision of the various libraries.

What's New in This Release:
This release adds a test for basic FTP usage and fixes a broken SSL mutex lock function when using GNU TLS.

PycURL search tags