# onefinestay/nameko

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/onefinestay-nameko).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

4,754 stars · 467 forks · Python · Apache-2.0

## Links

- GitHub: https://github.com/onefinestay/nameko
- Homepage: https://www.nameko.io
- awesome-repositories: https://awesome-repositories.com/repository/onefinestay-nameko.md

## Description

Nameko is a Python microservices framework designed for building distributed systems. It functions as an RPC communication framework and an event-driven architecture tool, using a message broker to decouple isolated service components.

The framework provides a multi-protocol gateway that exposes internal microservice logic to external clients via HTTP endpoints and websockets. It enables the exchange of request-response messages and the broadcasting of asynchronous events to maintain data consistency across a distributed system.

The system includes a command line interface for controlling and interacting with services, as well as utilities for unit and integration testing of distributed service logic.

## Tags

### Software Engineering & Architecture

- [Microservice Architectures](https://awesome-repositories.com/f/software-engineering-architecture/microservice-architectures.md) — Provides a framework for building distributed systems as a collection of loosely coupled, independently deployable Python services. ([source](https://cdn.jsdelivr.net/gh/onefinestay/nameko@main/README.md))
- [Microservices Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/microservices-frameworks.md) — Provides a comprehensive framework for building decoupled microservices in Python using a message broker for communication.
- [Asynchronous Messaging](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-messaging.md) — Enables asynchronous event broadcasting to multiple system components to ensure data consistency without direct coupling.
- [Event-Driven Architectures](https://awesome-repositories.com/f/software-engineering-architecture/event-driven-architectures.md) — Provides a platform for building reactive systems based on asynchronous event triggers and broker-based processing.
- [Python Microservices Frameworks](https://awesome-repositories.com/f/software-engineering-architecture/python-microservices-frameworks.md) — Provides a complete framework for building a distributed system of small, independent Python services.
- [Request Interception Middleware](https://awesome-repositories.com/f/software-engineering-architecture/request-interception-middleware.md) — Provides a chain of middleware wrappers to handle request interception for authentication, logging, and validation.
- [Execution Dispatchers](https://awesome-repositories.com/f/software-engineering-architecture/worker-pool-models/execution-dispatchers.md) — Employs a centralized service dispatcher to route incoming broker messages to the appropriate internal methods.

### Networking & Communication

- [Message Brokers](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/message-broker-infrastructure/message-brokers.md) — Facilitates request-response RPC communication between isolated service components via a message broker. ([source](https://cdn.jsdelivr.net/gh/onefinestay/nameko@main/README.md))
- [Publish-Subscribe Messaging](https://awesome-repositories.com/f/networking-communication/communication-platforms-services/messaging-notification-systems/messaging-services/message-broker-infrastructure/publish-subscribe-messaging.md) — Implements a publish-subscribe model for broadcasting asynchronous events to maintain consistency across services. ([source](https://cdn.jsdelivr.net/gh/onefinestay/nameko@main/README.md))
- [Distributed Service Communications](https://awesome-repositories.com/f/networking-communication/distributed-service-communications.md) — Implements patterns for coordinating request-response communication between independent network services via a broker.
- [RPC Gateways](https://awesome-repositories.com/f/networking-communication/http-gateways/rpc-gateways.md) — Translates external HTTP and WebSocket requests into internal RPC calls for backend microservices.
- [RPC Frameworks](https://awesome-repositories.com/f/networking-communication/rpc-frameworks.md) — Implements a full framework for exchanging request-response messages between isolated services to ensure scalability and decoupling.
- [WebSocket and TCP Messaging Gateways](https://awesome-repositories.com/f/networking-communication/websocket-services/multi-protocol-gateways/persistent-websocket-gateways/websocket-and-tcp-messaging-gateways.md) — Acts as a gateway that exposes internal microservice logic to external clients via HTTP and WebSockets.
- [RPC Protocols](https://awesome-repositories.com/f/networking-communication/rpc-protocols.md) — Implements an adaptive RPC protocol using correlation IDs and temporary reply queues for request-response patterns.

### Web Development

- [Message Broker Routing](https://awesome-repositories.com/f/web-development/api-decoupling/message-broker-routing.md) — Uses a message broker to route asynchronous requests and events between decoupled microservices.
- [Class-Based RPC Definitions](https://awesome-repositories.com/f/web-development/api-endpoint-definitions/single-class-endpoint-definitions/class-based-rpc-definitions.md) — Allows defining business logic in Python classes where methods are automatically exposed as RPC endpoints.
- [Web API Gateways](https://awesome-repositories.com/f/web-development/web-api-gateways.md) — Exposes web endpoints and real-time communication channels to allow external clients to interact with internal microservices.
- [Public HTTP Endpoints](https://awesome-repositories.com/f/web-development/custom-api-endpoints/endpoint-specification/service-endpoints/public-http-endpoints.md) — Exposes public HTTP endpoints and WebSockets to allow external clients to trigger internal service logic. ([source](https://cdn.jsdelivr.net/gh/onefinestay/nameko@main/README.md))

### Testing & Quality Assurance

- [Service Testing](https://awesome-repositories.com/f/testing-quality-assurance/api-network-testing/service-testing.md) — Includes built-in utilities for unit and integration testing of individual microservices and their asynchronous patterns. ([source](https://cdn.jsdelivr.net/gh/onefinestay/nameko@main/README.md))
- [Distributed Systems Testing](https://awesome-repositories.com/f/testing-quality-assurance/software-testing/e2e-integration-testing/distributed-systems-testing.md) — Offers tools for validating the behavior and communication protocols of services spread across multiple network nodes.

### Part of an Awesome List

- [Language Toolkits](https://awesome-repositories.com/f/awesome-lists/devtools/language-toolkits.md) — Framework for building Python microservices.
