Skip to main content

Rivora Contract Protocol (RCP)

RCP defines a common contract between applications, frameworks, and servers, so each can be built and updated separately. It describes how HTTP requests, WebTransport sessions, application lifecycles, and protocol events are represented through scopes, receive events, and send events.

It is optimized around HTTP/3 and QUIC and Webtransport over HTTP/3

Install

pip install rivora-rcp

Quick start

from rcp import HTTPResponseEventType


async def app(scope, receive, send):
    await send({"type": HTTPResponseEventType.START, "status": 200})
    await send(
        {
            "type": HTTPResponseEventType.BODY,
            "body": b"Hello from RCP",
            "more_body": False,
        }
    )

RCP applications are asynchronous callables that receive a scope, receive, and send. Servers provide these values and translate RCP events to and from the underlying transport.

Protocol versions

Version Capabilities
1.0 HTTP/3, QUIC, lifespan, and extensions
2.0 Version 1.0 plus WebTransport

The RCP protocol version is separate from the Python package version.

To learn more about rcp, please read the documentation.

RCP is licensed under the MIT License.

Metadata

Release files for rivora-rcp 2.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rivora-rcp 2.0.5
File Size Uploaded Provenance Actions
rivora_rcp-2.0.5.tar.gz 8.0 kB Without provenance Details for rivora_rcp-2.0.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rivora-rcp 2.0.5
File Interpreter ABI Platform Actions
rivora_rcp-2.0.5-py3-none-any.whl Python 3 none any Details for rivora_rcp-2.0.5-py3-none-any.whl

Total release size: 17.6 kB

Release files / rivora_rcp-2.0.5.tar.gz

Download URL rivora_rcp-2.0.5.tar.gz
Size 8.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6e64d5a17a6b088205662333fd66640d7c9d8a8633666b1b0df9bb4173e12efe
BLAKE2b-256 checksum
How to use checksums
d0226e51976524ee84e846475f2e45cffd9919a5b2f54177390f95ee8c594f9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / rivora_rcp-2.0.5-py3-none-any.whl

Download URL rivora_rcp-2.0.5-py3-none-any.whl
Size 9.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a9a8e2ba678b76b58858e30d44febd01f49323d5bebe5b7c44618060b21cc21a
BLAKE2b-256 checksum
How to use checksums
7e6ddd567a5932e686a9c86510f2a7a599213f4b3a9744e243e73ff4cac0fa16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for rivora-rcp 2.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page