Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PycURL - Python interface to libcurl

License

LGPL-2.1, Unknown licenses found

Licenses found

LGPL-2.1
COPYING-LGPL
Unknown
COPYING-MIT
NotificationsYou must be signed in to change notification settings

pycurl/pycurl

PycURL is a Python interface tolibcurl, the multiprotocol filetransfer library. Similarly to theurllib 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 oflibcurl, including:

  • Speed - libcurl is very fast and PycURL, being a thin wrapper abovelibcurl, is very fast as well. PycURLwas benchmarked to be severaltimes faster thanrequests.
  • Features including multiple protocol support, SSL, authentication andproxy options. PycURL supports most of libcurl's callbacks.
  • Multi andshare interfaces.
  • Sockets used for network operations, permitting integration of PycURLinto the application's I/O loop (e.g., usingTornado).

Requirements

  • Python 3.5-3.10.
  • libcurl 7.19.0 or better.

Installation

Download source and binary distributions fromPyPI.Binary wheels are now available for 32 and 64 bit Windows versions.

Please seeINSTALL.rst for installation instructions. If installing froma Git checkout, please follow instruction in theGit Checkout sectionof INSTALL.rst.

Documentation

Documentation for the most recent PycURL release is available onPycURL website.

Documentation for the development version of PycURLis availablehere.

To build documentation from source, runmake docs.Building documentation requiresSphinx tobe installed, as well as pycurl extension module built as docstrings areextracted from it. Built documentation is stored inbuild/docsubdirectory.

Support

For support questions please usecurl-and-python mailing list.Mailing list archives are available for your perusal as well.

Although not an official support venue,Stack Overflow has beenpopular with some PycURL users.

Bugs can be reportedvia GitHub. Please use GitHub only for bugreports and direct questions to our mailing list instead.

Automated Tests

PycURL comes with an automated test suite. To run the tests, execute:

make test

The suite depends on packagespytest andflask, as well asvsftpd.

Some tests use vsftpd configured to accept anonymous uploads. These testsare not run by default. As configured, vsftpd will allow reads and writes toanything the user running the tests has read and write access. To runvsftpd tests you must explicitly set PYCURL_VSFTPD_PATH variable like so:

# use vsftpd in PATHexport PYCURL_VSFTPD_PATH=vsftpd# specify full path to vsftpdexport PYCURL_VSFTPD_PATH=/usr/local/libexec/vsftpd

Test Matrix

The test matrix is a separate framework that runs tests on more esotericconfigurations. It supports:

  • Testing against Python 2.4, which bottle does not support.
  • Testing against Python compiled without threads, which requires an out ofprocess test server.
  • Testing against locally compiled libcurl with arbitrary options.

To use the test matrix, first start the test server from Python 2.5+ byrunning:

python -m tests.appmanager

Then in a different shell, and preferably in a separate user account,run the test matrix:

# run ftp tests, etc.export PYCURL_VSFTPD_PATH=vsftpd# create a new work directory, preferably not under pycurl treemkdir testmatrixcd testmatrix# run the matrix specifying absolute pathpython /path/to/pycurl/tests/matrix.py

The test matrix will download, build and install supported Python versionsand supported libcurl versions, then run pycurl tests against each combination.To see what the combinations are, look intests/matrix.py.

Contribute

For smaller changes:

  1. Forkthe repository on Github.
  2. Create a branch offmaster.
  3. Make your changes.
  4. Write a test which shows that the bug was fixed or that the featureworks as expected.
  5. Send a pull request.
  6. Check back after 10-15 minutes to see if tests passed on Travis CI.PycURL supports old Python and libcurl releases and their support is testedon Travis.

For larger changes:

  1. Join themailing list.
  2. Discuss your proposal on the mailing list.
  3. When consensus is reached, implement it as described above.

Please contribute binary distributions for your system to thedownloads repository.

License

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 licensebased on the cURL license.  A full copy of the LGPL license is includedin the file COPYING-LGPL.  A full copy of the MIT/X derivative license isincluded in the file COPYING-MIT.  You can redistribute and/or modify PycURLaccording to the terms of either license.

About

PycURL - Python interface to libcurl

Topics

Resources

License

LGPL-2.1, Unknown licenses found

Licenses found

LGPL-2.1
COPYING-LGPL
Unknown
COPYING-MIT

Contributing

Stars

Watchers

Forks

Packages

 
 
 

[8]ページ先頭

©2009-2025 Movatter.jp