uncurl
A library to convert curl requests to python-requests.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
(unclear) — 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.
last release 2021-03-21 (1972 days) · last repo commit 2025-06-08 · 667 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 330,942 downloads/mo, #7,525 on PyPI
Alternatives
Verify before relying
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)- 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
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 on it.
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
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
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “curl to python requests”
- uncurlConverts curl command-line requests into equivalent Python code using…
- curlifyConverts a Python requests request object into an equivalent cURL…
- curlify2Converts Python requests and httpx HTTP request objects into…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also curlify · curlify2 · wrapper-tls-requests · curl-cffi · tls-client · fake-http-header · fake-headers · scrapy-impersonate · flask-unsign · requestium