{ "info": { "author": "Lucas Bourneuf", "author_email": "lucas.bourneuf@laposte.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License (GPL)", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# bubble-tools\npython routines related to bubble format, usable in CLI or as a library.\n\n## Installation\n\n pip install bubbletools\n\nSee below for usage.\n\n\n## Features\n- [X] bubble to python\n- [X] bubble to [gexf](https://gephi.org/gexf/format/)\n- [ ] bubble to cytoscape.js\n - [X] working implementation\n - [X] test on fully valid bubble\n - [ ] unit testing\n - [ ] test on big graphs, for benchmarking (will probably not scale)\n- [ ] bubble to dot (via [graphviz](http://graphviz.readthedocs.io/en/latest/))\n - [X] working implementation\n - [X] test on fully valid bubble\n - [ ] unit testing\n - [ ] test on big graphs, for benchmarking (will probably not scale)\n- [ ] python to bubble\n- [ ] dot to python\n- [ ] unit testing on bubble describing cliques\n\n\n## CLI\n`bubbletools` is usable through CLI.\n\n### validation\nusage:\n\n python3 -m bubbletools validate path/to/bubble/file\n\nTry hard to find errors and inconsistancies in the given bubble file\n\nSpot powernode overlapping, inclusions inconsistancies\nand empty or singleton powernodes.\nProfiling gives general informations about the file data.\n\n### conversion to dot\nusage:\n\n python3 bubbletool.py dot path/to/bubble/file path/to/output/file\n\nConvert given bubble file in dot format.\nThe optional `--render` flag can be used to show the graph after saving.\n\nSame API is available for gexf format.\n\n### conversion to cytoscape.js\nusage:\n\n python3 -m bubbletools js path/to/bubble/file path/to/output/dir\n\nConvert given bubble file in a fully working website using cytoscape.js to render the graph.\nThe optional `--render` flag can be used to run the default web browser on the generated website.\nSee Makefile recipe `js` for a usage example.\n\nA website is a collection of files (css, js, html), with only one of them (`js/graph.js`)\nthat changes according to the input data.\n\nIf the `path/to/output/dir` has a `.js` extension, only the `js/graph.js` file will be generated.\nThis allow one to generates only the changing parts, not the full website each time.\nSee Makefile recipe `js-per-file` for a usage example.\n\n\n## python API\nSubmodules `validator` and `converter` provides the functionnalities described above for CLI:\n\n from bubbletools import validate, convert\n\n for log in validate(open('path/to/bubble.lp'), profiling=True):\n print(log)\n convert.to_dot(open('path/to/bubble.lp'), dotfile='path/to/dot.dot')\n\n### python representation of the graph\nA lower level interface is the `BubbleTree` object, allowing one to manipulate the graph depicted by bubble data as python object.\nSee [unit tests](bubbletools/test/test_bbltree.py) for example of `BubbleTree` usage.\n\n from bubbletools import BubbleTree\n\n tree = BubbleTree.from_bubble_file('path/to/bubble.lp')\n print(tree.edges, tree.inclusions, tree.roots)\n\n`edges` is a mapping `predecessor -> set of successors`,\n`inclusions` is a mapping `(power)node -> set of (power)nodes directly contained`,\nand `roots` is a set of (power)nodes that are contained by nothing.\n\nThis representation holds all the data necessary for most work on the bubble.\nThe `BubbleTree.connected_components` function maps a graph with its connected components:\n\n cc, subroots = BubbleTree.connected_components()\n\nWhere `cc` and `subroots` are both mappings, respectively linking *the* root of a connected component with all nodes of the connected component,\nand *the* root of a connected component with the other roots of the same connected component.\nThus, connected components are identified by one of their roots, which is key is both dictionaries.\n\n\n### access powernodes and their data\nFollow an example of `BubbleTree` usage, retrieving data on powernodes:\n\n tree = BubbleTree.from_bubble_file('bubbles/basic.bbl')\n for pnode in tree.powernodes:\n data = tree.powernode_data(pnode)\n print(\n \"{} contains nodes {{{}}}, and powernodes {{{}}}.\"\n \"\".format(pnode, data.contained_nodes, data.contained_pnodes)\n )", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aluriak/bubble-tools", "keywords": "graph,format", "license": "GPL", "maintainer": "", "maintainer_email": "", "name": "bubbletools", "package_url": "https://pypi.org/project/bubbletools/", "platform": "", "project_url": "https://pypi.org/project/bubbletools/", "project_urls": { "Homepage": "https://github.com/aluriak/bubble-tools" }, "release_url": "https://pypi.org/project/bubbletools/0.6.11/", "requires_dist": null, "requires_python": "", "summary": "Tools around the bubble format", "version": "0.6.11" }, "last_serial": 4708260, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "1c1222da27911f63e59485a28d86bc06", "sha256": "59ef7ff38b8c87e7d424cd228b6490c27e77f4861b23b1edd1184e05db3dc350" }, "downloads": -1, "filename": "bubbletools-0.1.3.tar.gz", "has_sig": false, "md5_digest": "1c1222da27911f63e59485a28d86bc06", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7853, "upload_time": "2016-08-29T15:02:01", "url": "https://files.pythonhosted.org/packages/ae/0c/c212ac7831d8111395017156b756930523c9f4083565aaffbbdbd93a1490/bubbletools-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d8573a49ac939cba76b473ea45787089", "sha256": "c54ad9440309265c94ce0be4edc7393eb6ff3872bfae445501a8d8d2abc85bdb" }, "downloads": -1, "filename": "bubbletools-0.1.4.tar.gz", "has_sig": false, "md5_digest": "d8573a49ac939cba76b473ea45787089", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7907, "upload_time": "2016-08-29T15:19:14", "url": "https://files.pythonhosted.org/packages/1c/87/39cf38ad5b8e5e49117c59656e138f00c1f883d3f707385031aa51f7e2d6/bubbletools-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "fa9b1758dae5d3ab575a5221ad0112c1", "sha256": "b008a475764be11c9260538bad695198b10d104f286b6b58136229c905e4544d" }, "downloads": -1, "filename": "bubbletools-0.2.0.tar.gz", "has_sig": false, "md5_digest": "fa9b1758dae5d3ab575a5221ad0112c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9119, "upload_time": "2016-09-01T17:14:55", "url": "https://files.pythonhosted.org/packages/2a/93/95f128267a7ad0e0c1d69e7a09bbc07405f70f8528dceec6d853d7a4f9c2/bubbletools-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "469b1521cca563d05078e9ac4af4cfbc", "sha256": "37ab3321d6eefecf0f37154b5fe0d7a6789cb89b277b5cfa6e3568853461c72b" }, "downloads": -1, "filename": "bubbletools-0.2.1.tar.gz", "has_sig": false, "md5_digest": "469b1521cca563d05078e9ac4af4cfbc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9128, "upload_time": "2016-09-02T13:31:41", "url": "https://files.pythonhosted.org/packages/ba/f2/fc50da86b56849a4599bd99ddefe111fec0762565e8c30ba52ebfee114f6/bubbletools-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9879d5902ff4871377bc6d148d2f8100", "sha256": "e276c4c0352186416af224921885c1374ba7bd396db77a46d263426affcc32e3" }, "downloads": -1, "filename": "bubbletools-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9879d5902ff4871377bc6d148d2f8100", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9918, "upload_time": "2016-11-29T18:37:51", "url": "https://files.pythonhosted.org/packages/03/38/f491d7c56bdef01e195bf02fa51f04cbf46c7d233f9e2f0d8d9f233d5c5b/bubbletools-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "b0669d66abe4c157676d1a3be47cf196", "sha256": "bef8b2b381cbb97689374c7fd84b1c1768d7fa37c0fc24d1f10b21bfa5c58afe" }, "downloads": -1, "filename": "bubbletools-0.3.1.tar.gz", "has_sig": false, "md5_digest": "b0669d66abe4c157676d1a3be47cf196", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9922, "upload_time": "2016-11-29T19:48:49", "url": "https://files.pythonhosted.org/packages/d6/a9/37ed3fd60944ac1ad02f364909d93ed26a1829aceb560c52e1e626d1acc9/bubbletools-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "77c7001c026b001a7fec7d29388e9d72", "sha256": "272a2d5bbd59e4afb8672d7ee53c24e0eec5508a63dd9615f6cac9042c142c9f" }, "downloads": -1, "filename": "bubbletools-0.4.0.tar.gz", "has_sig": false, "md5_digest": "77c7001c026b001a7fec7d29388e9d72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10437, "upload_time": "2016-12-14T13:59:28", "url": "https://files.pythonhosted.org/packages/b0/86/9d57c9724bc8ea2e027387a4ee37490f996bd4de41482a0329fa0face2c2/bubbletools-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "370b16959297a91df693b0389d26f1a0", "sha256": "36abb8d1ce21f3ee4d0f3cea317404342cfca4989fc9afb9fd6aa11955eef6a2" }, "downloads": -1, "filename": "bubbletools-0.4.1.tar.gz", "has_sig": false, "md5_digest": "370b16959297a91df693b0389d26f1a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10480, "upload_time": "2017-01-12T12:59:30", "url": "https://files.pythonhosted.org/packages/9f/c1/b87afe1b555be1f3feee5d3852ca2b940203b817ec41c78e11e9763551f1/bubbletools-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "e25e64c3094982b7d34e02945e188821", "sha256": "deef4fd3b03ed3adc6544b9eb26f917e1f2918fdf494d9b70dc52d0969ad5177" }, "downloads": -1, "filename": "bubbletools-0.5.0.tar.gz", "has_sig": false, "md5_digest": "e25e64c3094982b7d34e02945e188821", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11288, "upload_time": "2017-05-24T15:00:10", "url": "https://files.pythonhosted.org/packages/a1/45/303887f877c079b11a7b9a25ef33c221b21ab37c195c88c34a0d970dd915/bubbletools-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "0c95765b0be918af848052565b3ac054", "sha256": "7cbea0e99a0a46f9d3114c942a024f13a2fc979c8ea1c4064a58c1aaf11f0061" }, "downloads": -1, "filename": "bubbletools-0.5.1.tar.gz", "has_sig": false, "md5_digest": "0c95765b0be918af848052565b3ac054", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11646, "upload_time": "2017-05-24T15:16:17", "url": "https://files.pythonhosted.org/packages/db/20/9eaad21f79421b023f79f9242b3d41b16124fd68c20eee599ac73c9e98a2/bubbletools-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "11bc579cb98399c8ffda3dae6801e34a", "sha256": "9e84253951f9fde7efaf750a8ff56066337d89387354f71084680f2f61eceb26" }, "downloads": -1, "filename": "bubbletools-0.5.2.tar.gz", "has_sig": false, "md5_digest": "11bc579cb98399c8ffda3dae6801e34a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11659, "upload_time": "2017-06-21T09:22:25", "url": "https://files.pythonhosted.org/packages/cc/c7/acd4125cfac91176e70defac878144788ce553c0a27f1555e8770bd77cf0/bubbletools-0.5.2.tar.gz" } ], "0.5.3": [ { "comment_text": "", "digests": { "md5": "75ac42f6bb36b2adc857faed6c3b74ec", "sha256": "9e7b4ac77092ae9693f9d9ff57b1934712206ab3a838babb622e417d2a15f637" }, "downloads": -1, "filename": "bubbletools-0.5.3.tar.gz", "has_sig": false, "md5_digest": "75ac42f6bb36b2adc857faed6c3b74ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12321, "upload_time": "2017-06-21T15:48:19", "url": "https://files.pythonhosted.org/packages/d2/fb/a25c2550d2c3a228f6bc90a0d6231fe06ecce37fdf8ecbf5448940b01262/bubbletools-0.5.3.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "5dca29849bba641509664e0937927e93", "sha256": "4257d62dd34b8fe1b15f4d8ecc898735b674bfffc522698587cca09c5b2433be" }, "downloads": -1, "filename": "bubbletools-0.6.1.tar.gz", "has_sig": false, "md5_digest": "5dca29849bba641509664e0937927e93", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24620, "upload_time": "2018-04-26T09:05:31", "url": "https://files.pythonhosted.org/packages/7f/08/9f9bd9d35c164c8acaa63cdc98a287c8c5e621e1cdad81a236d06ae205b8/bubbletools-0.6.1.tar.gz" } ], "0.6.10": [ { "comment_text": "", "digests": { "md5": "b609555250dd112e927d98465a87e6ba", "sha256": "2af13ec05d0e86f25ff57752066c7ca8c24be9eb0e2116ba227b68a1e099b243" }, "downloads": -1, "filename": "bubbletools-0.6.10.tar.gz", "has_sig": false, "md5_digest": "b609555250dd112e927d98465a87e6ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146601, "upload_time": "2018-12-18T16:54:51", "url": "https://files.pythonhosted.org/packages/96/e8/d6ee6a14def99e33134110034325e13796f94eea7965e6fb1da540287227/bubbletools-0.6.10.tar.gz" } ], "0.6.11": [ { "comment_text": "", "digests": { "md5": "7465326908c39d8bbd8c086a190cd00b", "sha256": "c2df9f45d13b5b6bed70c30ab7421b4249af1457ab09f7bf723acbb3cc11f9c9" }, "downloads": -1, "filename": "bubbletools-0.6.11.tar.gz", "has_sig": false, "md5_digest": "7465326908c39d8bbd8c086a190cd00b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146616, "upload_time": "2019-01-17T14:38:08", "url": "https://files.pythonhosted.org/packages/dc/4f/03c1ac93b090d669d23965fbeede5ad07801ff56e0aaac8648fb6f0f029f/bubbletools-0.6.11.tar.gz" } ], "0.6.2": [ { "comment_text": "", "digests": { "md5": "577869dc5bcc1f454d9103ff9153acc2", "sha256": "613158797cd2847cf9a241fabdfcf4bf5206c6c808ba084fa3dea4272a7f5731" }, "downloads": -1, "filename": "bubbletools-0.6.2.tar.gz", "has_sig": false, "md5_digest": "577869dc5bcc1f454d9103ff9153acc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24668, "upload_time": "2018-06-07T12:38:10", "url": "https://files.pythonhosted.org/packages/15/49/7f0713a0a3b94f09d91b82d25eea2fe31dee6cd70b20456572fae9789f93/bubbletools-0.6.2.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "a88659412570988147448919788a1c3d", "sha256": "ff40de92c17a2c9ee22aefdd10a8f3169e8dfdd3ed19842da52f687d49f2722c" }, "downloads": -1, "filename": "bubbletools-0.6.3.tar.gz", "has_sig": false, "md5_digest": "a88659412570988147448919788a1c3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24738, "upload_time": "2018-06-07T12:41:49", "url": "https://files.pythonhosted.org/packages/54/3b/d9c343704ba0866cb1e3e069e6d52f2ca6495f5ae1fc0f3b0d3f690a65d0/bubbletools-0.6.3.tar.gz" } ], "0.6.4": [ { "comment_text": "", "digests": { "md5": "60d0a2afcac2528a47c6f5d328f78449", "sha256": "4f37d3a1b6991ffd6c0aba45389fe3baadac2c349a397ef03f701c3543905f82" }, "downloads": -1, "filename": "bubbletools-0.6.4.tar.gz", "has_sig": false, "md5_digest": "60d0a2afcac2528a47c6f5d328f78449", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157551, "upload_time": "2018-06-27T08:38:22", "url": "https://files.pythonhosted.org/packages/f7/7c/4e2c330dd7632cd9f6c007a96ad192e39cceec7732703ad6f03dccfd9599/bubbletools-0.6.4.tar.gz" } ], "0.6.5": [ { "comment_text": "", "digests": { "md5": "bb7ae694b77463278507db2852282295", "sha256": "66bdcc7b00f3949f5f5e98f184fc34c96c87a6d7b2f268493775541a2153f3ef" }, "downloads": -1, "filename": "bubbletools-0.6.5.tar.gz", "has_sig": false, "md5_digest": "bb7ae694b77463278507db2852282295", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157521, "upload_time": "2018-06-27T08:45:22", "url": "https://files.pythonhosted.org/packages/5c/fe/8ab869976df3284d8961084a8e74ca56b40787044d064ef6c8dfb8a7a0b8/bubbletools-0.6.5.tar.gz" } ], "0.6.6": [ { "comment_text": "", "digests": { "md5": "570262665c1428c51500327531de2d14", "sha256": "2157bc283853fbc2a7a24dc37f9dfc5496704b757112f8deb92780f6fc0b8e7c" }, "downloads": -1, "filename": "bubbletools-0.6.6.tar.gz", "has_sig": false, "md5_digest": "570262665c1428c51500327531de2d14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157530, "upload_time": "2018-06-27T08:47:35", "url": "https://files.pythonhosted.org/packages/37/67/326c2a023c4003683d2017e41ff10b09c029272630674d380a2895aaa59f/bubbletools-0.6.6.tar.gz" } ], "0.6.7": [ { "comment_text": "", "digests": { "md5": "fadd53b346cbfb3c1403224dee88a8eb", "sha256": "8eb2cc5cd3c0e2fc90eabee7c46daa79dcb0032cbec07eabfe02c65fdaf5ce1b" }, "downloads": -1, "filename": "bubbletools-0.6.7.tar.gz", "has_sig": false, "md5_digest": "fadd53b346cbfb3c1403224dee88a8eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 157843, "upload_time": "2018-06-28T09:28:38", "url": "https://files.pythonhosted.org/packages/fa/72/655c346c2f7f0de3845976bb006a4f417a32694da9bbc67cd179c38e020f/bubbletools-0.6.7.tar.gz" } ], "0.6.8": [ { "comment_text": "", "digests": { "md5": "233c57b7da2da7b8ee2ec39e544cad7c", "sha256": "d91142e2a21eb6b4d80ae4e169078b049c4f948af06d915275c89365221e9faa" }, "downloads": -1, "filename": "bubbletools-0.6.8.tar.gz", "has_sig": false, "md5_digest": "233c57b7da2da7b8ee2ec39e544cad7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 158753, "upload_time": "2018-12-18T09:56:05", "url": "https://files.pythonhosted.org/packages/71/2f/c28621a7c557e33748a81db2b1cb7638555f61fa45aa3b76c32cd2bc4bbd/bubbletools-0.6.8.tar.gz" } ], "0.6.9": [ { "comment_text": "", "digests": { "md5": "495f76fb2ca7d2ed4ab34e6b3870e481", "sha256": "656da4cb8a39bfd0d3f9ea248f23db30079034fd1e4850a899bd7bc07007aea2" }, "downloads": -1, "filename": "bubbletools-0.6.9.tar.gz", "has_sig": false, "md5_digest": "495f76fb2ca7d2ed4ab34e6b3870e481", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146240, "upload_time": "2018-12-18T16:25:57", "url": "https://files.pythonhosted.org/packages/64/25/e1f62963cedeb9e1ad5a8d0e56e78884d35afe886a6790c459aa63fb3bc6/bubbletools-0.6.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7465326908c39d8bbd8c086a190cd00b", "sha256": "c2df9f45d13b5b6bed70c30ab7421b4249af1457ab09f7bf723acbb3cc11f9c9" }, "downloads": -1, "filename": "bubbletools-0.6.11.tar.gz", "has_sig": false, "md5_digest": "7465326908c39d8bbd8c086a190cd00b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146616, "upload_time": "2019-01-17T14:38:08", "url": "https://files.pythonhosted.org/packages/dc/4f/03c1ac93b090d669d23965fbeede5ad07801ff56e0aaac8648fb6f0f029f/bubbletools-0.6.11.tar.gz" } ] }