Skip to main content

An async Curl library.

Project description

Acurl

It is an asynchronous wrapper around libcurl which is built to interface with the Uvloop python library.

Using Acurl In Mite

The gateway into Acurl is through the CurlWrapper (discussed in Architectural Notes) and requires an event loop being passed to its constructor. Below is the mite implementation of acurl:

class SessionPool:
    ...
    def __init__(self):
        import acurl
        self._wrapper = acurl.CurlWrapper(asyncio.get_event_loop())
        ...

Architectural Notes

Acurl uses a single loop maintained within python using UVloop.

Acurl surfaces the CurlWrapper interface which takes the asyncio event loop as an argument. The wrapper deals directly with the curl_multi interface from libcurl, defining 2 functions (curl_perform_write and curl_perform_read) for checking both read and write availability of file descriptors.

There are 2 notable functions within the core Acurl implementation, notably handle_socket and start_timer:

  • handle_socket is passed as a callback function to the curl_multi interface and upon calls to the curl_multi_socket_action function, will receive updates regarding the socket status. We then handle those statuses by either adding or removing the aforementioned readers or writers.
  • start_timer is another callback function that is passed to the curl_multi interface and is used as a way to handle timeouts and retries within curl. Upon a timeout, the timeout callback will be called and the transfer can be retried.

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

acurl-0.2.tar.gz (152.4 kB view details)

Uploaded Source

Built Distributions

acurl-0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

