{"id":27790,"library":"gabriel-client","title":"Gabriel Client","description":"Client library for the Gabriel real-time AI orchestration framework. Current version 4.1.7, requires Python >=3.10. Active development with periodic releases.","status":"active","version":"4.1.7","language":"python","source_language":"en","source_url":"https://github.com/cmusatyalab/gabriel/","tags":["gabriel","client","real-time","ai","orchestration","websockets"],"install":[{"cmd":"pip install gabriel-client","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"WebSocket communication with server","package":"websockets","optional":false},{"reason":"Protocol Buffers for message serialization","package":"protobuf","optional":false},{"reason":"gRPC support for token passing","package":"grpcio","optional":true}],"imports":[{"wrong":"from gabriel_client import ClientRunner","symbol":"ClientRunner","correct":"import gabriel_client"}],"quickstart":{"code":"import asyncio\nfrom gabriel_client import ClientRunner\nfrom gabriel_client.websocket_engine import websocket_engine\n\nasync def main():\n    server_address = 'localhost'\n    port = 9099\n    token = os.environ.get('GABRIEL_TOKEN', 'test_token')\n    engine_name = 'my_engine'\n    source = lambda: b'hello'  # dummy source, replace with actual\n    engine = websocket_engine(server_address, port, token, source)\n    runner = ClientRunner(engine, engine_name)\n    await runner.run()\n\nif __name__ == '__main__':\n    asyncio.run(main())","lang":"python","description":"Connects to a Gabriel server using WebSocket engine and runs a client."},"warnings":[{"fix":"Use gabriel-client v4.x with websocket_engine or grpc_engine. Do not use old socket-based code.","message":"Gabriel 3.0+ switched from TCP sockets to WebSockets/Protobuf. Legacy v2.x clients are incompatible.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Always pass a token string. If server doesn't enforce it, any non-empty string works.","message":"The token parameter is required but often omitted in examples; server may ignore it if not configured.","severity":"gotcha","affected_versions":"all"},{"fix":"Prefer websocket_engine unless you specifically need gRPC features and your server supports it.","message":"gRPC engine is deprecated in favor of WebSocket engine in newer Gabriel server versions.","severity":"deprecated","affected_versions":">=4.0.0"}],"env_vars":null,"search_vec":"'3.10':19 '4.1.7':16 'activ':20 'ai':11,30 'client':2,3,26 'current':14 'develop':21 'framework':13 'gabriel':1,7,25 'librari':4 'orchestr':12,31 'period':23 'python':18 'real':9,28 'real-tim':8,27 'releas':24 'requir':17 'time':10,29 'version':15 'websocket':32","created_at":"2026-05-09T05:52:05.771819+00:00","updated_at":"2026-05-09T05:52:05.771819+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"","cli_version":null,"type":"library","homepage":"http://gabriel.cs.cmu.edu","github":"https://github.com/cmusatyalab/gabriel","docs":null,"changelog":null,"pypi":"https://pypi.org/project/gabriel-client/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["llm-agents","ai-ml"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}