urlfetch |github-actions-badge| |furyio-badge|
==========================================================
.. |github-actions-badge| image:: https://github.com/ifduyue/urlfetch/actions/workflows/test.yml/badge.svg
:target: https://github.com/ifduyue/urlfetch/actions/workflows/test.yml
.. |furyio-badge| image:: https://badge.fury.io/gh/ifduyue%2Furlfetch.svg
:target: https://badge.fury.io/gh/ifduyue%2Furlfetch
urlfetch is a simple, lightweight and easy to use HTTP client for Python.
It is distributed as a single file module and has no depencencies other than the Python Standard Library.
Highlights
-------------
* Distributed as a single file module, has no depencencies other than the Python Standard Library.
* Pure Python, works fine with gevent_.
* Small codebase, about 1000 lines and 30% are comments and blank lines. Only 10 minutes you can know every detail.
* Random user-agent.
* Support streaming.
.. _gevent: http://www.gevent.org/
Installation
-------------
::
$ pip install urlfetch
Hello, world
-------------
.. code-block:: python
import urlfetch
response = urlfetch.get('http://python.org/')
print response.status, response.reason
print len(response.content)
Uploading files
----------------
.. code-block:: python
import urlfetch
response = urlfetch.post(
'http://127.0.0.1:8888/upload',
headers = {
'Referer': 'http://127.0.0.1/',
},
files = {
'fieldname1': open('/path/to/file', 'rb'),
#'fieldname2': 'file content', # file must have a filename
'fieldname3': ('filename', open('/path/to/file2', 'rb')),
'fieldname4': ('filename', 'file content'),
},
data = {
'foo': 'bar'
},
)
print response.status, response.content
Testing
--------
.. __: http://bottlepy.org/
.. __: http://gunicorn.org/
To run the tests, urlfetch relies on `bottle`__ and `gunicorn`__.
If the tests are run by calling ``python setup.py test``, the
dependencies will be handled automatically (via ``tests_require``).
So, if you want to run the tests directly, that is,
``python tests/testall.py``, make sure bottle and gunicorn are installed
under the PYTHONPATH.
Raw data
{
"_id": null,
"home_page": "https://github.com/ifduyue/urlfetch",
"name": "urlfetch",
"maintainer": "",
"docs_url": "https://pythonhosted.org/urlfetch/",
"requires_python": ">=3.5",
"maintainer_email": "",
"keywords": "httpclient urlfetch",
"author": "Yue Du",
"author_email": "ifduyue@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/bb/a1/e1d6b044af47c9ccda8b04b8b03c78faec238f7fadac3526f2ce86205033/urlfetch-2.0.1.tar.gz",
"platform": null,
"description": "urlfetch |github-actions-badge| |furyio-badge|\n==========================================================\n\n.. |github-actions-badge| image:: https://github.com/ifduyue/urlfetch/actions/workflows/test.yml/badge.svg\n :target: https://github.com/ifduyue/urlfetch/actions/workflows/test.yml\n\n.. |furyio-badge| image:: https://badge.fury.io/gh/ifduyue%2Furlfetch.svg\n :target: https://badge.fury.io/gh/ifduyue%2Furlfetch\n\nurlfetch is a simple, lightweight and easy to use HTTP client for Python.\nIt is distributed as a single file module and has no depencencies other than the Python Standard Library.\n\n\nHighlights\n-------------\n\n* Distributed as a single file module, has no depencencies other than the Python Standard Library.\n* Pure Python, works fine with gevent_.\n* Small codebase, about 1000 lines and 30% are comments and blank lines. Only 10 minutes you can know every detail.\n* Random user-agent.\n* Support streaming.\n\n.. _gevent: http://www.gevent.org/\n\nInstallation\n-------------\n::\n\n $ pip install urlfetch\n\n\nHello, world\n-------------\n\n.. code-block:: python\n\n import urlfetch\n\n response = urlfetch.get('http://python.org/')\n print response.status, response.reason\n print len(response.content)\n\nUploading files\n----------------\n\n.. code-block:: python\n\n import urlfetch\n\n response = urlfetch.post(\n 'http://127.0.0.1:8888/upload',\n headers = {\n 'Referer': 'http://127.0.0.1/',\n },\n files = {\n 'fieldname1': open('/path/to/file', 'rb'),\n #'fieldname2': 'file content', # file must have a filename\n 'fieldname3': ('filename', open('/path/to/file2', 'rb')),\n 'fieldname4': ('filename', 'file content'),\n },\n data = {\n 'foo': 'bar'\n },\n )\n\n print response.status, response.content\n\n\nTesting\n--------\n\n.. __: http://bottlepy.org/\n.. __: http://gunicorn.org/\n\nTo run the tests, urlfetch relies on `bottle`__ and `gunicorn`__.\nIf the tests are run by calling ``python setup.py test``, the\ndependencies will be handled automatically (via ``tests_require``).\nSo, if you want to run the tests directly, that is,\n``python tests/testall.py``, make sure bottle and gunicorn are installed\nunder the PYTHONPATH.",
"bugtrack_url": null,
"license": "BSD",
"summary": "An easy to use HTTP client",
"version": "2.0.1",
"project_urls": {
"Homepage": "https://github.com/ifduyue/urlfetch"
},
"split_keywords": [
"httpclient",
"urlfetch"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "bba1e1d6b044af47c9ccda8b04b8b03c78faec238f7fadac3526f2ce86205033",
"md5": "fa7c5b06245c6e2eca7eb215c58f49a9",
"sha256": "bc1e60a71b2c6177b25830dda39daf2a230b6ce11c7bf2186098a785523adaa5"
},
"downloads": -1,
"filename": "urlfetch-2.0.1.tar.gz",
"has_sig": false,
"md5_digest": "fa7c5b06245c6e2eca7eb215c58f49a9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.5",
"size": 67064,
"upload_time": "2023-08-03T16:36:10",
"upload_time_iso_8601": "2023-08-03T16:36:10.898157Z",
"url": "https://files.pythonhosted.org/packages/bb/a1/e1d6b044af47c9ccda8b04b8b03c78faec238f7fadac3526f2ce86205033/urlfetch-2.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-03 16:36:10",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ifduyue",
"github_project": "urlfetch",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "urlfetch"
}