uncurl
A library to convert curl requests to python-requests.
What it is and what it does
Uncurl is a parser that translates curl command-line syntax into Python code that calls the Requests library. It's designed to bridge the gap between browser developer tools (which offer "Copy as cURL") and Python HTTP clients, letting you quickly recreate browser requests in Python without manually rewriting headers, cookies, and parameters.
The package provides both a command-line interface (reading from clipboard or arguments) and a programmatic API. You can either get a ready-to-use Python code string via `uncurl.parse()`, or extract structured components (URL, headers, cookies) as Python objects via `uncurl.parse_context()`. It has no runtime dependencies and installs as a pure Python wheel.
Use it for:
- Quickly convert a curl command copied from Chrome DevTools network tab into runnable Python code for API testing or scripting.
- Extract structured request components (headers, cookies, URL) from a curl command for use in custom HTTP client code.
- Automate translation of curl-based documentation examples into Python equivalents for integration into Python projects.
- Debug HTTP requests by converting browser-captured curl commands into Python for inspection and modification.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Converts curl command-line requests into equivalent Python code using the Requests library, useful for translating browser network inspector captures into Python scripts.
Yes, with caution on maintenance. The package is simple, has no dependencies, and solves a real workflow problem—translating curl to Python requests. However, it has not been updated since 2021 and shows no recent activity. Install it if your use case is straightforward curl-to-requests conversion and you're comfortable with a dormant dependency. Verify the license before production use.
Install
uncurl on PyPI
pip
pip install uncurluv
uv add uncurlpoetry
poetry add uncurlInstalling uncurl
Before you install
Low install friction with no runtime dependencies. However, the package is aging: last release was in 2021, over four years old, and the repository shows no recent commits despite being archived as false. Maintenance status is unclear.
License in practice
License treatment is unclear—no SPDX identifier or raw license text is available in the package metadata. Verify the actual license before use in proprietary or restricted contexts.
Quickstart
pip install uncurl
import uncurl
# Parse curl command to Python code string
code = uncurl.parse("curl 'https://example.com' -H 'Accept: application/json'")
print(code)
# Or extract structured components
context = uncurl.parse_context("curl 'https://example.com' -H 'Accept: application/json'")
print(context.url, context.headers)
Verify before relying
- Actual license terms and compatibility (license_treatment is 'unclear')
- Python version support (requires_python is unspecified)
- Whether the package handles modern curl syntax and options beyond the documented examples
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | aging — 1,972 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 330,942/month — #7,525 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: uncurl-0.0.11-py3-none-any.whl
Tags
More Utilities packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
charset-normalizerDetects and normalizes text encoding from…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
pluggyPluggy provides a plugin system that lets you…
permissive · top 100 on PyPI
PygmentsPygments is a syntax highlighter that colorizes…
permissive · top 100 on PyPI
sixSix provides utility functions to write Python…
permissive · top 100 on PyPI
curlifyConverts a Python requests request object into…
permissive · top 5,000 on PyPI
curlify2Converts Python requests and httpx HTTP request…
permissive · top 15,000 on PyPI
wrapper-tls-requestsMakes HTTP requests with browser-like TLS…
permissive · top 15,000 on PyPI
curl-cfficurl_cffi provides Python bindings to libcurl…
permissive · top 1,000 on PyPI
tls-clientAn HTTP client library that mimics the requests…
permissive · top 5,000 on PyPI
fake-http-headerGenerates realistic-looking HTTP request…
permissive · top 15,000 on PyPI
fake-headersGenerates realistic User-Agent strings and HTTP…
permissive · top 15,000 on PyPI
scrapy-impersonateA Scrapy download handler that replaces…
permissive · top 15,000 on PyPI
flask-unsignCommand-line tool to decode, brute-force, and…
permissive · top 15,000 on PyPI
requestiumRequestium merges Requests, Selenium, and…
permissive · top 15,000 on PyPI