nameko
A microservices framework for Python that lets service developers concentrate on application logic and encourages testability.
What it is and what it does
Nameko is a microservices framework that treats each service as a Python class decorated with RPC, HTTP, or event handlers. It abstracts away the plumbing of inter-service communication (AMQP, HTTP, WebSockets) so developers can focus on business logic. Services are defined declaratively, run via a CLI, and communicate through a message broker or HTTP.
The framework includes utilities for unit and integration testing, a REPL shell for interactive exploration, and support for both synchronous RPC and asynchronous pub-sub patterns. It depends on eventlet for async I/O, kombu for AMQP abstraction, werkzeug for HTTP, and several utility libraries. The codebase supports Python 2.7 through 3.9 according to classifiers, though the last release was in December 2021.
Use it for:
- Build a distributed system where multiple services communicate via RPC or pub-sub events over AMQP.
- Rapidly prototype microservices with minimal boilerplate—define a class, decorate methods, run with nameko CLI.
- Write testable service code with built-in mocking and testing utilities for unit and integration tests.
- Expose service logic over HTTP endpoints or WebSockets alongside internal RPC communication.
- Migrate a monolith to services incrementally by extracting business logic into nameko services.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Nameko is a microservices framework for Python that lets you build services as simple classes with RPC, pub-sub events, HTTP endpoints, and WebSocket support, with built-in testing utilities.
Yes, with conditions. Nameko is well-suited for greenfield microservices projects or teams already committed to AMQP-based architectures and Python 2.7–3.9. However, maintenance is dormant; do not adopt for new projects requiring active upstream support or modern Python versions beyond 3.9. Existing projects using it are stable, but consider long-term support implications before starting new work.
Install
nameko on PyPI
pip
pip install namekouv
uv add namekopoetry
poetry add namekoInstalling nameko
Before you install
Low install friction with a pure-Python wheel distribution. Maintenance is dormant—last release was 2021-12-05, though the repository remains active with recent commits and 4754 stars. Suitable for established projects but not for new development requiring active upstream support.
License in practice
Licensed under Apache License, Version 2.0 (permissive). You may use, modify, and distribute nameko freely in commercial and private projects, provided you include the license notice.
Quickstart
# Install
pip install nameko
# helloworld.py
from nameko.rpc import rpc
class GreetingService:
name = "greeting_service"
@rpc
def hello(self, name):
return "Hello, {}!".format(name)
# Run: nameko run helloworld
# Call from shell: nameko shell
# >>> n.rpc.greeting_service.hello(name="World")
Requires AMQP broker (RabbitMQ) for RPC and pub-sub features; HTTP and testing modes work without it.
Verify before relying
- Current Python 3.10+ compatibility—classifiers list up to 3.9; requires_python is unspecified
- Whether dormant status affects security patching or critical bug fixes going forward
- Production-readiness guarantees given the time elapsed since last release
Package facts
| License | Apache License, Version 2.0 (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 11 — eventlet, kombu, mock, path.py, pyyaml, requests, six, werkzeug, wrapt, packaging, dnspython |
| Maintenance | dormant — 1,713 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 88,486/month — #13,726 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: nameko-2.14.1-py2.py3-none-any.whl
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
jaraco.classesProvides utility functions for working with…
permissive · top 1,000 on PyPI
faststreamAn asynchronous Python framework for building…
permissive · top 5,000 on PyPI
websocketswebsockets is a library for building WebSocket…
permissive · top 100 on PyPI
kombuKombu is a messaging library that provides a…
permissive · top 1,000 on PyPI
aio-pikaaio-pika is an asyncio-based wrapper around…
permissive · top 5,000 on PyPI
falconFalcon is a minimalist ASGI/WSGI framework for…
permissive · top 5,000 on PyPI
grpciogRPC Python is an HTTP/2-based RPC framework…
permissive · top 100 on PyPI
amqpPure-Python AMQP 0.9.1 client library for…
permissive · top 1,000 on PyPI
CherryPyCherryPy is an object-oriented HTTP framework…
permissive · top 5,000 on PyPI
amundsen-commonAmundsen Common provides shared utilities and…
unclear · top 15,000 on PyPI