acurl-0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (89.2 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

acurl-0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

acurl-0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (88.9 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

acurl-0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

acurl-0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (89.1 kB view details)

Uploaded PyPy macOS 10.9+ x86-64

acurl-0.2-cp310-cp310-musllinux_1_1_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

acurl-0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

acurl-0.2-cp310-cp310-macosx_11_0_arm64.whl (110.2 kB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

acurl-0.2-cp310-cp310-macosx_10_9_x86_64.whl (126.1 kB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

acurl-0.2-cp39-cp39-musllinux_1_1_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

acurl-0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

acurl-0.2-cp39-cp39-macosx_11_0_arm64.whl (112.4 kB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

acurl-0.2-cp39-cp39-macosx_10_9_x86_64.whl (128.6 kB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

acurl-0.2-cp38-cp38-musllinux_1_1_x86_64.whl (2.5 MB view details)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

acurl-0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

acurl-0.2-cp38-cp38-macosx_11_0_arm64.whl (111.2 kB view details)

Uploaded CPython 3.8 macOS 11.0+ ARM64

acurl-0.2-cp38-cp38-macosx_10_9_x86_64.whl (125.1 kB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

acurl-0.2-cp37-cp37m-musllinux_1_1_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.7m musllinux: musl 1.1+ x86-64

acurl-0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

acurl-0.2-cp37-cp37m-macosx_10_9_x86_64.whl (122.1 kB view details)

Uploaded CPython 3.7m macOS 10.9+ x86-64

acurl-0.2-cp36-cp36m-musllinux_1_1_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.6m musllinux: musl 1.1+ x86-64

acurl-0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.5 MB view details)

Uploaded CPython 3.6m manylinux: glibc 2.17+ x86-64

acurl-0.2-cp36-cp36m-macosx_10_9_x86_64.whl (122.7 kB view details)

Uploaded CPython 3.6m macOS 10.9+ x86-64

File details

Details for the file acurl-0.2.tar.gz.

File metadata

  • Download URL: acurl-0.2.tar.gz
  • Upload date:
  • Size: 152.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for acurl-0.2.tar.gz
Algorithm Hash digest
SHA256 d4d2a230d8f5537a810e4935fa3cfdf77b6ddb4f5270fa3dc2352ad253b34937
MD5 fa9d632d416272f39c9ffa8d93b541bc
BLAKE2b-256 e5891371d6c822489a490d91a86d5b1bc7bb78e1ad0499d0713feaeda08dd1eb

See more details on using hashes here.

File details

Details for the file acurl-0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b16dabf70ff116b49af4c23422dc9ffa249a02320d07f18cd1a28322599fd575
MD5 5bebefc8acee199814e9071176b78c10
BLAKE2b-256 68d8cc6b11f1a611253421c09b3a7a5cfa849d4716faa94642f5652425a2e18e

See more details on using hashes here.

File details

Details for the file acurl-0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 05e63cde4fa38c3408ff5ca9ac66b3cce10e8c5c3b7043cf35e71b93fb7e84d5
MD5 2e46c10c30fdf51a89ceb0f359ac4fe7
BLAKE2b-256 231785aaa7d13553329d5b246e3e53c2cc1b1c307c4414b96262934b2d8bccc7

See more details on using hashes here.

File details

Details for the file acurl-0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc05813bac447562019fae10de2b6b35c91d561f557ad915c36f4e25df0e3fd4
MD5 e44461a16a3a80514e6844c287794660
BLAKE2b-256 6910edbb40d0892a3871a4cd0f169797991ee6a8d73cc3cc30a6ca2d20d4e0fc

See more details on using hashes here.

File details

Details for the file acurl-0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d0f2d0d51aa932b29373bc951a8aa96ecb2d71bf957d35fb6bfc90937b5ee49e
MD5 26366f4882d1d633651d155038791070
BLAKE2b-256 ce7886718429664dd24b2991373af9e901666cb0374e329cd221a8070de6750c

See more details on using hashes here.

File details

Details for the file acurl-0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b783b5a6a706d15941aed5a3d67516082f38c24dd0cd4adf1bdc72958aea0ca2
MD5 993a990503af80ea498cf3e1c8da3459
BLAKE2b-256 ba794d535a72b1d61192874ea339db6dc51322a2b9b580e3f5a15653663b5a47

See more details on using hashes here.

File details

Details for the file acurl-0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 87ecc569bf1708c9049dd99bfbb2397dc8917b23b7ae403946278f11d8a4d2ae
MD5 745b8b3f18acdc35f5fe877affc56762
BLAKE2b-256 2a54072704a3f68cd442f4b72001e05843933a095070687ed07b4ff0dd30d31c

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 b17c89c59f939de50932e0d421083b0e00e5a218adf13c987073059c19bbdf02
MD5 5d1a817ddea84daf5c6fc97f6f65122d
BLAKE2b-256 9244a2b86e53b5f2191a79dee3dc59737b2cc621ac8ea7fec48bf3c2098223ff

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8a2c3378193bde82a68a51693f21b8e736697d0e964cc81f787d88c3fb29760
MD5 55ad381b1b0e97b796009d88544144f2
BLAKE2b-256 ca93022677402020b5676b3aa474dff668147a122212a447bb454ee83807c313

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f7951b599677a915c8b02b71e76b8afa25cc94eed22efaa49673f8e79873645
MD5 9195bb894b9a39a46e573f1f0889f9d2
BLAKE2b-256 b78e676b65e37e76547595f42200a43611bc2499213ba5ea6ed023949bb416a7

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 51ba70502abecfd5549227d100305b828af2488d11817aa283406129b48d71df
MD5 6b4181bc141e4daa70d927896617d14d
BLAKE2b-256 b91d5346a3ce7387e3bd626cd1927b14bf75a305e8428035fdf729940c31b732

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 f4ce5b167898b9bb116cb79b8d80021df90f9856e547bb064297018623b2689e
MD5 2e84fd7ba01c36fc2529a497d43dfc4a
BLAKE2b-256 55a5d483d1d1835f26b5dd48df34b792ecf754dbd9406569521e1b42169217e6

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e8ab1f1f8d57fa64d1dc4d9f5b11d314abc9fad60f9ab058be35d19cc5df0afe
MD5 af7fbb2cd8596e29934b3eb7610ff8af
BLAKE2b-256 cd072df8fc11a727878299775e9ca7c034e14cd92d7a235d2dca73eb5d79b83d

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 649f9c2575a152b47f29c09b6904d0a6a9c1a21ba582758d5c51646969b93730
MD5 60c0320ee0e327e92c4ddd4e550a935f
BLAKE2b-256 8e5854d67a2779931d4574074b2ebe2b31211321d6c9cff38c9752ff52b7706f

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 6c69dd5e5d732b52a09277ebfb204fc87ee1fe25cb557d0579ec5f8c34777a57
MD5 45e87629d28cb033db0bbe7ef57c7ecd
BLAKE2b-256 2f268626ec0559a46f52fbd8ba0db2d91c2dc894f99f175a3f4719413ba51177

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 01223bb2f02d2850667c4c94511b10243e101cadb1215aa07bdbe1c1751c0bb1
MD5 8db3cb32229d4bd62b20a9a9aa013654
BLAKE2b-256 1763090d2ade3b81bc82c913e120616faecee3e997b91a7b4ae8fae6a1ade39b

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3dbf4fe9974ce03a73ce2ebe39a8a5a8d5230dbdd411dfdf9147b546729a5b0f
MD5 cbf5efaf43850b5501936761911e0766
BLAKE2b-256 1f77c4bbc7f08e5faa1a2b5950cb03a78956f2002d30b66034168d645dfae7dc

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 19188598634edc66501c41d4865fdcb3107bd79b759de69144b8a137f7034424
MD5 86df81c1231c5f24f480fca01e2addb7
BLAKE2b-256 f3be3454a0af93522512b3d8eb711e8c443e5988f3e08ff62b4fd2bc4a8f2e1b

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 b65829c73f1dcee2938683454fc4e94035cb3ba56b7c1686a10cb4dedb4b4f6e
MD5 2cf00fa1ad29052195f88b6e2c728e51
BLAKE2b-256 16a00d13f530bb463e64b7b3dcba7fb738e8059ff14957894467e61462697ee8

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp37-cp37m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 879bbbc9825e422a4d7023f0af707f43ddafcace9758dd8b4f7070b4e4d3c728
MD5 86113663e1901e47e25d211787b18d26
BLAKE2b-256 629d1bc51f513e4173bf0676425c95799a4f0f3afbc54b7c8d467fad06947e33

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dc964e3ff1e728e388887b702cc920dd81a6286d2cd4717b39fbd6877a8ca8ba
MD5 62f3b9f132ad59047db164125f430e9f
BLAKE2b-256 35b98d55fc7109b9976ff2bd273c0ab9ff96cf54967387a290b5e4c445cd1196

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 e7e3e9f2ddeb838039450802b0cee61270f968f582c311fdf7b440ccf5b63fdd
MD5 1ac896c077fb12898c366dcfa0654b14
BLAKE2b-256 55a6541e09741f64bc699393203468f9154656a753e71d13aa5428bf6191d998

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp36-cp36m-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 de2ddbc7747cb7d9ff5af1916928130c6deb199ea5b951593f4811644627cfa9
MD5 bdef56159ea403bf82140068655dc0fa
BLAKE2b-256 91b0f9af9ee5e9d8abed0f7641b1886f0fc52e6b2532e6e0cf1a77c225b8bdf6

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78904eb552e7605fa47a57e50a808a32b77614551b345b443636b2ab9a196e5d
MD5 a178776dc2495dd7a01cdb141265d843
BLAKE2b-256 246c48ec1259c576f3af898fc15b75de773aad47e5f30ad496bee86e9799bbf5

See more details on using hashes here.

File details

Details for the file acurl-0.2-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for acurl-0.2-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ac0deb1d589aef8e040a7fff18e5a0a3a41a2c8fe4c6dd0f77f7f405a5e4bf7a
MD5 eba2a42f6731b192cc1e105a389d28f0
BLAKE2b-256 be33b965fca6d142b2307f31cdd94221a3c8f94aa608f04f6ae9b8f2802d0740

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