{"id":27507,"library":"utf-queue-client","title":"UTF Queue Client","description":"A Python client for interacting with UTF (Unified Task Framework) queues. Version 1.21.6, actively maintained. Provides async and sync interfaces for queue operations like produce, consume, and manage messages. Releases occur frequently.","status":"active","version":"1.21.6","language":"python","source_language":"en","source_url":"https://github.com/utf/utf-queue-client","tags":["queue","tasks","client","async","utf"],"install":[{"cmd":"pip install utf-queue-client","lang":"bash","label":"install"}],"dependencies":[],"imports":[{"note":"Library uses underscores in module name.","symbol":"UTFQueueClient","correct":"from utf_queue_client import UTFQueueClient"},{"note":"Async version for asyncio usage.","symbol":"AsyncUTFQueueClient","correct":"from utf_queue_client import AsyncUTFQueueClient"}],"quickstart":{"code":"import os\nfrom utf_queue_client import UTFQueueClient\n\nclient = UTFQueueClient(\n    endpoint=os.environ.get('UTF_ENDPOINT', 'http://localhost:8080'),\n    token=os.environ.get('UTF_TOKEN', '')\n)\n# Push a message\nclient.push('my-queue', {'data': 'hello'})\n# Pop a message\nmsg = client.pop('my-queue')\nprint(msg)","lang":"python","description":"Basic sync usage: connect to queue, push and pop a message."},"warnings":[{"fix":"Set serializer='pickle' explicitly when creating client to restore old behavior, or adapt data to be JSON-serializable.","message":"In version 1.20+, the default serialization changed from pickle to JSON. If you previously used pickle with complex objects, you must now implement custom serializers.","severity":"breaking","affected_versions":">=1.20.0"},{"fix":"Use `api_key=...` instead of `token=...`.","message":"The 'token' parameter is deprecated in favor of 'api_key' as of v1.19. The 'token' parameter still works but will be removed in v2.0.","severity":"deprecated","affected_versions":">=1.19.0, <2.0.0"},{"fix":"Always await client.connect() after instantiation before push/pop.","message":"When using async client, you must call `await client.connect()` explicitly before operations. Many users skip this and get 'Connection not established' errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Install the library: pip install utf-queue-client, then import: from utf_queue_client import UTFQueueClient","cause":"Trying to import with hyphens instead of underscores.","error":"ModuleNotFoundError: No module named 'utf_queue_client'"},{"fix":"Check if msg is None before processing: msg = client.pop('queue'); if msg is None: continue","cause":"Pop from empty queue with default settings returns None, but code expects a dict or string.","error":"TypeError: object of type 'NoneType' has no len()"},{"fix":"Verify UTF_ENDPOINT environment variable or endpoint argument points to a running UTF server.","cause":"Endpoint is incorrect or service not running.","error":"ConnectionRefusedError: [Errno 111] Connection refused"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}