{ "info": { "author": "Mart\u00c3\u00adn Ra\u00c3\u00bal Villalba", "author_email": "ehyde@codinghyde.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Topic :: Communications", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Introduction\n==========\nFlexible protocol schema for message-passing distributed systems.\n\nAs part of a fairly large distributed system, I needed a way to format messages\n I would be sending through an AMQP bus with the following requirements:\n * Client support for at least PHP, Python, Java, and Erlang.\n * Small and reasonably fast (meaning, no XML).\n * Message versioning (add/remove/rename fields) with seamless fallback (older\n client can ignore new fields).\n * Easily installable (from the cheeseshop, for instance).\n * Allows me to write a schema, and checks messages to be valid both when\n sending and receiving.\n * Messages are tagged with their type (so I can decode a message into an\n object/struct without knowing what type the message should be).\n * If possible, field names should be sent in the message so that even if I\n don't have the schema, messages can be processed (say, from an unsupported\n language).\n * Should handle binary data without exagerated overhead (think base64 encoding\n in JSON messages).\n * Well documented and actively developed.\n\nI looked into projects such as Google's Protocol Buffers, Apache's Thrift and\n Avro, MessagePack-RPC, ZeroC's Ice, and probably some others but I could not\n find a system that had most/all my requirements, so I decided to write my own.\n\nIn a nutshell, codinghyde.synapse is/has:\n * An IDL to describe message formatting.\n * A compiler/code-generator to produce easy-to-work-with code.\n * A generic message encoder/decoder framework targetting JSON, BSON, MsgPack,\n and YAML (after all, why invent yet another serialization format...).\n * Designed so that messages are processable without language support (decode\n the raw JSON message and it's contents should require little/no post\n processing to be useful).\n\n\nContact\n==========\nYou can reach me via e-Mail at:\n ehyde at codinghyde com\n\n\nDocumentation\n==========\nDocumentation will be a bit scarse for the time being, but everything public\nshould have at least a docstring by the time I make the first stable release.\n\n\nLicense\n==========\nReleased under the MIT/X11 license. See LICENSE for the full text.\n\n\nInstall\n==========\n% python setup.py install\n\n\nDevelop\n==========\nSee DEVELOP for details.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.codinghyde.org/projects/synapse/", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "codinghyde.synapse", "package_url": "https://pypi.org/project/codinghyde.synapse/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/codinghyde.synapse/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.codinghyde.org/projects/synapse/" }, "release_url": "https://pypi.org/project/codinghyde.synapse/develop/", "requires_dist": null, "requires_python": null, "summary": "Flexible protocol schema for message-passing distributed systems.", "version": "develop" }, "last_serial": 329198, "releases": { "develop": [] }, "urls": [] }