skillfed

convex

Python client for the reactive backend-as-a-service Convex.

convex v0.7.0 95.1K downloads/30d#13,293 on PyPI90
Permissive license Apache-2.0 Active released

What it is and what it does

Convex is a Python client for the Convex backend-as-a-service platform. It allows you to call queries, mutations, and actions defined in your Convex backend from Python code, passing arguments and receiving results over HTTP. The client handles type conversion between Python and JavaScript (including special handling for Int64 via ConvexInt64), supports authentication via tokens, and provides subscription-based real-time updates. It also includes error handling for ConvexError exceptions propagated from backend functions.

The package is built with compiled wheels for broad platform support (x86_64, ARM, and other architectures across Linux, macOS, and musl systems). It has no runtime dependencies beyond Python itself, making it lightweight to install. The client is designed to integrate with Convex's cloud-hosted backend, requiring a deployment URL and knowledge of available RPC functions from the Convex dashboard.

Use it for:

  • Call Convex backend queries from a Python script or application to fetch data without managing a separate database.
  • Execute mutations from Python to write or update data in Convex, triggered by application logic or scheduled tasks.
  • Subscribe to real-time updates from Convex queries to keep local state synchronized with backend changes.
  • Authenticate Python clients with tokens from Convex authentication flows to enforce access control.
  • Integrate Convex as the backend for a Python web service or CLI tool, delegating data persistence to the cloud.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Python client for Convex, a backend-as-a-service platform, enabling queries, mutations, and subscriptions to a Convex backend via RPC calls.

Yes, if you are already using Convex as your backend platform and need a Python client. The package is actively maintained, has no external dependencies, and supports current Python versions. The pre-1.0.0 status and stated willingness to make breaking changes warrant caution for long-term production use, but it is suitable for projects committed to tracking Convex's evolution. No known security vulnerabilities.

Install

convex on PyPI

pip

pip install convex

uv

uv add convex

poetry

poetry add convex

Installing convex

Before you install

Medium install friction due to compiled wheels for multiple architectures and Python versions. Package is actively maintained with recent releases; repo shows active development and reasonable community engagement.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions—suitable for most projects.

Quickstart

pip install convex

from convex import ConvexClient
client = ConvexClient('https://example-lion-123.convex.cloud')
messages = client.query("messages:list")
print(messages)

Requires Python 3.9 or later; Convex backend URL must be obtained from the Convex dashboard.

Verify before relying

  • Whether subscription streaming (client.subscribe) works reliably in production environments and what reconnection/error-recovery behavior is implemented.
  • Performance characteristics and latency for large result sets or high-frequency queries.
  • Support timeline and backwards-compatibility guarantees given the pre-1.0.0 status and stated willingness to make breaking changes.

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 605 days since the last release
Last repo commit
First released
Downloads 95,068/month — #13,293 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: convex-0.7.0-cp313-cp313t-macosx_10_12_x86_64.whl; convex-0.7.0-cp313-cp313t-macosx_11_0_arm64.whl; convex-0.7.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; convex-0.7.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; convex-0.7.0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl; convex-0.7.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; convex-0.7.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl; convex-0.7.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; convex-0.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl; convex-0.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl; convex-0.7.0-cp313-cp313t-musllinux_1_2_i686.whl; convex-0.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl; convex-0.7.0-cp39-abi3-macosx_10_12_x86_64.whl; convex-0.7.0-cp39-abi3-macosx_11_0_arm64.whl; convex-0.7.0-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl; convex-0.7.0-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl; convex-0.7.0-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl; convex-0.7.0-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl; convex-0.7.0-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl; convex-0.7.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Development Status :: 3 - AlphaProgramming Language :: JavaScriptProgramming Language :: Python :: Implementation :: CPythonProgramming Language :: RustTopic :: Database :: Front-EndsTopic :: Software Development :: Libraries :: Python Modules

Tags

convex backend clientpython backend-as-a-servicereactive database clientconvex queries mutationsserverless backend pythonconvex rpc clientreal-time data sync
backend-as-a-servicereactive-databaserpc-client

More Python Modules packages