PycURL is a Python interface to libcurl, the multiprotocol file transfer library. Similarly to the urllib Python module, PycURL can be used to fetch objects identified by a URL from a Python program. Beyond simple fetches however PycURL exposes most of the functionality of libcurl, including:
- Speed - libcurl is very fast and PycURL, being a thin wrapper above libcurl, is very fast as well. PycURL was benchmarked to be several times faster than requests.
- Features including multiple protocol support, SSL, authentication and proxy options. PycURL supports most of libcurl's callbacks.
- Multi and share interfaces.
- Sockets used for network operations, permitting integration of PycURL into the application's I/O loop (e.g., using Tornado).
This is a modified version of pycurl that adds access to the extra impersonate function defined in curl-impersonate from python. Allowing you to impersonate any browser TLS and headers.
- Python 3.5-3.10.
- libcurl 7.19.0 or better.
Please see `INSTALL.rst`_ for installation instructions. .. _INSTALL.rst: http://pycurl.io/docs/latest/install.html
Documentation for the development version of PycURL is available here.
To build documentation from source, run make docs.
Building documentation requires Sphinx to
be installed, as well as pycurl extension module built as docstrings are
extracted from it. Built documentation is stored in build/doc
subdirectory.
For curl-impersonate linked issues, feel free to open a github issue, but I do not know if I will have the time to work on this project in the future.
Copyright (C) 2001-2008 by Kjetil Jacobsen <kjetilja at gmail.com> Copyright (C) 2001-2008 by Markus F.X.J. Oberhumer <markus at oberhumer.com> Copyright (C) 2013-2022 by Oleg Pudeyev <code at olegp.name> All rights reserved. PycURL is dual licensed under the LGPL and an MIT/X derivative license based on the cURL license. A full copy of the LGPL license is included in the file COPYING-LGPL. A full copy of the MIT/X derivative license is included in the file COPYING-MIT. You can redistribute and/or modify PycURL according to the terms of either license.