{ "info": { "author": "J.L. van den Hout", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "## Graph\nThis package provides a simple graph implementation for Python.\n\n---\n- [1. Installation](#1-installation)\n - [1.1. Using pip](#11-using-pip)\n - [1.2. From source](#12-from-source)\n- [2. Basic usage](#2-basic-usage)\n- [3. Support](#3-support)\n- [4. Contributing](#4-contributing)\n- [5. License](#5-license)\n- [6. Changelog](#6-changelog)\n---\n\n### 1. Installation\n#### 1.1. Using pip\nSimply run the usual installation command for pip:\n\n```\npip install jlvandenhout-graph\n```\n\n#### 1.2. From source\nTo install from the latest source code, clone this repository and install from the repository:\n\n```\ngit clone https://gitlab.com/jlvandenhout/graph.git\ncd graph\npip install .\n```\n\n### 2. Basic usage\n```python\nfrom jlvandenhout.graph import Graph\n\ngraph = Graph()\n\nnames = graph.nodes\ntransactions = graph.edges\n\nnames.add(\"Alice\")\ntransactions.set(\"Bob\", \"Alice\", 42)\ntransactions.set(\"Alice\", \"Charlie\", 20)\n\nprint(\"\\nListing transactions...\")\nfor transaction in transactions:\n sender, receiver = transaction\n print(f\"{sender} paid {transaction.get()} to {receiver}.\")\n\nprint(\"\\nChecking balances...\")\nfor name in names:\n balance = 0\n for transaction in transactions.before(name):\n balance += transaction.get()\n for transaction in transactions.after(name):\n balance -= transaction.get()\n print(f\"{name} has {balance}.\")\n\nprint(\"\\nRemoving Charlie from history...\")\nnames.remove(\"Charlie\")\n\nprint(\"\\nListing transactions again...\")\nfor transaction in transactions:\n sender, receiver = transaction\n print(f\"{sender} paid {transaction.get()} to {receiver}.\")\n```\n\n### 3. Support\nIf you have any questions, suggestions or found a bug, please open an issue in [the issue tracker](https://gitlab.com/jlvandenhout/graph/issues).\n\n### 4. Contributing\nRefer to [CONTRIBUTING](https://gitlab.com/jlvandenhout/graph/blob/master/CONTRIBUTING.md).\n\n### 5. License\nRefer to [GNU General Public License v3 (GPLv3)](https://choosealicense.com/licenses/gpl-3.0/).\n\n### 6. Changelog\nRefer to [CHANGELOG](https://gitlab.com/jlvandenhout/graph/blob/master/CHANGELOG.md).\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/jlvandenhout/graph", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "jlvandenhout-graph", "package_url": "https://pypi.org/project/jlvandenhout-graph/", "platform": "", "project_url": "https://pypi.org/project/jlvandenhout-graph/", "project_urls": { "Homepage": "https://gitlab.com/jlvandenhout/graph" }, "release_url": "https://pypi.org/project/jlvandenhout-graph/2.1.0/", "requires_dist": null, "requires_python": "", "summary": "This package provides a simple graph implementation for Python.", "version": "2.1.0" }, "last_serial": 5679680, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "70cc1109749029c102fa7a45dd815beb", "sha256": "5407a4300d60956c1d1fbb87e1ca2b8b64501c66d0c110e524e8cfa6463b5ddb" }, "downloads": -1, "filename": "jlvandenhout_graph-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "70cc1109749029c102fa7a45dd815beb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16233, "upload_time": "2019-07-24T15:16:58", "url": "https://files.pythonhosted.org/packages/4a/ac/1dd71ac2686d6f98e61b5079256043d1f21e153777544de5c464897ca759/jlvandenhout_graph-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15eb18a400e79e075148f9a582156e43", "sha256": "3f25d19141f052e21ed27bb24e3cfa03beb5d4090c9ea5341decdc3cd0f6913c" }, "downloads": -1, "filename": "jlvandenhout-graph-0.1.0.tar.gz", "has_sig": false, "md5_digest": "15eb18a400e79e075148f9a582156e43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3181, "upload_time": "2019-07-24T15:17:02", "url": "https://files.pythonhosted.org/packages/9e/15/48eadd5cd552100a61f20fd0818c2e7742507fc138db5301ff563b2c12c8/jlvandenhout-graph-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "0089a982bd203c5d06c6aa2221e6fba9", "sha256": "895eef2bcd620159b69be803d2ca0bf0ae71b048549824fe1e1ad35efffe76b7" }, "downloads": -1, "filename": "jlvandenhout_graph-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0089a982bd203c5d06c6aa2221e6fba9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16455, "upload_time": "2019-07-24T17:14:30", "url": "https://files.pythonhosted.org/packages/a1/b8/0f1e10eeb1dfd1bea9694109c4ace796e7051fe07da69251f15955905919/jlvandenhout_graph-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "05207d8c7734e559c240242001d32349", "sha256": "7fafc2260b298519424045e0bc2938962e3da7807175b0bf90368425de40fbce" }, "downloads": -1, "filename": "jlvandenhout-graph-0.2.0.tar.gz", "has_sig": false, "md5_digest": "05207d8c7734e559c240242001d32349", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3401, "upload_time": "2019-07-24T17:14:31", "url": "https://files.pythonhosted.org/packages/1d/ac/8b7a2a8c4a834555055d8ec4832c6fb03047d2bf5b839c346b2eff844ca3/jlvandenhout-graph-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "48e548b029c3c8f997b0a0665117f464", "sha256": "9cecdc606fba87d13ab0b1ae0dbf46f6a99424aa2b9ad1f4120cc4609ef2f96f" }, "downloads": -1, "filename": "jlvandenhout_graph-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48e548b029c3c8f997b0a0665117f464", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17264, "upload_time": "2019-07-29T11:44:23", "url": "https://files.pythonhosted.org/packages/fb/6b/adccdc2c547e2cd78e34d9373ed8dd5956423e76eb199d6676cbd7783a2f/jlvandenhout_graph-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c740495db76af90667b953ec3f5e472b", "sha256": "b3d45c87f1d1ac17f6a87488507ca16961f772b9c5e5329264e98aae0f36df2d" }, "downloads": -1, "filename": "jlvandenhout-graph-0.3.0.tar.gz", "has_sig": false, "md5_digest": "c740495db76af90667b953ec3f5e472b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3884, "upload_time": "2019-07-29T11:44:24", "url": "https://files.pythonhosted.org/packages/a2/9d/daebf819bfe58ee22aae3a20cff2d73b8c111fa63d168f855bb9997ae000/jlvandenhout-graph-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "1a90da28ea147170197c2ec22b55024f", "sha256": "07abae351af8909e85631a993347ae2972a4ec04cfe5d950c368198120e3c501" }, "downloads": -1, "filename": "jlvandenhout_graph-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "1a90da28ea147170197c2ec22b55024f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17204, "upload_time": "2019-07-31T00:46:33", "url": "https://files.pythonhosted.org/packages/64/e7/ebdcca0f77d5df8247045d9f23c7f8b927ff0467640d3b93149ff902d7ea/jlvandenhout_graph-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8549f572a127595aea06057ef7dbc7e0", "sha256": "572534b7149c16d86deb42a31d925e2ec58337d2ad5179c1710577b8b966824a" }, "downloads": -1, "filename": "jlvandenhout-graph-0.4.0.tar.gz", "has_sig": false, "md5_digest": "8549f572a127595aea06057ef7dbc7e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3828, "upload_time": "2019-07-31T00:46:35", "url": "https://files.pythonhosted.org/packages/bd/72/d9aa86bff9543d5dde94b547887d7961ece435e223dd515a495491ed230b/jlvandenhout-graph-0.4.0.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "3a57f4caff5feb16e1beb97db5dacba1", "sha256": "b75a0ebfbedbeab9e4a6a9f338c7204ed4eed52f5119012a36f3916ea8a28cad" }, "downloads": -1, "filename": "jlvandenhout_graph-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3a57f4caff5feb16e1beb97db5dacba1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16414, "upload_time": "2019-08-07T23:33:32", "url": "https://files.pythonhosted.org/packages/c0/d3/32c8f98ccc6c9e67a30dce6481b2c5ed12f24a6720108cc648ff9c081874/jlvandenhout_graph-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b745eac7b80d09b765b7a6a5bccbd7d", "sha256": "97cd1039ef49c94782c0f4f294978fc698bbaccf7a51a0d38ed7c2a572a562d4" }, "downloads": -1, "filename": "jlvandenhout-graph-1.0.0.tar.gz", "has_sig": false, "md5_digest": "7b745eac7b80d09b765b7a6a5bccbd7d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3450, "upload_time": "2019-08-07T23:33:33", "url": "https://files.pythonhosted.org/packages/c9/6d/b82fe6df777164adc1a680f448855e50ac84820ff7068526dea245abcaf8/jlvandenhout-graph-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "8e5cb2072558aa25dd72e3e5efd8352f", "sha256": "e5f77c6198b829bb411eaed000130fa4d1b6e6fe50b54abc395cb90181761732" }, "downloads": -1, "filename": "jlvandenhout_graph-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "8e5cb2072558aa25dd72e3e5efd8352f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16459, "upload_time": "2019-08-12T12:45:37", "url": "https://files.pythonhosted.org/packages/6d/d1/6528947eb6665a9cf7787cdacf50aaecd5a4ca3864c53e58fb3ea903ae6d/jlvandenhout_graph-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1071de88d12ee69d1a2328fec2a5dfd1", "sha256": "e2d2dc3cd3a43baa59570e3ac60ae297e87426e1c34cba9b9e5c1d6245832c4e" }, "downloads": -1, "filename": "jlvandenhout-graph-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1071de88d12ee69d1a2328fec2a5dfd1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3498, "upload_time": "2019-08-12T12:45:38", "url": "https://files.pythonhosted.org/packages/5b/9a/d844e0ef640cd6e3a99e7d090d3f68c5ac682c0804f82e89c23194c04d33/jlvandenhout-graph-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "265ddf9a47b17f617915cd4f1b68c069", "sha256": "f8d9f0d387137b00110099ae8db1b05dd273691bdc5022d674949062b0132af4" }, "downloads": -1, "filename": "jlvandenhout_graph-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "265ddf9a47b17f617915cd4f1b68c069", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16494, "upload_time": "2019-08-12T20:59:00", "url": "https://files.pythonhosted.org/packages/27/a0/2b05f579b5704de4f4b8f07436c9dd06217d220b4297eb2fbef19d48452f/jlvandenhout_graph-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "37b9783f88e048f0b45b33cd0322579b", "sha256": "ac2653c73f77a0ade59e417e512f73af9288e818cefcb71b8c9d0e5e7506f844" }, "downloads": -1, "filename": "jlvandenhout-graph-1.2.0.tar.gz", "has_sig": false, "md5_digest": "37b9783f88e048f0b45b33cd0322579b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3532, "upload_time": "2019-08-12T20:59:02", "url": "https://files.pythonhosted.org/packages/73/be/de42394041560e2dd1d7c7e9c5af404e4205a0350b2295a89b2f67d68876/jlvandenhout-graph-1.2.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "15eddbdf676fef8208afcad674a6b0b3", "sha256": "393d105fa1428aa32344580ac9810d508eb32cfee5c19b486f56f87487325128" }, "downloads": -1, "filename": "jlvandenhout_graph-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "15eddbdf676fef8208afcad674a6b0b3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16567, "upload_time": "2019-08-13T10:43:27", "url": "https://files.pythonhosted.org/packages/18/97/60549f87088d6edf796edd3bc09933b01e6399f69efb7a825a74f34c2968/jlvandenhout_graph-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02f780ec3cfb638471a15b65c992d746", "sha256": "16e2e5b2d8d4e25e890a436ea9b8e22025140232b8ccaeb84beaa123ef436aeb" }, "downloads": -1, "filename": "jlvandenhout-graph-2.0.0.tar.gz", "has_sig": false, "md5_digest": "02f780ec3cfb638471a15b65c992d746", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3605, "upload_time": "2019-08-13T10:43:28", "url": "https://files.pythonhosted.org/packages/eb/60/b9501cd22e813451077d310820e9d79e9f319d939134aeb20838c64dc8e1/jlvandenhout-graph-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "42b56f92945d09fe3ff8d3e29c2f58e5", "sha256": "11a3ec052213281ea4c7ffcc81ffdc44d8762b0423c258e440274500feebb269" }, "downloads": -1, "filename": "jlvandenhout_graph-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "42b56f92945d09fe3ff8d3e29c2f58e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16309, "upload_time": "2019-08-14T22:46:28", "url": "https://files.pythonhosted.org/packages/a4/5c/738cc2a8f2ad54dbc95a7e23fd90bf21cd1fa2028326eb65c85159d86ee7/jlvandenhout_graph-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e639082800c2c4f8a20e688c3ade6d76", "sha256": "1766a416cd234d820ae1c22d4b3cead7d9d3dc925fff9da472fe94a2dc9f4838" }, "downloads": -1, "filename": "jlvandenhout-graph-2.1.0.tar.gz", "has_sig": false, "md5_digest": "e639082800c2c4f8a20e688c3ade6d76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3355, "upload_time": "2019-08-14T22:46:29", "url": "https://files.pythonhosted.org/packages/ef/ee/085e054df3fdbc05676e108b655b57b76b5a15dfa36c5f10303471fec8a2/jlvandenhout-graph-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "42b56f92945d09fe3ff8d3e29c2f58e5", "sha256": "11a3ec052213281ea4c7ffcc81ffdc44d8762b0423c258e440274500feebb269" }, "downloads": -1, "filename": "jlvandenhout_graph-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "42b56f92945d09fe3ff8d3e29c2f58e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 16309, "upload_time": "2019-08-14T22:46:28", "url": "https://files.pythonhosted.org/packages/a4/5c/738cc2a8f2ad54dbc95a7e23fd90bf21cd1fa2028326eb65c85159d86ee7/jlvandenhout_graph-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e639082800c2c4f8a20e688c3ade6d76", "sha256": "1766a416cd234d820ae1c22d4b3cead7d9d3dc925fff9da472fe94a2dc9f4838" }, "downloads": -1, "filename": "jlvandenhout-graph-2.1.0.tar.gz", "has_sig": false, "md5_digest": "e639082800c2c4f8a20e688c3ade6d76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3355, "upload_time": "2019-08-14T22:46:29", "url": "https://files.pythonhosted.org/packages/ef/ee/085e054df3fdbc05676e108b655b57b76b5a15dfa36c5f10303471fec8a2/jlvandenhout-graph-2.1.0.tar.gz" } ] }