{ "info": { "author": "Laura Rupprecht", "author_email": "lauracr@bu.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Software Development :: Documentation" ], "description": "codegrapher\n===========\n\n.. image:: https://travis-ci.org/LaurEars/codegrapher.svg?branch=master\n :target: https://travis-ci.org/LaurEars/codegrapher\n\n\nCode that graphs code\n---------------------\nUses the python `AST `_ to parse Python source code and build a call graph.\n\n\nOutput\n------\nAn example of the current output of the parser parsing itself.\n\n.. image:: http://i.imgur.com/2VnLaL0.png\n :target: http://i.imgur.com/2VnLaL0.png\n :align: center\n :width: 100 %\n :alt: parser.py\n\n\nInstallation\n------------\n\n.. code:: bash\n\n pip install codegrapher\n\n\nTo generate graphs, `graphviz `_ must be installed.\n\n\nUsage\n-----\n\nAt the command line\n~~~~~~~~~~~~~~~~~~~\nTo parse a file and output results to the console:\n\n.. code:: bash\n\n codegrapher path/to/file.py --printed\n\n\nTo parse a file and output results to a file:\n\n.. code:: bash\n\n codegrapher path/to/file.py --output output_file_name --output-type png\n\nTo analyze a directory of files, along with all files it contains:\n\n.. code:: bash\n\n codegrapher -r path/to/directory --output multiple_file_analysis\n\nAnd if you have a list of functions that aren't useful in your graph, add it to a `.cg_ignore` file:\n\n::\n\n # cg_ignore file\n # all lines beginning with '#' are ignored\n\n # every function calls this, so it's not helpful in my graph:\n log_error\n\n # I don't want to see this in my graph:\n parse\n lower\n\nThen add the `--ignore` flag to your command. Using the flag `--remove-builtins` provides the same functionality\nfor ignoring items found in `__builtins__`.\n\nAs a Python module\n~~~~~~~~~~~~~~~~~~\n\nTo easily parse code in Python :\n\n.. code:: python\n\n from codegrapher.parser import FileObject\n\n file_object = FileObject('path/to/file.py')\n file_object.visit()\n\nAnd then to add that code to a graph and render it (using graphviz):\n\n.. code:: python\n\n from codegrapher.graph import FunctionGrapher\n\n graph = FunctionGrapher()\n graph.add_file_to_graph(file_object)\n graph.name = 'name.gv'\n graph.format = 'png'\n graph.render()\n\nWhich will produce your code as a png file, `name.gv.png`, along with a\n`dot file `_ `name.gv`\n\nMore documentation for the Python module can be found at\n`Read the Docs `_.\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/LaurEars/codegrapher", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "codegrapher", "package_url": "https://pypi.org/project/codegrapher/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/codegrapher/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/LaurEars/codegrapher" }, "release_url": "https://pypi.org/project/codegrapher/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Code that graphs code", "version": "0.2.1" }, "last_serial": 1685198, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "cf1e4b730d4101c283121316689db111", "sha256": "6cd0f570f92f55ceabd2ccddd4582fe475c5ad754f4f23a31c58370e038138df" }, "downloads": -1, "filename": "codegrapher-0.1.0.tar.gz", "has_sig": false, "md5_digest": "cf1e4b730d4101c283121316689db111", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3986, "upload_time": "2014-12-14T23:24:01", "url": "https://files.pythonhosted.org/packages/d8/e5/e97168aff5000fcd5e8f13655ddf1871a263a8d04b0e27987c6e3ce134b7/codegrapher-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "96e58c759b54ebbb14f7af8e80428d4b", "sha256": "1d7e0e5eaa976bd9a150fac28b34ddc9882587cc6402f72bdeb1af1c1086cae5" }, "downloads": -1, "filename": "codegrapher-0.1.1.tar.gz", "has_sig": false, "md5_digest": "96e58c759b54ebbb14f7af8e80428d4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4225, "upload_time": "2014-12-15T00:54:14", "url": "https://files.pythonhosted.org/packages/1a/17/f85a37c12883ad514a150094b99852218d1ea954153a126a27d26c05f604/codegrapher-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b0e5fb2eb41752fe305179bfcb6f29e3", "sha256": "11226285af553341c2d6439e609ca3b7e244f1423fe249ed6f9e3977b2b264d1" }, "downloads": -1, "filename": "codegrapher-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b0e5fb2eb41752fe305179bfcb6f29e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4830, "upload_time": "2014-12-16T15:13:29", "url": "https://files.pythonhosted.org/packages/06/cd/5aac5f7eda674075189b884772cd9e3260186f9b8e744f85c36b5cef3ae1/codegrapher-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "96f59118e9cb6a927b23289995740070", "sha256": "6adb946feaf9d3fc81e75cd2c9120c2bbbdca26595d354fc855224cafa35faef" }, "downloads": -1, "filename": "codegrapher-0.1.3.tar.gz", "has_sig": false, "md5_digest": "96f59118e9cb6a927b23289995740070", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6142, "upload_time": "2015-01-06T03:48:16", "url": "https://files.pythonhosted.org/packages/70/d1/a4d244d75bd7df9302b6500553618cd1e3883713b8ba49473c6f17c65205/codegrapher-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b44be5824629e049ebe0e8b771ccc264", "sha256": "94c7bd79bf8457df1277ceea42f3196a42efd6910208d649ffd7b7a8ee48d6bf" }, "downloads": -1, "filename": "codegrapher-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b44be5824629e049ebe0e8b771ccc264", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7692, "upload_time": "2015-01-16T03:21:01", "url": "https://files.pythonhosted.org/packages/83/3c/88ad172733874fcbb756660498906a7f1a583b400d902a75df2f59e846af/codegrapher-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "622bbfde1dd2014625b324fbe9af5f0d", "sha256": "201527186f7ce9da0bc4d6343408832be54b7c415399e43ce5020f59054197d0" }, "downloads": -1, "filename": "codegrapher-0.2.1.tar.gz", "has_sig": false, "md5_digest": "622bbfde1dd2014625b324fbe9af5f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9269, "upload_time": "2015-08-20T06:39:12", "url": "https://files.pythonhosted.org/packages/6d/7f/52208131149719b65662ccd34c0cb40eb4a6f74d0408b7d21cd2c83df0d8/codegrapher-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "622bbfde1dd2014625b324fbe9af5f0d", "sha256": "201527186f7ce9da0bc4d6343408832be54b7c415399e43ce5020f59054197d0" }, "downloads": -1, "filename": "codegrapher-0.2.1.tar.gz", "has_sig": false, "md5_digest": "622bbfde1dd2014625b324fbe9af5f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9269, "upload_time": "2015-08-20T06:39:12", "url": "https://files.pythonhosted.org/packages/6d/7f/52208131149719b65662ccd34c0cb40eb4a6f74d0408b7d21cd2c83df0d8/codegrapher-0.2.1.tar.gz" } ] }