curlify 3.0.0


pip install curlify

  Latest version

Released: May 25, 2025


Meta
Author: Egor Orlov
Requires Python: >=3.7

Classifiers

Environment
  • Web Environment

Intended Audience
  • Developers

License
  • OSI Approved :: MIT License

Operating System
  • OS Independent

Programming Language
  • Python
  • Python :: 3
  • Python :: 3 :: Only

Topic
  • Internet :: WWW/HTTP
  • Internet :: WWW/HTTP :: Dynamic Content

Curlify - convert Python Requests request object to cURL command

Installation

pip install curlify

Changes

v3.0.0

  • Remove Python 2 compatibility
  • Add pretty parameter to enable generating a multi-line command
  • Don't add -X when it's unnecessary
  • Correctly send empty headers
  • Don't generate --data that would read a file
  • Don't sort headers, their order is deterministic on Python 3.7+

v2.2.0

  • Fixed shell quotes. Fixed posting CSV file. Thanks to @leNEKO

v2.1.1

  • Add --insecure flag if verify parameter is not True

v2.1.0

  • Fixed body rendering when using json param to request function.

v2.0.1

  • Added compressed parameter to to_curl function, if it is needed to add --compressed option to generated cURL command.

v2.0

v1.2

  • Order of headers is deterministic (thanks to @tomviner)

Example

import curlify
import requests

response = requests.get("http://google.ru")
print(curlify.to_curl(response.request))
# curl -X 'GET' -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'User-Agent: python-requests/2.18.4' 'http://www.google.ru/'

print(curlify.to_curl(response.request, compressed=True))
# curl -X 'GET' -H 'Accept: */*' -H 'Accept-Encoding: gzip, deflate' -H 'Connection: keep-alive' -H 'User-Agent: python-requests/2.18.4' --compressed 'http://www.google.ru/'

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras: None
Dependencies:
requests