{ "info": { "author": "Toru Maesaka", "author_email": "dev@torum.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries" ], "description": "ABOUT\n-----\nThis is a full-featured Python client library for the Kyoto Tycoon server,\nsupporting both Python 2 and 3. It includes significant improvements over\nthe original library by Toru Maesaka and Stephen Hamer, but also introduces\nsome differences in API behavior.\n\nSince the development of Kyoto Tycoon by its original authors seems to have\nhalted around 2012, we're also maintaining an updated and ready-to-go fork\nof it here:\n\n https://github.com/carlosefr/kyoto\n\nFor more information on Kyoto Tycoon server, please refer to:\n\n http://carlosefr.github.io/kyoto/kyototycoon/doc/\n\n\nFEATURES\n--------\nThe more efficient binary protocol is also supported along with\nthe HTTP protocol. It provides a performance improvement of up\nto 6x, but only the following operations are available:\n\n * ``get()`` and ``get_bulk()``\n * ``set()`` and ``set_bulk()``\n * ``remove()`` and ``remove_bulk()``\n * ``play_script()``\n\nAtomic operations aren't supported with the binary protocol,\nthe use of \"atomic=False\" is mandatory when using it. Operations\nbesides these will raise a ``NotImplementedError`` exception.\n\nIt's possible to have two KyotoTycoon objects open to the same\nserver in the same application, one using HTTP and the other\nusing the binary protocol, if necessary.\n\nThe library does automatic packing and unpacking (marshalling)\nof values coming from/to the database. The following data\nstorage formats are available by default:\n\n * ``KT_PACKER_PICKLE`` - Python \"pickle\" format.\n * ``KT_PACKER_JSON`` - JSON format (compact representation).\n * ``KT_PACKER_STRING`` - Strings (UTF-8).\n * ``KT_PACKER_BYTES`` - Binary data.\n\nThere is also a ``KT_PACKER_CUSTOM`` format available where you\ncan specify your own object to do the marshalling. This object\nneeds to provide the following two methods:\n\n * ``.pack(self, data)`` - convert \"data\" to ``bytes()``\n * ``.unpack(self, data)`` - convert \"data\" from ``bytes()``\n\nMarshalling is done for all methods except ``play_script()``,\nbecause the server can return data in more than one format at\nonce. The caller will most likely know the type of data that\nthe called script returns and must do the marshalling itself.\n\n\nREPLICATION SLAVE\n-----------------\nSince version 0.7.0 this library also contains a replication slave\nclass. This class provides a ``consume()`` generator function that\nreceives and parses transaction log entries from a Kyoto Tycoon\nmaster server into dictionaries.\n\nThis can be used to build your own custom replication schemes,\nlike key filtering, or react to server \"set\", \"remove\" or \"clear\"\ndatabase operations.\n\nDo note that only explicit operations create transaction log events.\nImplicit operations like key removal upon expiration don't.\n\nUnlike the client library, the replication slave always handles the\n\"key\" and \"value\" attributes as opaque binary data.\n\n\nMEMCACHE-ENABLED SERVERS\n------------------------\nKyoto Tycoon supports a subset of the memcached protocol. When a\nserver has this enabled including item flags, these are stored as\nthe last 4 bytes of the value. Since version 0.7.3 of this library,\nthere's a custom packer included that transparently handles this and\nalso includes gzip compression/decompression for scenarios where,\nfor example, a Python application is writing HTML pages to the Kyoto\nserver and an HTTP server is reading from it using a memcached client\nlibrary.\n\nExample::\n\n from kyototycoon import KyotoTycoon, KT_PACKER_CUSTOM\n from kyototycoon.packers import MemcachePacker\n\n mp = MemcachePacker(gzip_enabled=True, gzip_flag=1)\n kt = KyotoTycoon(pack_type=KT_PACKER_CUSTOM, custom_packer=mp)\n\n kt.open(\"127.0.0.1\", 1978)\n\n kt.set(\"key\", \"value\")\n value = kt.get(\"key\")\n\n kt.close()\n\nTo handle ``(value, flags)`` pairs without any additional processing,\nthe ``SimpleMemcachePacker`` can be used::\n\n from kyototycoon import KyotoTycoon, KT_PACKER_CUSTOM\n from kyototycoon.packers import SimpleMemcachePacker\n\n smp = SimpleMemcachePacker()\n kt = KyotoTycoon(pack_type=KT_PACKER_CUSTOM, custom_packer=smp)\n\n kt.open(\"127.0.0.1\", 1978)\n\n kt.set(\"key\", (\"value\", 123))\n value, flags = kt.get(\"key\")\n\n kt.close()\n\n\nCOMPATIBILITY\n-------------\nThis library is still not at version 1.0, which means the API and\nbehavior are not guaranteed to remain consistent between versions.\n\nSupport for using an error object has been removed. If you need\nthe old behavior for compatibility reasons, use a version up to\n(and including) v0.5.9. Versions later than this raise exceptions\non all Kyoto Tycoon errors.\n\n\nINSTALLATION\n------------\nYou can install the latest version of this library from source::\n\n python setup.py build\n python setup.py install\n\nOr, you can install the latest stable release from PyPI::\n\n pip install python-kyototycoon-ng\n\n\nAUTHORS\n-------\n * Carlos Rodrigues (current maintainer)\n * Toru Maesaka \n * Stephen Hamer \n\nBinary protocol support was added based on Ulrich Mierendorff's code.\nYou can find the original library at the following URL:\n\n http://www.ulrichmierendorff.com/software/kyoto_tycoon/python_library.html\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/carlosefr/python-kyototycoon-ng", "keywords": "Kyoto Tycoon,Kyoto Cabinet", "license": "BSD", "maintainer": "Carlos Rodrigues", "maintainer_email": "cefrodrigues@gmail.com", "name": "python-kyototycoon-ng", "package_url": "https://pypi.org/project/python-kyototycoon-ng/", "platform": "", "project_url": "https://pypi.org/project/python-kyototycoon-ng/", "project_urls": { "Homepage": "https://github.com/carlosefr/python-kyototycoon-ng" }, "release_url": "https://pypi.org/project/python-kyototycoon-ng/0.7.5/", "requires_dist": null, "requires_python": "", "summary": "Python client for Kyoto Tycoon key-value store", "version": "0.7.5" }, "last_serial": 4440864, "releases": { "0.7.1": [ { "comment_text": "", "digests": { "md5": "b2922bf60a35661a724d26c4f42dae96", "sha256": "79fc3df7fee2eb6fa528883f27cfbe6186293790e74ebd6a57d8c91f080d12e4" }, "downloads": -1, "filename": "python-kyototycoon-ng-0.7.1.zip", "has_sig": false, "md5_digest": "b2922bf60a35661a724d26c4f42dae96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11840, "upload_time": "2014-11-29T12:36:27", "url": "https://files.pythonhosted.org/packages/ac/13/7a08489828a31f84085db4dab4513cf6a30524b58c268907cc117027d4c2/python-kyototycoon-ng-0.7.1.zip" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "c693a86223bdefac451775d52cb32f38", "sha256": "7e776ee07bf2cf810454526e9089f36a65a313f3b93a31085d3368b4aa27153d" }, "downloads": -1, "filename": "python-kyototycoon-ng-0.7.2.zip", "has_sig": false, "md5_digest": "c693a86223bdefac451775d52cb32f38", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12024, "upload_time": "2014-12-27T17:40:42", "url": "https://files.pythonhosted.org/packages/10/ec/7b4b0852cede1e910413fdb7b08887ac10fd4a5c96f9156ed1bc62d2c4a6/python-kyototycoon-ng-0.7.2.zip" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "1f2d534ab1119800f8a8fc23733212e0", "sha256": "47ae5e4c429594e1f23e94a5884e6d4de7d401f09bda7273222670e94fcc4535" }, "downloads": -1, "filename": "python-kyototycoon-ng-0.7.3.zip", "has_sig": false, "md5_digest": "1f2d534ab1119800f8a8fc23733212e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13678, "upload_time": "2015-01-20T22:42:31", "url": "https://files.pythonhosted.org/packages/23/94/995bb40a9d1fba55c5a49a488f820c217385efa5d1c6c71b1a27ed9f3c41/python-kyototycoon-ng-0.7.3.zip" } ], "0.7.5": [ { "comment_text": "", "digests": { "md5": "155ad61cef8a70d8fd083b4131fa9fc7", "sha256": "264ffa40763cd3bab85dd41298549600a1236daf866b634dbdd5da1cf764f8c3" }, "downloads": -1, "filename": "python_kyototycoon_ng-0.7.5-py3-none-any.whl", "has_sig": false, "md5_digest": "155ad61cef8a70d8fd083b4131fa9fc7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17271, "upload_time": "2018-11-01T14:54:16", "url": "https://files.pythonhosted.org/packages/80/0a/97547212ee0869464ab2ec52ebc44531204dd54a80a4cc2d41995d67beaa/python_kyototycoon_ng-0.7.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dcbed0ad1a102b14ca020abad7143d1", "sha256": "df5d1ba397ab2203171df3128df5fc41a1df83e93b2dc6f325df97db4eda2fc1" }, "downloads": -1, "filename": "python-kyototycoon-ng-0.7.5.tar.gz", "has_sig": false, "md5_digest": "2dcbed0ad1a102b14ca020abad7143d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14768, "upload_time": "2018-11-01T14:54:18", "url": "https://files.pythonhosted.org/packages/55/d2/ba623049a3152c8d56abbeefd56282feb42acbb182b11ed1c2867bdfeea7/python-kyototycoon-ng-0.7.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "155ad61cef8a70d8fd083b4131fa9fc7", "sha256": "264ffa40763cd3bab85dd41298549600a1236daf866b634dbdd5da1cf764f8c3" }, "downloads": -1, "filename": "python_kyototycoon_ng-0.7.5-py3-none-any.whl", "has_sig": false, "md5_digest": "155ad61cef8a70d8fd083b4131fa9fc7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17271, "upload_time": "2018-11-01T14:54:16", "url": "https://files.pythonhosted.org/packages/80/0a/97547212ee0869464ab2ec52ebc44531204dd54a80a4cc2d41995d67beaa/python_kyototycoon_ng-0.7.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dcbed0ad1a102b14ca020abad7143d1", "sha256": "df5d1ba397ab2203171df3128df5fc41a1df83e93b2dc6f325df97db4eda2fc1" }, "downloads": -1, "filename": "python-kyototycoon-ng-0.7.5.tar.gz", "has_sig": false, "md5_digest": "2dcbed0ad1a102b14ca020abad7143d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14768, "upload_time": "2018-11-01T14:54:18", "url": "https://files.pythonhosted.org/packages/55/d2/ba623049a3152c8d56abbeefd56282feb42acbb182b11ed1c2867bdfeea7/python-kyototycoon-ng-0.7.5.tar.gz" } ] }