Skip to main content

Python binding for the libcurl C library.

Project description

libcurl-ct

Python binding for the libcurl C library.

Overview

Python libcurl-ct module is a low-level binding for libcurl C library.
It is an effort to allow python programs full access to the API implemented and provided by the well known *libcurl* library.

PyPI record.

Documentation.

libcurl-ct is a lightweight Python package, based on the ctypes library.
It is fully compliant implementation of the original C libcurl API by implementing whole its functionality in a clean Python instead of C.

libcurl API documentation can be found at:

libcurl API 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:

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-2022 Adam Karpierz
Licensed under the MIT License
Please refer to the accompanying LICENSE file.

Authors

Changelog

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

libcurl-ct-7.81.0a2.zip (4.8 MB view details)

Uploaded Source

Built Distribution

libcurl_ct-7.81.0a2-py3-none-any.whl (4.5 MB view details)

Uploaded Python 3

File details

Details for the file libcurl-ct-7.81.0a2.zip.

File metadata

  • Download URL: libcurl-ct-7.81.0a2.zip
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for libcurl-ct-7.81.0a2.zip
Algorithm Hash digest
SHA256 17823e8a939b121b0b6a187b087c48efe7e02ebe37044f3dfa627143abe2100c
MD5 25796ee73e8d422d86b047f9be61861e
BLAKE2b-256 c54bc712277c14edf2f5c6b91a4b93501d5c329a8ebd9009203b1af02b656e7a

See more details on using hashes here.

File details

Details for the file libcurl_ct-7.81.0a2-py3-none-any.whl.

File metadata

  • Download URL: libcurl_ct-7.81.0a2-py3-none-any.whl
  • Upload date:
  • Size: 4.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.27.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.9

File hashes

Hashes for libcurl_ct-7.81.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 76a2a6cdb3965ccea7d0689b4f6b89ae3694a2c7cd70a650992fe849432fa43b
MD5 48fd7dd8f3997ba179ea3bbf65a46d39
BLAKE2b-256 ff7de52bfb4dbd2b8f5d2caa1c746c9fd3643a1fa298def2af77389913c766de

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page