{ "info": { "author": "Colin Rice", "author_email": "dah4k0r@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Topic :: System :: Networking" ], "description": "This is a basic implementation of a dht using gevent.\n\nThere are two things you have to concern yourself with.\n1.) Bootstrapping the network.\nThe following example creates a network of one node\n\n-------------------------------------------------------------------\nimport gevent_dht\ntable = gevent_dht.distributedHashTable(None) #This tell the network it \n # is the first node by default it listens on port 8339\n #\n \ntable['key_1'] = [1,2,3] #This sets a value in our hash table\nfor i in table['key_1']:\n print i #Prints 123\n \ntable.append('key_1', 4) #Adds an item to a list in a hash table\n #Note if the key is not in the hash table\n #It will put a list in place and then append \n #to it.\n \n#Now we are adding another node\n \nother_clients_table = gevent_dht.distributedHashTable(\n '127.0.0.1:8339', local_port = 8449)\n #Another client has connected. It supplied the address of \n # a node in the network to connect with the preexisting network\n \nfor i in other_clients_table['key_1']:\n print i #Prints 1234\n\n-------------------------------------------------------------------\n\nSo in order to connect to an existing network you must have a way to get an \naddress of another member. It doesn't have to be the first node but needs \nto be a node in the network.\n\n2.) Latency/ This may fail.\n\nKeys are not guarenteed to persist forever, nodes may crash, the network \nmay eat messages etc... While we are working in tcp/ip mode there may still \nbe bizarre glitches. Always check for a return value of None.\n\nAdditionally due to the time it takes for messages to travel the network \nsometimes a key will not be immedietly available after you set it or\nwhen you get the result back it may not be completely current.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "github.com/c00w/gevent_dht", "keywords": null, "license": "MIT Expat License", "maintainer": null, "maintainer_email": null, "name": "gevent_dht", "package_url": "https://pypi.org/project/gevent_dht/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/gevent_dht/", "project_urls": { "Download": "UNKNOWN", "Homepage": "github.com/c00w/gevent_dht" }, "release_url": "https://pypi.org/project/gevent_dht/0.1.3/", "requires_dist": null, "requires_python": null, "summary": "Gevent based distributed hash table", "version": "0.1.3" }, "last_serial": 792387, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "34a91a7dbcb6fed517378810eb3bb294", "sha256": "27bbade57d0bb0da15fb22f673bc46aa724adc51d90e3d9e3845499d763f7ee5" }, "downloads": -1, "filename": "gevent_dht-0.1.tar.gz", "has_sig": false, "md5_digest": "34a91a7dbcb6fed517378810eb3bb294", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5614, "upload_time": "2012-01-10T02:57:01", "url": "https://files.pythonhosted.org/packages/5a/9e/e645ea4387413b35f06bdf7af0f754c2d8c25677cf3bfed38387263084d6/gevent_dht-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "8c4d874a2115c491f795c6a3692267d8", "sha256": "900e8d79f23303eb0261af52890d840de3b0288b60c21009cbf201bfde94bff3" }, "downloads": -1, "filename": "gevent_dht-0.1.1.tar.gz", "has_sig": false, "md5_digest": "8c4d874a2115c491f795c6a3692267d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5879, "upload_time": "2012-01-10T03:02:32", "url": "https://files.pythonhosted.org/packages/0c/b9/b14b44e717d8509ea53f371d56411d92f14bd28d4841b742ae436ad4d258/gevent_dht-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "fbf109c6e86224dbb1005c477d66ab05", "sha256": "e132cd1b5aaa929059c6448fdd6526c628ecac8d8a61842328f33c2913430d89" }, "downloads": -1, "filename": "gevent_dht-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fbf109c6e86224dbb1005c477d66ab05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6655, "upload_time": "2012-01-12T05:11:53", "url": "https://files.pythonhosted.org/packages/a1/7c/10ed75ab19e3bedf463727a13d33763e1431448913b6b84c96b4608d0df4/gevent_dht-0.1.2.tar.gz" } ], "0.1.2.1": [ { "comment_text": "", "digests": { "md5": "4436f9aaea115d72379274a023200fec", "sha256": "f4c1d3b26eb8471908c18f91859d08b3d3037f143a072a5548c484eb7135e178" }, "downloads": -1, "filename": "gevent_dht-0.1.2.1.tar.gz", "has_sig": false, "md5_digest": "4436f9aaea115d72379274a023200fec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6555, "upload_time": "2012-04-04T18:06:33", "url": "https://files.pythonhosted.org/packages/b6/02/b03b711f236c637991d15b7e0e360c1523b777451fc94a619ebe471fbcf1/gevent_dht-0.1.2.1.tar.gz" } ], "0.1.2.2": [ { "comment_text": "", "digests": { "md5": "c828b40e5d0ee544483321dd79d9a926", "sha256": "e1a6086ec71eb3876f264b30c3f53d199290d5191ec34c57ef809c0a86b47467" }, "downloads": -1, "filename": "gevent_dht-0.1.2.2.tar.gz", "has_sig": false, "md5_digest": "c828b40e5d0ee544483321dd79d9a926", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6554, "upload_time": "2012-04-04T18:17:48", "url": "https://files.pythonhosted.org/packages/6b/bd/98eef77f90a6256c8aa656986e5f868397dc7ba9ec148974d288f8c17007/gevent_dht-0.1.2.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "4f90fbb9e3a76cab152e5c1e6ab49914", "sha256": "94713e78d00d365fce0e6c28f0ea11f6cd2f233f7f7bf5f30b794faf41a0ea18" }, "downloads": -1, "filename": "gevent_dht-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4f90fbb9e3a76cab152e5c1e6ab49914", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6580, "upload_time": "2012-04-04T18:29:29", "url": "https://files.pythonhosted.org/packages/8f/c4/04b7746b77f46096a93419d538b5a5f9dcace41970a46a88436b77e162e6/gevent_dht-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4f90fbb9e3a76cab152e5c1e6ab49914", "sha256": "94713e78d00d365fce0e6c28f0ea11f6cd2f233f7f7bf5f30b794faf41a0ea18" }, "downloads": -1, "filename": "gevent_dht-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4f90fbb9e3a76cab152e5c1e6ab49914", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6580, "upload_time": "2012-04-04T18:29:29", "url": "https://files.pythonhosted.org/packages/8f/c4/04b7746b77f46096a93419d538b5a5f9dcace41970a46a88436b77e162e6/gevent_dht-0.1.3.tar.gz" } ] }