gripcontrol
GRIP library
Decision gist · record as of 2026-08-14
Yes, if you are building a backend that needs to push real-time updates through a GRIP proxy (Fanout.io, Pushpin, or compatible). The library is actively maintained, has no known vulnerabilities, and is permissively licensed. Install friction is moderate due to multiple dependencies, but they are all lightweight. Not relevant for applications that do not use GRIP proxies.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires valid GRIP endpoint credentials (control_uri, issuer, and key); ZMQ publishing requires pyzmq and tnetstring to be installed separately.
- High install friction: the package itself is small, but requires PyJWT, pubcontrol, and six as runtime dependencies.
- Optional ZMQ publishing requires pyzmq and tnetstring.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you must retain the license notice in distributions.
last release 2026-05-14 (92 days) · last repo commit 2026-05-14 · 32 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 79,259 downloads/mo, #14,370 on PyPI
Alternatives
Verify before relying
pip install gripcontrol
from gripcontrol import GripPubControl
from base64 import b64decode
grippub = GripPubControl({
'control_uri': 'https://api.fanout.io/realm/',
'control_iss': 'issuer',
'key': b64decode('...')
})
grippub.publish_http_response('channel', 'Test message')- Whether Python 2.x support (six dependency suggests it) is still maintained or if Python 3 only is now the target.
- Whether the package works with current versions of Fanout.io and Pushpin, or if there are known compatibility breaks.
What it is and what it does
GripControl is a Python library that implements the GRIP protocol, a specification for real-time message delivery through HTTP proxies. It acts as a client to GRIP-compatible proxy endpoints (such as Fanout.io or Pushpin), allowing you to publish HTTP responses, manage long-polling subscriptions, and send WebSocket control messages from your origin server. The library handles JWT authentication, supports multiple endpoint configurations, and can publish asynchronously with callbacks.
The package is designed for backends that need to push real-time updates to clients through a proxy layer. It abstracts away the details of GRIP message formatting and endpoint communication, letting you focus on subscription and publishing logic. It depends on PyJWT for token signing, pubcontrol for the underlying pub/control client, and six for Python 2/3 compatibility.
Use it for
- Publish real-time HTTP responses to clients connected through a GRIP proxy like Fanout.io.
- Implement long-polling endpoints where clients subscribe to channels and receive updates via HTTP headers or response bodies.
- Send WebSocket control messages to manage subscriptions and broadcast data to connected WebSocket clients through a GRIP proxy.
- Integrate with Pushpin or Fanout.io to add real-time capabilities to existing HTTP services without modifying client code.
- Build multi-endpoint publishing configurations for high-availability real-time messaging across multiple GRIP proxies.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are building a backend that needs to push real-time updates through a GRIP proxy (Fanout.io, Pushpin, or compatible).
The library is actively maintained, has no known vulnerabilities, and is permissively licensed. Install friction is moderate due to multiple dependencies, but they are all lightweight. Not relevant for applications that do not use GRIP proxies.
Install
gripcontrol on PyPI
Before you install
High install friction: the package itself is small, but requires PyJWT, pubcontrol, and six as runtime dependencies. Optional ZMQ publishing requires pyzmq and tnetstring. Last release was 92 days ago and the repository is actively maintained with 32 stars.
Requires valid GRIP endpoint credentials (control_uri, issuer, and key); ZMQ publishing requires pyzmq and tnetstring to be installed separately.
License in practice
MIT license permits commercial and private use with minimal restrictions; you must retain the license notice in distributions.
Quickstart
pip install gripcontrol
from gripcontrol import GripPubControl
from base64 import b64decode
grippub = GripPubControl({
'control_uri': 'https://api.fanout.io/realm/',
'control_iss': 'issuer',
'key': b64decode('...')
})
grippub.publish_http_response('channel', 'Test message')
Verify before relying
- Whether Python 2.x support (six dependency suggests it) is still maintained or if Python 3 only is now the target.
- Whether the package works with current versions of Fanout.io and Pushpin, or if there are known compatibility breaks.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | High. Source build required |
| Runtime dependencies | 3 packagesPyJWTpubcontrolsix |
| Maintenance | Actively maintained 92 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 79,259 / month, #14,370 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseTopic :: Utilities |
Evidence: gripcontrol-4.4.0.tar.gz
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 › “GRIP protocol implementation”
- gripcontrolImplements the GRIP (Generic Real-time Interoperability Protocol)…
- django-gripIntegrates Django with GRIP-compatible proxies (Pushpin, Fastly…
- gripGrip is a command-line server that renders local Markdown files using…
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 django-grip · grip · pubcontrol · websockets-proxy · tornado · websocket · simple-websocket · autobahn · azure-messaging-webpubsubservice · wsproto