{ "info": { "author": "Patrick Fuller", "author_email": "patrickfuller@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: IPython", "Intended Audience :: Education", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Topic :: Education :: Computer Aided Instruction (CAI)" ], "description": "jgraph\n======\n\nAn embeddable webGL graph visualization library.\nhttp://patrickfuller.github.io/jgraph/\n\nExamples\n========\n\n * [IPython notebook](http://patrickfuller.github.io/jgraph/examples/ipython.html)\n * [les mis\u00e9rables](http://patrickfuller.github.io/jgraph/examples/miserables.html)\n * [github connections](http://patrickfuller.github.io/jgraph/examples/github.html)\n\nIPython\n=======\n\nThe IPython notebook is an open-source tool poised to replace MATLAB in many\napplications. As a scientist of sorts, I'm all about it. Therefore, I made\nhandles to use jgraph with the notebook. Install through pip:\n\n```\npip install jgraph\n```\n\nOpen a new notebook and test the setup by typing:\n\n```python\nimport jgraph\njgraph.draw([(1, 2), (2, 3), (3, 4), (4, 1), (4, 5), (5, 2)])\n```\n\ninto a notebook cell. You should get a paddlewheel graph as an output. You can\nuse this in conjunction with other code for educational purposes (try generating\na red-black tree!). There are three commands and some optional parameters to\ncheck out. Read the docstrings and check out the [associated\nexample](http://patrickfuller.github.io/jgraph/examples/ipython.html) for more.\n\nJavascript\n==========\n\nYou can install through [npm](https://www.npmjs.com/):\n\n```\nnpm install jgraph\n```\n\nOnce installed, you can use with:\n\n```javascript\njgraph.create('my-selector');\njgraph.draw(myGraph);\n```\n\nwhere `'my-selector'` is where you want to place jgraph, and `myGraph` is a\njavascript object. See below for more on the object structure, or just check out\nthe included example. The `jgraph.create()` method takes a few optional\nparameters, specifying the sizes and colors of nodes, as well as force-directed\noptimization.\n\n```javascript\noptions = {\n directed: true, // Toggles edge arrows\n nodeSize: 2.0, // Default node size\n edgeSize: 0.25, // Edge connection diameter\n arrowSize: 1.0, // If drawn, edge arrow size\n defaultNodeColor: 0xaaaaaa, // Color for nodes without a \"color\" property\n defaultEdgeColor: 0x777777, // Color for edges without a \"color\" property\n shader: \"toon\", // three.js shader to use, can be \"toon\", \"basic\", \"phong\", or \"lambert\"\n runOptimization: true // Runs a force-directed-layout algorithm on the graph\n};\n```\n\nGraph Data Format\n=================\n\njgraph takes input graph data structures as plain objects. Here's the most\nboring graph in the world:\n\n```javascript\n{\n nodes: {\n jane: { },\n bob: { },\n mike: { },\n sally: { }\n },\n edges: [\n { source: \"jane\", target: \"bob\" },\n { source: \"bob\", target: \"mike\" },\n { source: \"mike\", target: \"sally\" }\n ]\n}\n```\n\nNodes require no information outside of their keys. However, there are useful\noptional parameters that can be specified.\n\n```javascript\n{\n color: 0xffffff, // Color for this node\n size: 1.0, // Scaling factor for this node's size\n location: [0.0, 0.0, 0.0] // Starting location of node. Useful for pre-rendering.\n}\n```\n\nBy default, the algorithm runs a force-directed layout on the graph. When\nenabled, the \"location\" field is optional. However, for larger graphs, you will\nwant to disable this feature and pre-render the locations. Use the associated\nPython library (`jgraph.generate`) to do so.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/patrickfuller/jgraph/", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "jgraph", "package_url": "https://pypi.org/project/jgraph/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/jgraph/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/patrickfuller/jgraph/" }, "release_url": "https://pypi.org/project/jgraph/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "View graph data structures in the IPython notebook.", "version": "0.2.1" }, "last_serial": 1901675, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "0841a51594381be0d998e9c63c5af30c", "sha256": "dac3ce0a2393e07008cae23238dd5da33968256da5d353aee597601d1abb682f" }, "downloads": -1, "filename": "jgraph-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0841a51594381be0d998e9c63c5af30c", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 7958, "upload_time": "2015-12-21T21:32:52", "url": "https://files.pythonhosted.org/packages/98/f2/257b58e516fb2bbe896c73502374cc172925923cdfd2fda9367abaeda2dc/jgraph-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "35e71480749bd08b2d2e0225e0ffbc14", "sha256": "f5ac175adf2d5ee10c83de0fd895bf1a716b774ccdfde45d4bafc15a8a9fb0a6" }, "downloads": -1, "filename": "jgraph-0.2.0.tar.gz", "has_sig": false, "md5_digest": "35e71480749bd08b2d2e0225e0ffbc14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7793, "upload_time": "2015-12-21T21:32:43", "url": "https://files.pythonhosted.org/packages/95/92/a28ccbac4e91d7716dff6c8b336feb7fbc213ae0c5a4246e1d2cfb0ab4cb/jgraph-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "75a2f7347e0b00631cb360d2f2c2dbc5", "sha256": "3cc4e7a6257e3011f416634549be3d1ed49777a51f1d85e3222f7b7667a93413" }, "downloads": -1, "filename": "jgraph-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75a2f7347e0b00631cb360d2f2c2dbc5", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 119890, "upload_time": "2016-01-12T23:09:08", "url": "https://files.pythonhosted.org/packages/f0/31/b15d3d9407db73a2227fe19fc684b66859ed30f67606b397fa9dabd804b3/jgraph-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3519055c1cb56250289199ddf6762798", "sha256": "44df859a676c74f1b62c296d6b79a4f51f43bbe0e098a6770d225dd47ca39ffd" }, "downloads": -1, "filename": "jgraph-0.2.1.tar.gz", "has_sig": false, "md5_digest": "3519055c1cb56250289199ddf6762798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 119279, "upload_time": "2016-01-12T23:08:48", "url": "https://files.pythonhosted.org/packages/dc/fa/810ca6c60e292958ba1b3601e83025d1311bb488f8f170d866ddc1e77a33/jgraph-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "75a2f7347e0b00631cb360d2f2c2dbc5", "sha256": "3cc4e7a6257e3011f416634549be3d1ed49777a51f1d85e3222f7b7667a93413" }, "downloads": -1, "filename": "jgraph-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "75a2f7347e0b00631cb360d2f2c2dbc5", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 119890, "upload_time": "2016-01-12T23:09:08", "url": "https://files.pythonhosted.org/packages/f0/31/b15d3d9407db73a2227fe19fc684b66859ed30f67606b397fa9dabd804b3/jgraph-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3519055c1cb56250289199ddf6762798", "sha256": "44df859a676c74f1b62c296d6b79a4f51f43bbe0e098a6770d225dd47ca39ffd" }, "downloads": -1, "filename": "jgraph-0.2.1.tar.gz", "has_sig": false, "md5_digest": "3519055c1cb56250289199ddf6762798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 119279, "upload_time": "2016-01-12T23:08:48", "url": "https://files.pythonhosted.org/packages/dc/fa/810ca6c60e292958ba1b3601e83025d1311bb488f8f170d866ddc1e77a33/jgraph-0.2.1.tar.gz" } ] }