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.8.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.8-py3-none-any.whl (11.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: curlifier-0.2.8.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.8.tar.gz
Algorithm Hash digest
SHA256 73b2f35bd3c29c8109c61cd1e63585639058437136b94b361398b8a7f8d173a9
MD5 c8abd258262ec8feff72fc64b63aa48d
BLAKE2b-256 06beb95420e8ebe9c2f79925a68f1b141a4b73354c4d73d41e6c39c846a357f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: curlifier-0.2.8-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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 60c20c7bb03c35b73b7895e0e9e06cc92aed9d27798965c766ed170f60c549e2
MD5 d939d79e69d346f72e1d6ff9b2d4df9b
BLAKE2b-256 16f33c4a220b2a048411f46b0cd00737b206438d288c8a3906176bbabd7b5fc6

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