{ "info": { "author": "Zachary R. Sailer", "author_email": "zachsailer@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "\n# nx_altair\n\n*Draw NetworkX graphs with Altair*\n\n[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/nx_altair/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link)\n\n**nx_altair** offers a similar **draw** API to NetworkX but returns Altair Charts instead.\n\nIf you'd like to contribute, join the [Gitter chatroom](https://gitter.im/nx_altair/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link) and share your ideas! Also, checkout the [to-do list](#todo-list) below.\n\n## Examples\n\nIf you'd like to start playing with nx_altair, download [this notebook](examples/nx_altair-tutorial.ipynb)!\n\n### Simple graph\n\n```python\nimport networkx as nx\nimport nx_altair as nxa\n\n# Generate a random graph\nG = nx.fast_gnp_random_graph(n=20, p=0.25)\n\n# Compute positions for viz.\npos = nx.spring_layout(G)\n\n# Draw the graph using Altair\nviz = nxa.draw_networkx(G, pos=pos)\n\n# Show it as an interactive plot!\nviz.interactive()\n```\n\n\n\n### Leverage Altair\n\n\n\n\n### Customize the visualization\n\n**nx_altair** also supports many of the same arguments from NetworkX for styling your network--with an Altair twist! Map visualization attributes in a declarative manner.\n\n```python\nimport numpy as np\n\n# Add weights to nodes and edges\nfor n in G.nodes():\n G.nodes[n]['weight'] = np.random.randn()\n\nfor e in G.edges():\n G.edges[e]['weight'] = np.random.uniform(1, 10)\n\n\n# Draw the graph using Altair\nviz = nxa.draw_networkx(\n G, pos=pos,\n node_color='weight',\n cmap='viridis',\n width='weight',\n edge_color='black',\n)\n\n# Show it as an interactive plot!\nviz.interactive()\n```\n\n\n\n## Install\n\nTo install from PyPI:\n\n```\npip install nx_altair\n```\n\nTo install for development, clone this repos and install using pip\n```\npip install -e .\n```\n\n## Contributing\n\nWe welcome pull requests! If you find a bug, we'd love for you to submit a PR. If you're not sure how to do that, check out this [simple guide](https://github.com/Zsailer/guide-to-working-as-team-on-github).\n\nIf you have a feature request, please open an issue or submit a PR!\n\n## Todo list\n\nA list of things to-do (good ideas for PRs).\n\n- [ ] Add `draw` method that mirrors networkx (easy)\n- [ ] Node color scale vmix, vmax (easy)\n- [ ] Edge color scale vmix, vmax (easy)\n- [ ] Node labels (medium)\n- [ ] Edge labels (medium)\n- [ ] Mouse-hover interactivity (medium)\n- [ ] Arrows for edges (hard)\n- [ ] Support for large (>1000 edge) networks (hard)\n- [ ] Force-directed interactivity (very hard---beyond altair's current support).\n\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://github.com/Zsailer/nx_altair", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nx-altair", "package_url": "https://pypi.org/project/nx-altair/", "platform": "", "project_url": "https://pypi.org/project/nx-altair/", "project_urls": { "Homepage": "https://github.com/Zsailer/nx_altair" }, "release_url": "https://pypi.org/project/nx-altair/0.1.4/", "requires_dist": [ "pandas", "networkx", "altair" ], "requires_python": ">=3.3.0", "summary": "Draw NetworkX graphs with Altair", "version": "0.1.4" }, "last_serial": 4543480, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "4dd7dd1fe34cfded8d2ad6f8f9112382", "sha256": "6dc7fc82a4f20f91afd4aac36ce255f81a613a69edadfcfca72c07e735497cc2" }, "downloads": -1, "filename": "nx_altair-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4dd7dd1fe34cfded8d2ad6f8f9112382", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.3.0", "size": 4325, "upload_time": "2018-05-13T00:13:20", "url": "https://files.pythonhosted.org/packages/7e/4e/0213bda9659111ccefe2cba876ba9fa356cc85b3f8a911fde17dcfa01268/nx_altair-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5761ce4a5b6152e188b9cdc70d168779", "sha256": "a8f7463433f0405ffc97a9932fc164bf55e8f6ecec84796483f5aea1259bbf8a" }, "downloads": -1, "filename": "nx_altair-0.0.1.tar.gz", "has_sig": false, "md5_digest": "5761ce4a5b6152e188b9cdc70d168779", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 3527, "upload_time": "2018-05-13T00:13:21", "url": "https://files.pythonhosted.org/packages/e5/08/1bb6b4e7e9b5262b0d54fb394e7a42a2b8936c1fc4da1216595ccaf33bf4/nx_altair-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "dba46a3831ed8caa653e58b5a071b540", "sha256": "185a168a1aff055e039f8a5b5673832943472925262cc09f18257c001cc8e8c3" }, "downloads": -1, "filename": "nx_altair-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "dba46a3831ed8caa653e58b5a071b540", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.3.0", "size": 7388, "upload_time": "2018-05-13T16:53:30", "url": "https://files.pythonhosted.org/packages/ce/45/2bfa6103cf853cf77a7fac56ffee770bdd289cc05ac440f9f832d5c55bac/nx_altair-0.1.0-py2.py3-none-any.whl" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "227768b5cb9f1c716c2d6d9563fef63d", "sha256": "84c4546d78739c961830b85e74b60d4bf3aa8366f0295a64bf5dfd25d9f1f19e" }, "downloads": -1, "filename": "nx_altair-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "227768b5cb9f1c716c2d6d9563fef63d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.3.0", "size": 7037, "upload_time": "2018-05-13T16:55:51", "url": "https://files.pythonhosted.org/packages/74/59/1c2206e01e4db32ac2b4f77ae340478c5f4a377bd713af4c8d106c05cf1b/nx_altair-0.1.1-py2.py3-none-any.whl" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8ecf241eddde2f3b9126115f8c855e18", "sha256": "e061f4a8d9f8f0640d4ff035d710fe4c6df390d96d526fc9249505eb2a723fd8" }, "downloads": -1, "filename": "nx_altair-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8ecf241eddde2f3b9126115f8c855e18", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.3.0", "size": 6325, "upload_time": "2018-07-12T20:23:27", "url": "https://files.pythonhosted.org/packages/93/c4/7dfa37f20598df06359e650a3e37b708e5c90fe906db14e1ce928ace24f2/nx_altair-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f89c5a740f641fd706a2c5b443851ac", "sha256": "333ed02d56ac3fff630beeb15bb69ad2551f0e1e705728702f4aae04ea7c8700" }, "downloads": -1, "filename": "nx_altair-0.1.2.tar.gz", "has_sig": false, "md5_digest": "0f89c5a740f641fd706a2c5b443851ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 6550, "upload_time": "2018-07-12T20:23:28", "url": "https://files.pythonhosted.org/packages/27/48/d7cd04c682ebf29d19f211218385165d058599300c069b1c6d04dee1ab3b/nx_altair-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "2c955ac932b521cbc2f605d4569d90c7", "sha256": "76efef48ad2c1789ef315073aff9c033f28704345c3c1a1c50125af9f3849fd9" }, "downloads": -1, "filename": "nx_altair-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2c955ac932b521cbc2f605d4569d90c7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.3.0", "size": 6329, "upload_time": "2018-07-12T20:26:29", "url": "https://files.pythonhosted.org/packages/02/67/4e75a361677d3f56049ee39970af941091a638b28c19c4dbcf573bb83da5/nx_altair-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "09ffbdf81f402b5e5a6c61f1dc388281", "sha256": "f045d6692222fd918bd72a3cf7d3d12c2b533749d68e17144854bb996ede782b" }, "downloads": -1, "filename": "nx_altair-0.1.3.tar.gz", "has_sig": false, "md5_digest": "09ffbdf81f402b5e5a6c61f1dc388281", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 6558, "upload_time": "2018-07-12T20:26:31", "url": "https://files.pythonhosted.org/packages/9d/05/5c7d5f1ef13bcd1a19cd059f28a2766d96870a8af521979b27a42cf081a2/nx_altair-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "07800e27bb9b568ec7491f610ed18dfb", "sha256": "14a66e99d096c855fb67e811bbffce719adef20fb658ef34321bdfed4463f3d4" }, "downloads": -1, "filename": "nx_altair-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07800e27bb9b568ec7491f610ed18dfb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.3.0", "size": 7065, "upload_time": "2018-11-29T15:47:43", "url": "https://files.pythonhosted.org/packages/78/de/c19e2047491c8da32edc89b04dbc9b190915dd104c964f4ac8c3edb2d352/nx_altair-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9f600bfcf2ed2a95b990d0b217c4962", "sha256": "64c1b40140375f07e92b65c70ec54d9d59c13670782f9a03b93584c5d7571161" }, "downloads": -1, "filename": "nx_altair-0.1.4.tar.gz", "has_sig": false, "md5_digest": "f9f600bfcf2ed2a95b990d0b217c4962", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 8107, "upload_time": "2018-11-29T15:47:45", "url": "https://files.pythonhosted.org/packages/0b/66/d9357446417029028b195898267d4e3c04dfe42605f2da1495b705a9a13c/nx_altair-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "07800e27bb9b568ec7491f610ed18dfb", "sha256": "14a66e99d096c855fb67e811bbffce719adef20fb658ef34321bdfed4463f3d4" }, "downloads": -1, "filename": "nx_altair-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "07800e27bb9b568ec7491f610ed18dfb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.3.0", "size": 7065, "upload_time": "2018-11-29T15:47:43", "url": "https://files.pythonhosted.org/packages/78/de/c19e2047491c8da32edc89b04dbc9b190915dd104c964f4ac8c3edb2d352/nx_altair-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f9f600bfcf2ed2a95b990d0b217c4962", "sha256": "64c1b40140375f07e92b65c70ec54d9d59c13670782f9a03b93584c5d7571161" }, "downloads": -1, "filename": "nx_altair-0.1.4.tar.gz", "has_sig": false, "md5_digest": "f9f600bfcf2ed2a95b990d0b217c4962", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 8107, "upload_time": "2018-11-29T15:47:45", "url": "https://files.pythonhosted.org/packages/0b/66/d9357446417029028b195898267d4e3c04dfe42605f2da1495b705a9a13c/nx_altair-0.1.4.tar.gz" } ] }