{ "info": { "author": "Lucas Bourneuf", "author_email": "lucas.bourneuf@laposte.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# Graffunc -- The graph of function data structure\nPython package allowing manipulation of data by graph pathfinding.\n\n## usage example\n(see more in [tests](graffunc/test/) and [examples](examples/))\n\n from graffunc import graffunc, InconvertibleError\n\n\n def my_a_to_b_converter(a):\n b = a.upper()\n return {'b': b}\n def my_b_to_c_converter(b):\n c = 'payload: ' + b + '/payload'\n return {'c': c}\n def my_a_to_c_converter(a):\n raise InconvertibleError()\n\n\n # creation of the main object\n grfc = graffunc({\n ('a',): {('b',): my_a_to_b_converter},\n })\n # dynamic modification of the object\n grfc.add(my_b_to_c_converter, sources={'b'}, targets={'c'})\n grfc.add(my_a_to_c_converter, sources={'a'}, targets={'c'})\n\n\n assert {'a', 'b', 'c'} == grfc.reachables_types(sources={'a'})\n assert {'b', 'c'} == grfc.reachables_types(sources={'b'})\n assert {'c'} == grfc.reachables_types(sources={'c'})\n\n assert {'b': 'HELLO'} == grfc.convert(sources={'a': 'hello'}, targets={'b'})\n assert {'c': 'payload: HELLO/payload'} == grfc.convert(sources={'a': 'hello'}, targets={'c'})\n\n\n## installation\n\n pip install graffunc\n\n\n## links\n[github](http://github.com/aluriak/graffunc) and [pypi](http://pypi.python.org/pypi/graffunc)", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aluriak/graffunc", "keywords": "graph,function,data structure", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "graffunc", "package_url": "https://pypi.org/project/graffunc/", "platform": "", "project_url": "https://pypi.org/project/graffunc/", "project_urls": { "Homepage": "https://github.com/aluriak/graffunc" }, "release_url": "https://pypi.org/project/graffunc/0.2.2/", "requires_dist": null, "requires_python": "", "summary": "high level graph of function", "version": "0.2.2" }, "last_serial": 3317706, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "ea7150ea5e39650249bdec0e7e6adcb5", "sha256": "b60dfc3cdd33a6b5b34cfa7d258de11c35cb10378fedc345ae62ac6a2cd8eb74" }, "downloads": -1, "filename": "graffunc-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ea7150ea5e39650249bdec0e7e6adcb5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12560, "upload_time": "2016-03-11T10:36:15", "url": "https://files.pythonhosted.org/packages/fd/78/848a1e2ff758a5cc0108300d2b9418adc7611e3aa631af6ad8e2bf50ca29/graffunc-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "7858214d06d44a064552d9c88598c8fc", "sha256": "643a3d0ed416341b1d2fd4fb35e8a649da1f2a06b10e0a6534b688d0886b9bdd" }, "downloads": -1, "filename": "graffunc-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7858214d06d44a064552d9c88598c8fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20707, "upload_time": "2017-03-28T19:26:01", "url": "https://files.pythonhosted.org/packages/43/0d/75f48cfaf6bdbaac621f77086d980577193b22e3cbabf9715ca9b068fdf7/graffunc-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9f46f413ea6b0315ea021828aa4a1ef5", "sha256": "16322c7e3d6e7dd82fa579e1889912f57d838925a92010cf3705777d5a8f8ad5" }, "downloads": -1, "filename": "graffunc-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9f46f413ea6b0315ea021828aa4a1ef5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20717, "upload_time": "2017-03-28T22:55:30", "url": "https://files.pythonhosted.org/packages/c8/e5/a40ee89bddd23d3758c47bc6dcbceee324cc94367b22fa0d287b7221ed40/graffunc-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b9cfba724bd910d310091a5e9ef9c2b6", "sha256": "d4b194e71a75ca36740c782fc2f249ea937dbd151ad7440fd55583b242326f35" }, "downloads": -1, "filename": "graffunc-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b9cfba724bd910d310091a5e9ef9c2b6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21253, "upload_time": "2017-03-29T09:17:49", "url": "https://files.pythonhosted.org/packages/ee/22/8293c7bd72882557ae8708519aa3e90eacfe353a48f668ee689a01c8489f/graffunc-0.1.2.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d28e5acb033c4ebfeeba378f5f5a7b26", "sha256": "9ef7762fde5b4cf6c9da504bf9cd341fd15cb4db5fd362aae231930e19b8ad01" }, "downloads": -1, "filename": "graffunc-0.2.0.tar.gz", "has_sig": false, "md5_digest": "d28e5acb033c4ebfeeba378f5f5a7b26", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22367, "upload_time": "2017-11-08T21:53:34", "url": "https://files.pythonhosted.org/packages/0b/9d/6a5a08456b00ebb49ebfcbeac042c1e48a8ff3eb9658f4681498866231b6/graffunc-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "2cd08551a8b08679d9f38063c8a58e97", "sha256": "4374aa3a6ada2fb8ba11708d3bbab2efd92019d2d14a01731514745816cbc4c9" }, "downloads": -1, "filename": "graffunc-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2cd08551a8b08679d9f38063c8a58e97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22576, "upload_time": "2017-11-08T22:02:41", "url": "https://files.pythonhosted.org/packages/26/31/d5442c2cf6791f29f0afe146ee7a451ed5444c12d42dd2d89c6f7958507c/graffunc-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "89c94c028c4f35bd3d46d6ac8e85264a", "sha256": "9c9e9eede25f567ada0c55d29f715eb6f36343c4e35d5156262d28646532996b" }, "downloads": -1, "filename": "graffunc-0.2.2.tar.gz", "has_sig": false, "md5_digest": "89c94c028c4f35bd3d46d6ac8e85264a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22377, "upload_time": "2017-11-08T22:35:51", "url": "https://files.pythonhosted.org/packages/a7/44/aed1c910f7bba3f855e75a6c649a0e70adf6b1b12969adf5f94deafea088/graffunc-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "89c94c028c4f35bd3d46d6ac8e85264a", "sha256": "9c9e9eede25f567ada0c55d29f715eb6f36343c4e35d5156262d28646532996b" }, "downloads": -1, "filename": "graffunc-0.2.2.tar.gz", "has_sig": false, "md5_digest": "89c94c028c4f35bd3d46d6ac8e85264a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22377, "upload_time": "2017-11-08T22:35:51", "url": "https://files.pythonhosted.org/packages/a7/44/aed1c910f7bba3f855e75a6c649a0e70adf6b1b12969adf5f94deafea088/graffunc-0.2.2.tar.gz" } ] }