PycURL Home Page (original) (raw)
PYCURL 7.45.6
Mar 6 2025 -Release Notes
Quick Links
Overview
PycURL is aPython interface tolibcurl. PycURL can be used to fetch objects identified by a URL from a Python program, similar to theurllib 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, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS, FILE, IMAP, SMTP, POP3 and RTSP. libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos4), 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, UnixWare, HURD, Windows, Amiga, OS/2, BeOs, Mac OS X, Ultrix, QNX, OpenVMS, RISC OS, Novell NetWare, DOS and more...
- libcurl isfree,thread-safe,IPv6 compatible,feature rich,well supported,fast,thoroughly documented and is already used by many known, big and successful companies and numerous applications.
Intended Audience
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 outurllib2,requests andurlgrabber.
Documentation
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 thelibcurl documentation, most important beingcurl_easy_setopt. Thelibcurl tutorialalso provides a lot of useful information.
For a quick start have a look at the high-performance URL downloaderretriever-multi.py.
For a list of changes consult the PycURL ChangeLog.
Download
DownloadPycURL sources version 7.45.4 (Dec 12 2024) or try the code fromthe Git repository.
Also, official PycURL packages are available for Ubuntu,Debian GNU/Linux, FreeBSD,Gentoo Linux, NetBSD, and OpenBSD.
Community
If you want to ask questions or discuss PycURL related issues, ourmailing listis the place to be.Mailing list archives are available for your perusal.
Bugs andpatches 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 theissues andpull requests pages for the temporary Git import repository on Github, and on thePycURL SourceForgeproject page.
The libcurl library also has its ownmailing lists.
License
Copyright (C) 2001-2008 Kjetil Jacobsen
Copyright (C) 2001-2008 Markus F.X.J. Oberhumer
Copyright (C) 2013-2022 Oleg Pudeyev
PycURL is dual licensed under the LGPL and an MIT/X derivative license based on the cURL license. You can redistribute and/or modify PycURL according to the terms of either license.