{"id":21604,"library":"nameko","title":"Nameko","description":"A microservices framework for Python that lets service developers concentrate on application logic and encourages testability. Current stable release is 2.14.1, with a release candidate for 3.0.0 available. Release cadence is irregular, with major updates every few years.","status":"active","version":"2.14.1","language":"python","source_language":"en","source_url":"https://github.com/nameko/nameko","tags":["microservices","rpc","amqp","eventlet","framework"],"install":[{"cmd":"pip install nameko","lang":"bash","label":"Install stable version"}],"dependencies":[{"reason":"Nameko v2.x automatically monkey-patches with eventlet. In v3.x, this is opt-in.","package":"eventlet","optional":true},{"reason":"Required as an external messaging broker for RPC and events.","package":"rabbitmq","optional":false}],"imports":[{"note":"Nameko uses decorators, not base classes. Use @rpc on methods.","wrong":"","symbol":"ServiceBase","correct":"from nameko.rpc import rpc"},{"note":"In v2.x, use nameko CLI command. For programmatic usage, use ServiceRunner.","wrong":"from nameko.runner import run","symbol":"nameko run","correct":"from nameko.cli.main import main"}],"quickstart":{"code":"from nameko.rpc import rpc\nfrom nameko.standalone.rpc import ServiceRpcProxy\n\nclass GreetingService:\n    name = 'greeting_service'\n\n    @rpc\n    def hello(self, name):\n        return f'Hello, {name}!'\n\nif __name__ == '__main__':\n    from nameko.runners import ServiceRunner\n    from nameko.containers import ServiceContainer\n    from nameko.cli.main import run\n    # Run with: nameko run service:GreetingService\n    print('Run with: nameko run <module>:GreetingService')\n","lang":"python","description":"Define a simple RPC service and run it using the nameko CLI."},"warnings":[{"fix":"If upgrading to v3.x, ensure your code does not rely on automatic monkey-patching. Import eventlet and call eventlet.monkey_patch() if needed.","message":"In v2.x, nameko automatically patches eventlet. In v3.x, this is removed and must be done manually.","severity":"breaking","affected_versions":"<3.0.0 vs >=3.0.0-rc9"},{"fix":"Use ServiceRpcProxy in synchronous code only, or use nameko's async extensions if available.","message":"Async RPC calls: using ServiceRpcProxy in an async context can cause deadlocks if not handled correctly.","severity":"gotcha","affected_versions":"all"},{"fix":"Use alternative debugging methods such as pdb or remote debugging.","message":"nameko backdoor command was removed in v3.0.0-rc7.","severity":"deprecated","affected_versions":">=3.0.0-rc7"}],"env_vars":null,"search_vec":"'2.14.1':22 '3.0.0':28 'amqp':42 'applic':13 'avail':29 'cadenc':31 'candid':26 'concentr':11 'current':18 'develop':10 'encourag':16 'eventlet':43 'everi':37 'framework':4,44 'irregular':33 'let':8 'logic':14 'major':35 'microservic':3,40 'nameko':1 'python':6 'releas':20,25,30 'rpc':41 'servic':9 'stabl':19 'testabl':17 'updat':36 'year':39","created_at":"2026-04-27T17:00:47.088706+00:00","updated_at":"2026-04-27T17:00:47.088706+00:00","problems":[{"fix":"pip install nameko","cause":"Nameko not installed or running in wrong environment.","error":"ModuleNotFoundError: No module named 'nameko'"},{"fix":"Ensure RabbitMQ is running and accessible. Check AMQP_URI config.","cause":"RabbitMQ not running or unreachable.","error":"pika.exceptions.AMQPConnectionError: Connection closed by remote server"},{"fix":"Correct import: from nameko.rpc import rpc","cause":"Incorrect import path. Use 'from nameko.rpc import rpc'.","error":"AttributeError: module 'nameko' has no attribute 'rpc'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.14.1","cli_name":"nameko","cli_version":"2.14.1","type":"library","homepage":"https://www.nameko.io","github":"http://github.com/nameko/nameko","docs":null,"changelog":null,"pypi":"https://pypi.org/project/nameko/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["web-framework","workflow","http-networking"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-28","last_verified":"2026-06-28","next_check":"2026-07-28","install_tag":null}}