$npx skillfedfor your agent

uplink

A Declarative HTTP Client for Python.

With conditionsPyPI LibrariesReleased Jun 2025190.7K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — uplink-0.10.0-py3-none-any.whl
v0.10.0 · released 2025-06-14 · Python >=3.10 · 3 runtime deps: requests, six, uritemplate

Yes, with conditions. Uplink is a solid choice for building structured REST clients in modern Python and has no known vulnerabilities. The low install friction and permissive MIT license make it safe to adopt. However, the aging maintenance status means you should verify that async support and optional integrations match your needs before committing to it for a new project.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.10 or later.
  • Low friction install with three lightweight runtime dependencies (requests, six, uritemplate).
  • Maintenance status is aging—last release was 426 days ago—but the repository remains active with 1140 stars.

License · maintenance · safety

permissive license (permissive) — MIT License permits unrestricted use, modification, and distribution with minimal obligations, making it safe for commercial and proprietary projects.

last release 2025-06-14 (426 days) · last repo commit 2025-06-14 · 1,140 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 190,687 downloads/mo, #9,901 on PyPI

Verify before relying

pip install uplink

from uplink import Consumer, get, Path, Query

class GitHub(Consumer):
    @get("users/{user}/repos")
    def get_repos(self, user: Path, sort_by: Query("sort")):
        pass

github = GitHub(base_url="https://api.github.com/")
repos = github.get_repos(user="octocat", sort_by="created")
  • Whether aiohttp and twisted async support are production-ready given the aging maintenance status
  • Current state of optional marshmallow and pydantic integrations and their maintenance
Same gist for agents: .md · .json

What it is and what it does

Uplink is a declarative HTTP client library that lets you define REST API clients as Python classes using decorators and type hints, inspired by Retrofit. Instead of writing ad-hoc requests calls, you annotate methods with @get, @post, etc., and specify path parameters, query strings, and request bodies through function arguments. It handles URL construction, parameter serialization, and response parsing automatically.

The library works with requests by default and supports async I/O through aiohttp and twisted. It can deserialize responses into custom Python objects, with optional integrations for marshmallow and pydantic schemas. You bring your own HTTP session for control over connection pooling, authentication, and other session-level concerns.

Use it for

  • Building a reusable Python client for a third-party REST API without writing repetitive request boilerplate.
  • Creating internal API abstraction layers so application code calls clean Python methods instead of raw HTTP calls.
  • Implementing async API clients with aiohttp or twisted when you need non-blocking I/O.
  • Defining strongly-typed API contracts with decorators and type hints to catch errors early.
  • Integrating with marshmallow or pydantic to automatically serialize and deserialize JSON responses.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, with conditions.

Uplink is a solid choice for building structured REST clients in modern Python and has no known vulnerabilities. The low install friction and permissive MIT license make it safe to adopt. However, the aging maintenance status means you should verify that async support and optional integrations match your needs before committing to it for a new project.

Install

uplink on PyPI

Before you install

Low friction install with three lightweight runtime dependencies (requests, six, uritemplate). Maintenance status is aging—last release was 426 days ago—but the repository remains active with 1140 stars.

Requires Python 3.10 or later.

License in practice

MIT License permits unrestricted use, modification, and distribution with minimal obligations, making it safe for commercial and proprietary projects.

Quickstart

pip install uplink

from uplink import Consumer, get, Path, Query

class GitHub(Consumer):
    @get("users/{user}/repos")
    def get_repos(self, user: Path, sort_by: Query("sort")):
        pass

github = GitHub(base_url="https://api.github.com/")
repos = github.get_repos(user="octocat", sort_by="created")

Verify before relying

  • Whether aiohttp and twisted async support are production-ready given the aging maintenance status
  • Current state of optional marshmallow and pydantic integrations and their maintenance

Package facts

Licensepermissive license permissive
Python supportSupports the current Python release >=3.10
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
requestssixuritemplate
MaintenanceAging 426 days since the last release
Last repo commit
First released
Downloads190,687 / month, #9,901 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries

Evidence: uplink-0.10.0-py3-none-any.whl

Tags

Capabilities
declarative http clientapi client generatorretrofit-style pythonrest client decoratorstructured api wrapperhttp request abstractionasync api client
Topics
rest-clientdecorator-basedasync-ready
PyPI keywords
apiclienthttprestretrofit

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 › “declarative http client”

  • uplinkUplink turns HTTP APIs into declarative Python classes using…
  • dagster-rest-resourcesProvides REST API resource integrations for Dagster data pipelines,…
  • webargswebargs parses and validates HTTP request arguments (query strings,…

Give your agent the search over MCP, or paste the wish link into any chat.

More Libraries packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests Worth it
PyPI · Libraries · released May 2026

Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.

Apache-2.0pure Python · 3.10+
1.8Bdownloads / mo
pluggy Worth it
PyPI · Libraries · released May 2025

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.

MITpure Python · 3.9+aging
1.3Bdownloads / mo
python-dateutil Worth it
PyPI · Libraries · released Mar 2024

Provides parsing, arithmetic, and recurrence rule computation for dates and times, with timezone support and iCalendar RFC compliance.

Install it if you need to parse flexible date strings, compute relative dates, handle timezones, or work with recurrence rules—it's the de facto choice for these tasks.

Apache-2.0pure Python
1.2Bdownloads / mo
six With conditions
PyPI · Libraries · released Dec 2024

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.

MITpure Python
1.2Bdownloads / mo
pytest Worth it
PyPI · Libraries · released Jun 2026

pytest is a testing framework that lets you write test functions using plain assert statements and automatically discovers and runs them, with detailed failure reporting.

MITpure Python · 3.10+
1.1Bdownloads / mo

See also oauthlib · conjure-python-client · agithub · pook · hammock · marshmallow-jsonapi · botoinator · opencode-ai · requests-oauthlib · PyGithub