{"id":27791,"library":"gabriel-protocol","title":"Gabriel Protocol","description":"Gabriel Protocol is the official Python package for the Gabriel real-time AI orchestration framework, providing client and server tools for building composable cognitive assistant pipelines using WebSocket communication and Protocol Buffers. Current version is 4.1, supporting Python >=3.10. Releases are tagged on GitHub at cmusatyalab/gabriel.","status":"active","version":"4.1","language":"python","source_language":"en","source_url":"https://github.com/cmusatyalab/gabriel","tags":["gabriel","ai-orchestration","websocket","protobuf","realtime"],"install":[{"cmd":"pip install gabriel-protocol","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Protocol Buffers for message serialization","package":"protobuf","optional":false},{"reason":"WebSocket client library for communication with Gabriel server","package":"websockets","optional":false}],"imports":[{"wrong":"from gabriel_protocol import ClientRunner","symbol":"ClientRunner","correct":"from gabriel_protocol import ClientRunner"}],"quickstart":{"code":"import asyncio\nfrom gabriel_protocol import ClientRunner\nfrom gabriel_protocol.server import ServerWrapper\n\ndef main():\n    # Example client runner\n    token = os.environ.get('GABRIEL_TOKEN', '')\n    async def client_task(websocket):\n        await websocket.send('Hello')\n        response = await websocket.recv()\n        print('Received:', response)\n    runner = ClientRunner('ws://localhost:9099', token=token)\n    asyncio.run(runner.run(client_task))\n\nif __name__ == '__main__':\n    main()","lang":"python","description":"Basic client runner connecting to a Gabriel server."},"warnings":[{"fix":"Change 'import gabriel' to 'import gabriel_protocol' and update all submodule imports accordingly.","message":"Version 3.0 renamed the package from 'gabriel' to 'gabriel_protocol'. Old imports break.","severity":"breaking","affected_versions":">=3.0"},{"fix":"Upgrade to use the new WebSocket/Protobuf-based protocol. Refer to migration guide.","message":"The legacy v2 protocol (pre-3.0) is deprecated and may be removed in future versions.","severity":"deprecated","affected_versions":">=3.0"},{"fix":"Start the Gabriel server before launching any client scripts.","message":"The package requires the server to be running before creating a client; otherwise, connection errors occur.","severity":"gotcha","affected_versions":"All"}],"env_vars":null,"search_vec":"'3.10':42 '4.1':39 'ai':16,52 'ai-orchestr':51 'assist':28 'buffer':35 'build':25 'client':20 'cmusatyalab/gabriel':49 'cognit':27 'communic':32 'compos':26 'current':36 'framework':18 'gabriel':1,3,12,50 'github':47 'offici':7 'orchestr':17,53 'packag':9 'pipelin':29 'protobuf':55 'protocol':2,4,34 'provid':19 'python':8,41 'real':14 'real-tim':13 'realtim':56 'releas':43 'server':22 'support':40 'tag':45 'time':15 'tool':23 'use':30 'version':37 'websocket':31,54","created_at":"2026-05-09T05:52:05.865306+00:00","updated_at":"2026-05-09T05:52:05.865306+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\nImportError: cannot import name 'ClientRunner' from 'gabriel_protocol' (/tmp/tmpgtgz7jo_/venv/lib/python3.12/site-packages/gabriel_protocol/__init__.py)"},"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-protocol/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["llm-agents","ai-ml","web-framework","serialization"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":null}}