This release is a pre-release and may not be stable for production use.
libcurl-ct
Python binding for the libcurl C library.
Overview
libcurl-ct uses the underlying libcurl C shared library as specified in libcurl.cfg (included libcurl-X.X.* is the default), but there is also ability to specify it programmatically by one of the following ways:
import libcurl
libcurl.config(LIBCURL="libcurl C shared library absolute path")
# or
libcurl.config(LIBCURL=None) # included libcurl-X.X.* will be use
About original libcurl:
Borrowed from the original website:
libcurl - the multiprotocol file transfer library
Overview
libcurl is a free and easy-to-use client-side URL transfer library, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET and TFTP.
libcurl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading, HTTP form based upload, proxies, HTTP/2, HTTP/3, cookies, user+password authentication (Basic, Digest, NTLM, Negotiate, Kerberos), 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 is free, thread-safe, IPv6 compatible, feature rich, well supported, fast, thoroughly documented and is already used by many known, big and successful companies.
Requirements
- It is a fully independent package.All necessary things are installed during the normal installation process.
ATTENTION: currently works and tested only for Windows.
Installation
Prerequisites:
Python 3.9 or higher
with C libcurl 8.12.1 is a primary test environment.
pip and setuptools
To install run:
python -m pip install --upgrade libcurl-ct
Development
Prerequisites:
Development is strictly based on tox. To install it run:
python -m pip install --upgrade tox
Visit Development page.
Installation from sources:
clone the sources:
git clone https://github.com/karpierz/libcurl.git libcurl-ct
and run:
python -m pip install ./libcurl-ct
or on development mode:
python -m pip install --editable ./libcurl-ct
License
Copyright (c) 2021-2025 Adam KarpierzLicensed under the MIT LicensePlease refer to the accompanying LICENSE file.
Changelog
8.12.1.4b1 (2025-03-01)
Add support for Python 3.12 and 3.13
Drop support for Python 3.7 and 3.8
Add support for PyPy 3.10 and 3.11
Drop support for PyPy 3.7, 3.8 and 3.9
Upgrade: libcurl v.7.84.0 -> v.8.12.1
Bugfix for type of version_info_data.feature_names.
Bugfix for write_to_fd.
- Previously unavailable obsoleted strequal() and strnequal()are curently available.
- Previously unavailable deprecated escape() and unescape()are curently available.
- Tox configuration has been moved to pyproject.tomland now based on tox >= 4.0
Many bugs fixed.
Copyright year update.
100% code linting.
Cleanup.
Setup (dependencies) update.
7.84.0a2 (2022-08-27)
Upgrade: libcurl v.7.81.0 -> v.7.84.0
Add support for Linux.
Add support for Python 3.10 and 3.11
Add support for PyPy 3.7, 3.8 and 3.9
Added a performance util tests/sprinter.py
Setup update (currently based mainly on pyproject.toml).
7.81.0a2 (2022-01-26)
Rename PyPi package to libcurl-ct due to name conflict.
7.81.0a1 (2022-01-26)
First release.
0.0.1 (2021-06-16)
Initial release.
Release files for libcurl-ct 8.12.1.4b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| libcurl_ct-8.12.1.4b1.tar.gz | 5.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| libcurl_ct-8.12.1.4b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.1 MB
Release files / libcurl_ct-8.12.1.4b1.tar.gz
| Download URL | libcurl_ct-8.12.1.4b1.tar.gz |
|---|---|
| Size | 5.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2717f3723112b889d1f82b8d5288a020c934c8d542d1b37232c2025414af20f9
|
|
BLAKE2b-256 checksum How to use checksums |
7d3708c98a62c7a3d1185bfd6f37c54d80ede0933c6e5bc846b601d2c929a060
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Release files / libcurl_ct-8.12.1.4b1-py3-none-any.whl
| Download URL | libcurl_ct-8.12.1.4b1-py3-none-any.whl |
|---|---|
| Size | 4.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61d919e3d83c663794b312d2e6ba7fbf1405da103b3393f2ed7c5e334d391fc8
|
|
BLAKE2b-256 checksum How to use checksums |
eefb437ff73baa0a24b4a5ce57e503aa84ee356ac54a586675be31a2d06d3600
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|