{ "info": { "author": "chengjun", "author_email": "wangchj04@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "# flownetwork\n\nA python package for flow network analysis https://pypi.python.org/pypi/flownetwork\n\n## install the most updated github version\n\n```python\npip install -U git+https://github.com/chengjun/flownetwork.git\n```\n\n## install and upgrade\n\nOpen a terminal, and input:\n\n\n```python\npip install flownetwork\n```\n\nif your want to ungrade to a new version, just input:\n\n```python\npip install --upgrade flownetwork\n```\n\nif your want to uninstall, please input:\n\n```python\npip uninstall flownetwork\n```\n\n## import\n\n```python\n# import packages\nimport flownetwork.flownetwork as fn\nimport networkx as nx\nimport matplotlib.pyplot as plt\n\nprint(fn.__version__)\n\n```\n\n $version = 3.0.9$\n\n\n\n## flow network analysis\n\n```python\nhelp(fn.constructFlowNetwork)\n```\n\n Help on function constructFlowNetwork in module flownetwork.flownetwork:\n\n constructFlowNetwork(C)\n C is an array of two dimentions, e.g.,\n C = np.array([[user1, item1],\n [user1, item2],\n [user2, item1],\n [user2, item3]])\n Return a balanced flow network\n\n\n\n\n```python\n# constructing a flow network\ndemo = fn.attention_data\ngd = fn.constructFlowNetwork(demo)\n```\n\n```python\n# drawing a demo network\nfig = plt.figure(figsize=(12, 8),facecolor='white')\npos={0: np.array([ 0.2 , 0.8]),\n 2: np.array([ 0.2, 0.2]),\n 1: np.array([ 0.4, 0.6]),\n 6: np.array([ 0.4, 0.4]),\n 4: np.array([ 0.7, 0.8]),\n 5: np.array([ 0.7, 0.5]),\n 3: np.array([ 0.7, 0.2 ]),\n 'sink': np.array([ 1, 0.5]),\n 'source': np.array([ 0, 0.5])}\nwidth=[float(d['weight']*1.2) for (u,v,d) in gd.edges(data=True)]\nedge_labels=dict([((u,v,),d['weight']) for u,v,d in gd.edges(data=True)])\nnx.draw_networkx_edge_labels(gd,pos,edge_labels=edge_labels, font_size = 15, alpha = .5)\nnx.draw(gd, pos, node_size = 3000, node_color = 'orange',\n alpha = 0.2, width = width, edge_color='orange',style='solid')\nnx.draw_networkx_labels(gd,pos,font_size=18)\nplt.show()\n```\n\n![](img/flownetwork_demo.png)\n\n\n```python\nnx.info(gd)\n```\n\n\n\n\n 'Name: \\nType: DiGraph\\nNumber of nodes: 9\\nNumber of edges: 15\\nAverage in degree: 1.6667\\nAverage out degree: 1.6667'\n\n\n\n\n```python\n# balancing the network\n# if it is not balanced\ngh = fn.flowBalancing(gd)\nnx.info(gh)\n```\n\n\n\n\n 'Name: \\nType: DiGraph\\nNumber of nodes: 9\\nNumber of edges: 15\\nAverage in degree: 1.6667\\nAverage out degree: 1.6667'\n\n\n\n\n\n\n```python\n# flow matrix\nm = fn.getFlowMatrix(gd)\nm\n```\n\n\n\n\n matrix([[ 0., 1., 0., 0., 3., 1., 0., 0., 0.],\n [ 0., 0., 3., 0., 0., 0., 0., 0., 0.],\n [ 0., 0., 0., 2., 0., 0., 0., 0., 2.],\n [ 0., 0., 0., 0., 0., 0., 0., 0., 2.],\n [ 0., 0., 0., 0., 0., 1., 0., 0., 2.],\n [ 0., 0., 0., 0., 0., 0., 0., 0., 2.],\n [ 0., 0., 0., 0., 0., 0., 0., 0., 1.],\n [ 5., 2., 1., 0., 0., 0., 1., 0., 0.],\n [ 0., 0., 0., 0., 0., 0., 0., 0., 0.]])\n\n\n\n\n```python\nfn.getMarkovMatrix(m)\n```\n\n\n\n\n array([[ 0. , 0.2 , 0. , 0. , 0.6 ,\n 0.2 , 0. , 0. , 0. ],\n [ 0. , 0. , 1. , 0. , 0. ,\n 0. , 0. , 0. , 0. ],\n [ 0. , 0. , 0. , 0.5 , 0. ,\n 0. , 0. , 0. , 0.5 ],\n [ 0. , 0. , 0. , 0. , 0. ,\n 0. , 0. , 0. , 1. ],\n [ 0. , 0. , 0. , 0. , 0. ,\n 0.33333333, 0. , 0. , 0.66666667],\n [ 0. , 0. , 0. , 0. , 0. ,\n 0. , 0. , 0. , 1. ],\n [ 0. , 0. , 0. , 0. , 0. ,\n 0. , 0. , 0. , 1. ],\n [ 0.55555556, 0.22222222, 0.11111111, 0. , 0. ,\n 0. , 0.11111111, 0. , 0. ],\n [ 0. , 0. , 0. , 0. , 0. ,\n 0. , 0. , 0. , 0. ]])\n\n\n\n\n```python\nfn.getUmatrix(gd)\n```\n\n\n\n\n matrix([[ 1. , 0.2 , 0.2 , 0.1 , 0.6 ,\n 0.4 , 0. ],\n [ 0. , 1. , 1. , 0.5 , 0. ,\n 0. , 0. ],\n [ 0. , 0. , 1. , 0.5 , 0. ,\n 0. , 0. ],\n [ 0. , 0. , 0. , 1. , 0. ,\n 0. , 0. ],\n [ 0. , 0. , 0. , 0. , 1. ,\n 0.33333333, 0. ],\n [ 0. , 0. , 0. , 0. , 0. ,\n 1. , 0. ],\n [ 0. , 0. , 0. , 0. , 0. ,\n 0. , 1. ]])\n\n\n\n\n```python\n# return dissipationToSink,totalFlow,flowFromSource\n\nfn.networkDissipate(gd)\n```\n\n\n\n\n defaultdict(>,\n {0: [0, 5, 5],\n 1: [0, 3, 2],\n 2: [2, 4, 1],\n 3: [2, 2, 0],\n 4: [2, 3, 0],\n 5: [2, 2, 0],\n 6: [1, 1, 1]})\n\n\n\n\n```python\n# flow distance\nfn.flowDistanceFromSource(gd)\n```\n\n\n\n\n {0: 1.0,\n 1: 1.333333333333333,\n 2: 2.0,\n 3: 3.0,\n 4: 2.0,\n 5: 2.5,\n 6: 1.0,\n 'sink': 3.2222222222222214}\n\n\n\n\n```python\nfn.outflow(gd, 1)\n```\n\n\n\n\n 3\n\n\n\n\n```python\nfn.inflow(gd, 1)\n```\n\n\n\n\n 3\n\n\n\n\n```python\nfn.averageFlowLength(gd)\n```\n\n\n\n\n 3.2222222222222223\n\n\n\n\n```python\n# fn.getAverageTimeMatrix(gd)\n```\n\n\n## Plot\n\n```python\nfig = plt.figure(figsize=(9, 9),facecolor='white')\nax = fig.add_subplot(111)\nfn.plotTree(gd,ax)\nplt.show()\n```\n\n\n\n```python\nfrom random import random\nx = np.array(range(1, 100))\ny = (x+random()*x)**3\n\nplt.plot(x, y)\nplt.xscale('log');plt.yscale('log')\nplt.show()\n```\n\n\n![png](img/output_109_0.png)\n\n\n\n```python\nfn.alloRegressPlot(x,y,'r','s','$x$','$y$', loglog=True)\n```\n\n\n![png](img/output_110_0.png)\n\n\n\n```python\nrg = np.array([ 20.7863444 , 9.40547933, 8.70934714, 8.62690145,\n 7.16978087, 7.02575052, 6.45280959, 6.44755478,\n 5.16630287, 5.16092884, 5.15618737, 5.05610068,\n 4.87023561, 4.66753197, 4.41807645, 4.2635671 ,\n 3.54454372, 2.7087178 , 2.39016885, 1.9483156 ,\n 1.78393238, 1.75432688, 1.12789787, 1.02098332,\n 0.92653501, 0.32586582, 0.1514813 , 0.09722761])\nfn.powerLawExponentialCutOffPlot(rg, '$x$', '$p(x)$')\n```\n\n\n\n\n [-0.0099301962503268171,\n -0.064764460567964449,\n -0.17705123513352666,\n 0.89999847894045781]\n\n\n\n\n![png](img/output_111_1.png)\n\n\n\n```python\nfn.DGBDPlot(rg)\n```\n\n\n![png](img/output_112_0.png)\n\n\n\n```python\nfrom networkx.utils import powerlaw_sequence\npl_sequence = powerlaw_sequence(1000,exponent=2.5)\n\nfig = plt.figure(figsize=(4, 4),facecolor='white')\nax = fig.add_subplot(111)\nfn.plotPowerlaw(pl_sequence,ax,'r','$x$')\n\n```\n\n Calculating best minimal value for power law fit\n\n\n\n![png](img/output_113_1.png)\n\n\n\n```python\nfig = plt.figure(figsize=(4, 4),facecolor='white')\nax = fig.add_subplot(111)\nfn.plotCCDF(pl_sequence,ax,'b','$x$')\n\n```\n\n Calculating best minimal value for power law fit\n\n\n\n![png](img/output_114_1.png)\n\n\n\n```python\nbins, result, gini_val = fn.gini_coefficient(np.array(pl_sequence))\n\nplt.plot(bins, bins, '--', label=\"perfect\")\nplt.plot(bins, result, label=\"observed\")\nplt.title(\"$GINI: %.4f$\" %(gini_val))\n\nplt.legend(loc = 0, frameon = False)\nplt.show()\n```\n\n\n![png](img/output_115_0.png)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/chengjun/flownetwork/", "keywords": "sample setuptools development", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "flownetwork", "package_url": "https://pypi.org/project/flownetwork/", "platform": "", "project_url": "https://pypi.org/project/flownetwork/", "project_urls": { "Homepage": "https://github.com/chengjun/flownetwork/" }, "release_url": "https://pypi.org/project/flownetwork/3.1.0/", "requires_dist": null, "requires_python": "", "summary": "flownetwork Python project", "version": "3.1.0" }, "last_serial": 3865306, "releases": { "0.0.0.1": [ { "comment_text": "", "digests": { "md5": "c710361bac8475f69ecb2b0a207409f3", "sha256": "c16453ba50e2d682f76b2bde1fad675dee5e63c5f39b9c6946ed5ece6f448f22" }, "downloads": -1, "filename": "flownetwork-0.0.0.1.tar.gz", "has_sig": false, "md5_digest": "c710361bac8475f69ecb2b0a207409f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10917, "upload_time": "2017-05-26T14:49:56", "url": "https://files.pythonhosted.org/packages/b9/32/28bd463ee470ab0332500a527933e09792c36a0ab3f602ad4b9d20543ed5/flownetwork-0.0.0.1.tar.gz" } ], "0.0.0.2": [ { "comment_text": "", "digests": { "md5": "ecb09b852cf144074b77bf0755f72715", "sha256": "aff82f5bb33ca58e13f4f55992abaf75a113d56786717b8093a109f7a70051cc" }, "downloads": -1, "filename": "flownetwork-0.0.0.2.tar.gz", "has_sig": false, "md5_digest": "ecb09b852cf144074b77bf0755f72715", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10941, "upload_time": "2017-05-26T15:06:18", "url": "https://files.pythonhosted.org/packages/88/61/2f1646c36f1f990e20a88688ba4a8d8db90844bbe0b3c261472f5e47e1d1/flownetwork-0.0.0.2.tar.gz" } ], "0.0.0.3": [ { "comment_text": "", "digests": { "md5": "a2538082e29a47a134cb834ddae57e59", "sha256": "c5bdb3ea7e9eb55045c75cf762fd62d5a5541e74387b8379cc90e917b7542061" }, "downloads": -1, "filename": "flownetwork-0.0.0.3.tar.gz", "has_sig": false, "md5_digest": "a2538082e29a47a134cb834ddae57e59", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10937, "upload_time": "2017-05-26T15:18:41", "url": "https://files.pythonhosted.org/packages/64/f0/610d780b74c5ff374943542436f57d912f50929f66e87275a209f42a39a2/flownetwork-0.0.0.3.tar.gz" } ], "0.0.0.4": [ { "comment_text": "", "digests": { "md5": "eca95d62acef625059995df4a6f006dd", "sha256": "06f8d62ed9f802dfbf948ef300c6c8879bfedc031e1ea44a2dd0f18b6506aedb" }, "downloads": -1, "filename": "flownetwork-0.0.0.4.tar.gz", "has_sig": false, "md5_digest": "eca95d62acef625059995df4a6f006dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10960, "upload_time": "2017-05-26T15:28:58", "url": "https://files.pythonhosted.org/packages/70/31/1e6ce66bac7d3cfc318c50908606c31d4eb8738ffc24e0286d37016e5a64/flownetwork-0.0.0.4.tar.gz" } ], "0.0.0.5": [ { "comment_text": "", "digests": { "md5": "2063e60439968a8211bac24aab5bf3cc", "sha256": "d7300a6652a07d81a9c67ddd703e6bd14043d174f525ce0c5c222f808fd8f624" }, "downloads": -1, "filename": "flownetwork-0.0.0.5.tar.gz", "has_sig": false, "md5_digest": "2063e60439968a8211bac24aab5bf3cc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10958, "upload_time": "2017-05-26T15:40:20", "url": "https://files.pythonhosted.org/packages/35/d3/fc12d7d9909b98bd2adf9acf81d469e025ef303e0e7b017e7459a328fa4e/flownetwork-0.0.0.5.tar.gz" } ], "0.0.0.6": [ { "comment_text": "", "digests": { "md5": "fa79724f8372c0b522cd9bc2a4db7267", "sha256": "bdb713ac1be2fdf36c590354d47953b8f3e910f75f71b90036b409439c1aeb87" }, "downloads": -1, "filename": "flownetwork-0.0.0.6.tar.gz", "has_sig": false, "md5_digest": "fa79724f8372c0b522cd9bc2a4db7267", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11062, "upload_time": "2017-05-26T15:54:12", "url": "https://files.pythonhosted.org/packages/0b/ce/74bf994d3bf7751f95ae56f2083104724bb169f9f2ee03e004c733528ac2/flownetwork-0.0.0.6.tar.gz" } ], "0.0.0.7": [ { "comment_text": "", "digests": { "md5": "e006240a036c4994e4c5b15a5898c5f5", "sha256": "283aff94ae7162b00eeeca9246e7fcc231b8370ce8845296cba289f353cb93ee" }, "downloads": -1, "filename": "flownetwork-0.0.0.7.tar.gz", "has_sig": false, "md5_digest": "e006240a036c4994e4c5b15a5898c5f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11207, "upload_time": "2017-05-31T10:49:21", "url": "https://files.pythonhosted.org/packages/e3/de/2b7115e6021e462a7a97c91330288561757136bdf4685dd122122d24b9b1/flownetwork-0.0.0.7.tar.gz" } ], "0.0.0.8": [ { "comment_text": "", "digests": { "md5": "56ab4e070df44e1a0e6298b46ad0f4de", "sha256": "99d31ab464fbe8ccaf7e5e0829ca2b9791d8de7553815abcffd5d488e6a89bb4" }, "downloads": -1, "filename": "flownetwork-0.0.0.8.tar.gz", "has_sig": false, "md5_digest": "56ab4e070df44e1a0e6298b46ad0f4de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11208, "upload_time": "2017-05-31T10:57:20", "url": "https://files.pythonhosted.org/packages/4a/27/6d3e3b4341a813037a26132beed475350e35c020ff9370e84d1955226431/flownetwork-0.0.0.8.tar.gz" } ], "0.0.0.9": [ { "comment_text": "", "digests": { "md5": "d3952a8c57a521e3089f1773a10805c7", "sha256": "fb914e7d529592f2fa38567ed0d438c7b2ba520badb07698b91545d7087e69f3" }, "downloads": -1, "filename": "flownetwork-0.0.0.9.tar.gz", "has_sig": false, "md5_digest": "d3952a8c57a521e3089f1773a10805c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11418, "upload_time": "2017-06-02T14:06:31", "url": "https://files.pythonhosted.org/packages/fc/ee/67f60ed36cce24e2162e457f4a50598b9f6a9bdfb6b5a2e8b09b4fc17aa9/flownetwork-0.0.0.9.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "fe731b45d954a088c616a78e40b2b3a2", "sha256": "6cfe8fe65d30cdb407f652c1163b7fc466e6bea26729904054b04566edc590ce" }, "downloads": -1, "filename": "flownetwork-3.0.1.tar.gz", "has_sig": false, "md5_digest": "fe731b45d954a088c616a78e40b2b3a2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12946, "upload_time": "2018-05-15T15:20:46", "url": "https://files.pythonhosted.org/packages/5f/db/ec9fd27b1c2f24296fa57004d5fa5250b64dc161786d9e2baae6572f8318/flownetwork-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "344614d0d888b50788e7cf1e6df21f28", "sha256": "28289dc61abfbf97bbde1c330054098e77d80ea9f72aa997404b12230090eb43" }, "downloads": -1, "filename": "flownetwork-3.0.2.tar.gz", "has_sig": false, "md5_digest": "344614d0d888b50788e7cf1e6df21f28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2973, "upload_time": "2018-05-15T15:33:31", "url": "https://files.pythonhosted.org/packages/ed/ad/fab2a03f7411e3c544c312000748a60392aa2972a81293176210e1cb8cca/flownetwork-3.0.2.tar.gz" } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "ceeee6bdfc3ae3330aa03be09b4522fa", "sha256": "4abd77fd054f22ff5177ec613289d25dcdf2bfe01bdb5ababadb2f707fa1b40b" }, "downloads": -1, "filename": "flownetwork-3.0.3.tar.gz", "has_sig": false, "md5_digest": "ceeee6bdfc3ae3330aa03be09b4522fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3067, "upload_time": "2018-05-15T15:35:33", "url": "https://files.pythonhosted.org/packages/ef/6c/04dddb0c775a0c93c7384a6659e82c9c55af6022b6a6dfc56ecf9115efa8/flownetwork-3.0.3.tar.gz" } ], "3.0.4": [ { "comment_text": "", "digests": { "md5": "98e0cbd14bbc156dcfd4011f262479fa", "sha256": "76f273217908dfd15b13ffcf0b29a442ada46587dc8f1b87c3137415224693df" }, "downloads": -1, "filename": "flownetwork-3.0.4.tar.gz", "has_sig": false, "md5_digest": "98e0cbd14bbc156dcfd4011f262479fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3231, "upload_time": "2018-05-15T15:37:48", "url": "https://files.pythonhosted.org/packages/a7/19/a1209dd7eb6d2f37c18d05380ded8c9e194cea013b5e6bb52a9a33d24a2e/flownetwork-3.0.4.tar.gz" } ], "3.0.5": [ { "comment_text": "", "digests": { "md5": "221c4fc3096578d51dc904c093f0e8c5", "sha256": "76c62ea437b3847804f5f680e3366aa52de729e91379aa9334d9a0ba160cdb1b" }, "downloads": -1, "filename": "flownetwork-3.0.5.tar.gz", "has_sig": false, "md5_digest": "221c4fc3096578d51dc904c093f0e8c5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3192, "upload_time": "2018-05-15T15:44:35", "url": "https://files.pythonhosted.org/packages/e2/8f/27c4314646b8aef662db3fb92313696aa8ee7b2f860ab61645167d6c99ed/flownetwork-3.0.5.tar.gz" } ], "3.0.6": [ { "comment_text": "", "digests": { "md5": "48c1f3caef61c8e01e8bebf883ef8853", "sha256": "fbfee7ea111be6a1cbdc916b4e74c0301137ef749a71fca37c6a08e16eae3670" }, "downloads": -1, "filename": "flownetwork-3.0.6.tar.gz", "has_sig": false, "md5_digest": "48c1f3caef61c8e01e8bebf883ef8853", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3220, "upload_time": "2018-05-15T15:48:43", "url": "https://files.pythonhosted.org/packages/25/ec/1769fe21d71300dc5955410cae7596d673853951ffb8ba6d28348a841c92/flownetwork-3.0.6.tar.gz" } ], "3.0.7": [ { "comment_text": "", "digests": { "md5": "cf5ecdb3c795ab0a59981733aec8460b", "sha256": "44330aad2d3ee72b888b0f1329cc26fc510834ab32041d640ee17b13b19715b4" }, "downloads": -1, "filename": "flownetwork-3.0.7.tar.gz", "has_sig": false, "md5_digest": "cf5ecdb3c795ab0a59981733aec8460b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12879, "upload_time": "2018-05-15T16:07:53", "url": "https://files.pythonhosted.org/packages/31/6f/ae9674973aaff9eb20ef91eab0f91badbf471776eaa6588df0c6ac4c05c4/flownetwork-3.0.7.tar.gz" } ], "3.0.8": [ { "comment_text": "", "digests": { "md5": "e8e5f953cd5fae383de5a0fe5701a437", "sha256": "4f322e3ac2837125aafaea489bd2546bd9bb70e5a74f7915a04c4190a948e605" }, "downloads": -1, "filename": "flownetwork-3.0.8.tar.gz", "has_sig": false, "md5_digest": "e8e5f953cd5fae383de5a0fe5701a437", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15144, "upload_time": "2018-05-15T16:19:00", "url": "https://files.pythonhosted.org/packages/5f/b3/b311520a6e5194974d17d21d170e56321accf34b3b78d6e92ee37ce2c8a1/flownetwork-3.0.8.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "87d5f427f72a61c67784759150f62d73", "sha256": "845b23c8f63817a2187b914b5d948973f9c2157c20de1d5e9fdb985739b29da7" }, "downloads": -1, "filename": "flownetwork-3.1.0.tar.gz", "has_sig": false, "md5_digest": "87d5f427f72a61c67784759150f62d73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125082, "upload_time": "2018-05-15T16:32:43", "url": "https://files.pythonhosted.org/packages/76/68/55c476628c159761b993d13baa845f2cabd4cdf03a1dff49af8de06ccb25/flownetwork-3.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "87d5f427f72a61c67784759150f62d73", "sha256": "845b23c8f63817a2187b914b5d948973f9c2157c20de1d5e9fdb985739b29da7" }, "downloads": -1, "filename": "flownetwork-3.1.0.tar.gz", "has_sig": false, "md5_digest": "87d5f427f72a61c67784759150f62d73", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 125082, "upload_time": "2018-05-15T16:32:43", "url": "https://files.pythonhosted.org/packages/76/68/55c476628c159761b993d13baa845f2cabd4cdf03a1dff49af8de06ccb25/flownetwork-3.1.0.tar.gz" } ] }