Skip to main content

Converts Request objects to curl string

Project description

curlifier

coverage tests pypi package version pypi downloads supported python versions wemake-python-styleguide license

logo

Converts the Request and PreparedRequest objects of the Requests library into an executable curl command.

Installation

pip install curlifier

Dependencies

  • python (>=3.10, <4.0)
  • requests (>=2.0, <3.0.0)

Usage

All you need is to import curlify.
For example:

>>> import requests
>>> from curlifier import curlify
>>> body = {'id': 1, 'name': 'Tima', 'age': 28}
>>> r = requests.post('https://httpbin.org/', json=body)
>>> curlify(r)
curl --request POST 'https://httpbin.org/' <...> --header 'Content-Type: application/json' --data '{"id": 1, "name": "Tima", "age": 28}'

If you use PraparedRequest, you can also specify it instead of the Response object:

>>> req = requests.Request('POST', 'https://httpbin.org/')
>>> r = req.prepare()
>>> curlify(prepared_request=r)
curl --request POST 'https://httpbin.org/'

If you want a short version of the curl command, you can specify it:

>>> body = {'id': 1, 'name': 'Tima', 'age': 28}
>>> r = requests.post('https://httpbin.org/', json=body)
>>> curlify(r, shorted=True)
curl -X POST 'https://httpbin.org/' <...> -H 'Content-Type: application/json' -d '{"id": 1, "name": "Tima", "age": 28}'

You can also specify the configuration when forming the curl command:

>>> curlify(r, location=True, insecure=True)
curl --request POST 'https://httpbin.org/' <...> --header 'Content-Type: application/json' --data '{"id": 1, "name": "Tima", "age": 28}' --location --insecure
  • location (bool) - Follow redirects (default: False)
  • verbose (bool) - Verbose output (default: False)
  • silent (bool) - Silent mode (default: False)
  • insecure (bool) - Allow insecure connections (default: False)
  • include (bool) - Include protocol headers (default: False)

License

Curlifier is released under the MIT License. See the bundled LICENSE file for details.

The logo was created using Font Meme.

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

curlifier-0.2.9.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

curlifier-0.2.9-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

Details for the file curlifier-0.2.9.tar.gz.

File metadata

  • Download URL: curlifier-0.2.9.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for curlifier-0.2.9.tar.gz
Algorithm Hash digest
SHA256 86e3f3a86a072fff169f6ffca446071983ce54cbc59c338c56af5cb5fad38547
MD5 247746909fa199ef308db32d8242d099
BLAKE2b-256 1bd216e58c68e3d1a3de681cfb3d9a1df9162c83b920894b041062152f134cf9

See more details on using hashes here.

File details

Details for the file curlifier-0.2.9-py3-none-any.whl.

File metadata

  • Download URL: curlifier-0.2.9-py3-none-any.whl
  • Upload date:
  • Size: 11.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.2 CPython/3.12.3 Linux/5.15.167.4-microsoft-standard-WSL2

File hashes

Hashes for curlifier-0.2.9-py3-none-any.whl
Algorithm Hash digest
SHA256 becfb92a2d75a5f45042b1a7837c29cb394e91fcd9ac9a051ca89918ef9ff4aa
MD5 84eb50e3d79b25a39c2213ee69ab7f05
BLAKE2b-256 4813eefac7f32c93c6921983c6a281a3df19ea59cb7f95d1b309b5cb2d355e7b

See more details on using hashes here.

Supported by

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