Hi! and welcome to AMP! =========================================================== **AMP** (Asynchronous Messaging Protocol) is a flexible `Remoting `_ protocol for sending multiple asynchronous request/response pairs over the same connection. Requests and responses are both *collections of unordered key/value pairs*. **AMP** enables a rich set of Internet applications, ranging from traditional client-server APIs, to custom and efficient RPC protocols, to distributed peer-to-peer messaging topologies - or you may implement more advanced patterns such as a "spoke" topology where a central hub receives and routes messages to and from connected peers. Once connected, :doc:`the AMP Conversation ` is symmetric, allowing either client or server to initiate an asynchronous request, provided that the other side of the connection implements a handler for it. For values, **AMP** defines a number of :doc:`Standard Data Types `, while keys are always strings. **AMP** was originally developed by `Glyph Lefkowitz `_ and appeared in `Twisted `_, a Python networking framework - however **AMP** is not Python or Twisted-specific. Implementation are available for a wide variety of languages including Python 2.x/3.x, C/C++, C#, Java, PHP and many more! See the :doc:`Implementations Page ` for details.