{ "info": { "author": "Peter Goldsborough", "author_email": "peter@goldsborough.me", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Topic :: Software Development" ], "description": "# :fireworks: ig\n\n

\n \n

\n ig is a tool to interactively visualize include graphs for C++ projects\n

\n \"license\"\n

\n\n## Overview\n\nPoint `ig` at any directory containing C++ source or header files and it will\nconstruct a full graph of all includes, serve you a local website and visualize\nthe graph interactively with [sigma.js](http://sigmajs.org), for you to admire.\n\nUsage is very easy:\n\n```sh\n$ ig -o include\n```\n\nwill inspect the folder `include`, serve a website on `localhost:8080` and even\nopen your browser for you. The full set of options currently include:\n\n```sh\nusage: ig [-h] [--pattern PATTERNS] [-i PREFIXES] [-v] [-p PORT] [-o] [-j]\n [-d DIRECTORY] [--relation {includes,included-by}]\n [--min-degree MIN_DEGREE] [--group-granularity GROUP_GRANULARITY]\n [--full-path] [--colors COLORS] [--color-variation COLOR_VARIATION]\n [--color-alpha-min COLOR_ALPHA_MIN]\n directories [directories ...]\n\nVisualize C++ include graphs\n\npositional arguments:\n directories The directories to look at\n\noptional arguments:\n -h, --help show this help message and exit\n --pattern PATTERNS The file (glob) patterns to look for\n -i PREFIXES, -I PREFIXES, --prefix PREFIXES\n An include path for headers to recognize\n -v, --verbose Whether to turn on verbose output\n -p PORT, --port PORT The port to serve the visualization on\n -o, --open Whether to open the webpage immediately\n -j, --json Whether to print the graph JSON and not serve it\n -d DIRECTORY, --dir DIRECTORY\n The directory to store the served files in. Ifnot\n supplied, a temporary directory is created.\n --relation {includes,included-by}\n The relation of edges in the graph\n --min-degree MIN_DEGREE\n The initial minimum degree nodes should have to be\n displayed\n --group-granularity GROUP_GRANULARITY\n How coarse to group nodes (by folder)\n --full-path If set, shows the full path for nodes\n --colors COLORS The base RGB colors separated by commas\n --color-variation COLOR_VARIATION\n The variation in RGB around the base colors\n --color-alpha-min COLOR_ALPHA_MIN\n The minimum alpha value for colors\n```\n\nBut does it scale? It scales quite well. The graph you see above is the include\ngraph for the entire LLVM and clang codebase, which spans more than 5,000 files\nand 1.5M LOC. Note that the visualization also includes sliders to group nodes\nby folder and filter out low-degree nodes.\n\n## Installation\n\nGet it with pip:\n\n```sh\n$ pip install ig-cpp\n```\n\nWorks with Python 2 and 3.\n\n## Examples\n\nWho ever said C++ was an ugly language?\n\n

\n \n

\n LLVM/ADT\n

\n

\n\n

\n \n

\n TensorFlow\n

\n

\n\n

\n \n

\n libc++ (the standard library)\n

\n

\n\n## Authors\n\n[Peter Goldsborough](http://goldsborough.me) + [cat](https://goo.gl/IpUmJn)\n:heart:", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/goldsborough/ig", "keywords": "visualization C++ tool", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "ig-cpp", "package_url": "https://pypi.org/project/ig-cpp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ig-cpp/", "project_urls": { "Homepage": "https://github.com/goldsborough/ig" }, "release_url": "https://pypi.org/project/ig-cpp/0.1.9/", "requires_dist": null, "requires_python": "", "summary": "A tool to visualize include graphs for C++ projects", "version": "0.1.9" }, "last_serial": 2865875, "releases": { "0.1.5": [ { "comment_text": "", "digests": { "md5": "0d4c6b9234e7dd60cc0fdefcfb33be8c", "sha256": "f525c359e9731376259716332035943f496ea213606786319e1eeecffc05f463" }, "downloads": -1, "filename": "ig_cpp-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0d4c6b9234e7dd60cc0fdefcfb33be8c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 93827, "upload_time": "2017-05-09T04:08:56", "url": "https://files.pythonhosted.org/packages/4d/31/68bba6974da894784de7aa8adbb76e3da6b748230f41a4f913a3c9ddbbc8/ig_cpp-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "271186ef54076d760663352e9329356d", "sha256": "b5d3ee6b9476e8cc6c7baa2a0aeb55c3932f5f23eaaaf400f711366042c7ca3b" }, "downloads": -1, "filename": "ig-cpp-0.1.5.tar.gz", "has_sig": false, "md5_digest": "271186ef54076d760663352e9329356d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 102727, "upload_time": "2017-05-09T04:08:59", "url": "https://files.pythonhosted.org/packages/50/aa/9c8c1ad702b8ee8f52083fa845ef6714ce16bb99f8e920643a7b0bb016bb/ig-cpp-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "e77ef915bdc2d5a8d52c8397287497af", "sha256": "1db565f8ffecff61c07389a4159b018b7d0886bdc798b9b6a0734f8804ea602b" }, "downloads": -1, "filename": "ig_cpp-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e77ef915bdc2d5a8d52c8397287497af", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 93761, "upload_time": "2017-05-09T10:58:41", "url": "https://files.pythonhosted.org/packages/61/fe/302687e805923cc1a0dfe32134f1551847f3a1d2f6450fd3e0634013bd30/ig_cpp-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1cd2f4ddb08ca64488a47b7cf20b4f1d", "sha256": "6a57b2b72feec330e41a2a85c567ba5f46f9c31e23bd0092d101277ef6a89377" }, "downloads": -1, "filename": "ig-cpp-0.1.6.tar.gz", "has_sig": false, "md5_digest": "1cd2f4ddb08ca64488a47b7cf20b4f1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 84853, "upload_time": "2017-05-09T10:58:44", "url": "https://files.pythonhosted.org/packages/54/40/e60f0ea4f68937965b9607cf71305fa6c740ed11178a68cbda5833404be1/ig-cpp-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "db0afe7078026a82a253673af61989b3", "sha256": "45a3b07f1d87caeb5c8ea731e16d1030380628c291228c7556cd6b76d3264e07" }, "downloads": -1, "filename": "ig_cpp-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "db0afe7078026a82a253673af61989b3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 95077, "upload_time": "2017-05-09T16:06:37", "url": "https://files.pythonhosted.org/packages/80/2a/fe0077f1c66a3eea195ae2a893bac02f0985be2613a0f37c732617fb9458/ig_cpp-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d970bf0c583c9f503c2c0ffb5022ccfb", "sha256": "0674e4187a09a972769eb49d0a0e8009c2ec843b4e2b433d834879dd04d83557" }, "downloads": -1, "filename": "ig-cpp-0.1.7.tar.gz", "has_sig": false, "md5_digest": "d970bf0c583c9f503c2c0ffb5022ccfb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 85629, "upload_time": "2017-05-09T16:06:40", "url": "https://files.pythonhosted.org/packages/d3/c3/2e13c00d5a8a9d92b665064a593da3e320e033ba00efa3b6ff4460c7b200/ig-cpp-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "420b655221f878009b0a19351e4c949d", "sha256": "323df2a957b42fc79b280f5579d51e0f58919507e8cc65c669f81eb21c7f268d" }, "downloads": -1, "filename": "ig_cpp-0.1.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "420b655221f878009b0a19351e4c949d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 96256, "upload_time": "2017-05-10T23:58:27", "url": "https://files.pythonhosted.org/packages/57/0a/09a1007deb8aeb7292595e73c87cb8333e07c82fa6f975d7156de235300e/ig_cpp-0.1.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a10396963ad748f281217170cb8914bd", "sha256": "d97225fb33ea30d6395aa3f82f08f240ac8cf9d190b1931d64cef00282097198" }, "downloads": -1, "filename": "ig-cpp-0.1.8.tar.gz", "has_sig": false, "md5_digest": "a10396963ad748f281217170cb8914bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86530, "upload_time": "2017-05-10T23:58:30", "url": "https://files.pythonhosted.org/packages/b3/d5/5ce201b3372c840b9c8063f886b9ee84c9d513b81f680dd3211819edabfe/ig-cpp-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "002e3597d0d8c83a46c5d60ce8110923", "sha256": "c30a7fd339351a38ada533fa7a7fe6114cfe5b253f49cc0a11a8ce69a0430b45" }, "downloads": -1, "filename": "ig_cpp-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "002e3597d0d8c83a46c5d60ce8110923", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 96746, "upload_time": "2017-05-11T00:13:11", "url": "https://files.pythonhosted.org/packages/3b/b9/17175883580bd2eba22f354d50660e15b4c38e995e4fdd056e75a7d21548/ig_cpp-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b62929ee86b55608c4abddb48596fb0", "sha256": "1612f4bf23dc7a924fe9373b49caeab024b14053349b90424f41961b11a01f05" }, "downloads": -1, "filename": "ig-cpp-0.1.9.tar.gz", "has_sig": false, "md5_digest": "8b62929ee86b55608c4abddb48596fb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86734, "upload_time": "2017-05-11T00:13:15", "url": "https://files.pythonhosted.org/packages/58/ae/a30dca9ac4d9e362c96634ddb33f6a2dd409a27f8eac14865a01179f1714/ig-cpp-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "002e3597d0d8c83a46c5d60ce8110923", "sha256": "c30a7fd339351a38ada533fa7a7fe6114cfe5b253f49cc0a11a8ce69a0430b45" }, "downloads": -1, "filename": "ig_cpp-0.1.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "002e3597d0d8c83a46c5d60ce8110923", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 96746, "upload_time": "2017-05-11T00:13:11", "url": "https://files.pythonhosted.org/packages/3b/b9/17175883580bd2eba22f354d50660e15b4c38e995e4fdd056e75a7d21548/ig_cpp-0.1.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b62929ee86b55608c4abddb48596fb0", "sha256": "1612f4bf23dc7a924fe9373b49caeab024b14053349b90424f41961b11a01f05" }, "downloads": -1, "filename": "ig-cpp-0.1.9.tar.gz", "has_sig": false, "md5_digest": "8b62929ee86b55608c4abddb48596fb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 86734, "upload_time": "2017-05-11T00:13:15", "url": "https://files.pythonhosted.org/packages/58/ae/a30dca9ac4d9e362c96634ddb33f6a2dd409a27f8eac14865a01179f1714/ig-cpp-0.1.9.tar.gz" } ] }