{ "info": { "author": "Ioannis Filippidis", "author_email": "jfilippidis@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Software Development" ], "description": "# pycflow2dot\n\n\n## Summary\n\nDraw call graphs for C source codes using `dot` and `cflow`.\nTypeset PDF with a page per source file and clickable cross-file\nfunction references.\n\n`cflow2dot -i hello_simple.c -f png` produces:\n\n![](https://raw.githubusercontent.com/johnyf/binaries/master/pycflow2dot/hello_simple.png)\n\nfrom [`hello_simple.c`](https://github.com/johnyf/pycflow2dot/blob/master/examples/simple/hello_simple.c).\n\n\n## Description\n\nDraw the call graph of C source code using\n[cflow](http://en.wikipedia.org/wiki/GNU_cflow) and\n[dot](http://www.graphviz.org/).\nOutput to LaTeX, .dot, .PDF, .SVG, .PNG and from dot to all formats supported\nfrom it. The LaTeX output is obtained by including the SVG via\n[Inkscape](http://inkscape.org/)'s LaTeX [export](http://mirror.math.ku.edu/tex-archive/info/svg-inkscape/InkscapePDFLaTeX.pdf)\nfunctionality.\n\nMulti-file sources are converted to multiple SVG files, one for each source.\nThese contain links using the LaTeX package\n[hyperref](http://ctan.org/pkg/hyperref), so that after compilation\none can click on the name of a function call and be taken to its definition,\neven if that definition is in another page of the PDF, because the function\nis defined in another source file than the one corresponding to the current\nPDF page.\n\nNote that if a file containing the definition is missing, then the hyperref link\nis omitted, so that no dead links result after compiling with LaTeX.\nThis might be the case of for example the file with the definitions is\navailable, but is not passed to pycflow2dot, e.g., for the purpose of focusing\non a subset of the sources.\n\nFor now the LaTeX result has to be manually compiled, though this\nextra step will be automated in the future. Multi-SVG export will still be\navailable, so that the results can be included in a larger document, e.g.,\na report.\n\nPyCflow2dot is a Python port of the Perl script cflow2dot.\nTested with Python 3.2 (NetworkX not yet available in 3.3.).\n\n\n## Installation\n\nUse [`pip`](https://en.wikipedia.org/wiki/Pip_%28package_manager%29) with\nPython 3 or 2:\n\n`pip install pycflow2dot`\n\nYou also need to install the following non-Python dependencies:\n\n- [GNU cflow](http://en.wikipedia.org/wiki/GNU_cflow):\n - `apt-get install cflow` on Debian GNU/Linux\n - `port install cflow` with [MacPorts](http://www.macports.org/)\n- [`dot`](http://www.graphviz.org/):\n - `apt-get install graphviz`\n - `port install graphviz`\n\nOptionally, [`cpp`](http://en.wikipedia.org/wiki/C_preprocessor) too.\n\n\n## License\n\nPyCflow2dot is licensed under the GNU GPL v3.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/johnyf/pycflow2dot", "keywords": "c", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "pycflow2dot", "package_url": "https://pypi.org/project/pycflow2dot/", "platform": "", "project_url": "https://pypi.org/project/pycflow2dot/", "project_urls": { "Homepage": "https://github.com/johnyf/pycflow2dot" }, "release_url": "https://pypi.org/project/pycflow2dot/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "Create C call graphs from multiple source files using Cflow, producing linked PDF.", "version": "0.2.1" }, "last_serial": 2695392, "releases": { "0.2": [ { "comment_text": "", "digests": { "md5": "72ca8cba042f2e0bb78cdf02a59d632c", "sha256": "4923d4b8fa22a8d39aea647c6d81347fae0441432aa7381ab125ea032bb2327a" }, "downloads": -1, "filename": "pycflow2dot-0.2.tar.gz", "has_sig": false, "md5_digest": "72ca8cba042f2e0bb78cdf02a59d632c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7450, "upload_time": "2014-03-28T02:15:38", "url": "https://files.pythonhosted.org/packages/6b/15/5fcd0dcff079e23d3140df33a20e1c10564450006890592f4a025e3ffc9d/pycflow2dot-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "d332e02a90ab2280c0f20674c07c3fcd", "sha256": "3fd3589cebaba0f5c17aced90d0586969c8346fc1a1c165cd7d7b8edd59a6ae6" }, "downloads": -1, "filename": "pycflow2dot-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d332e02a90ab2280c0f20674c07c3fcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7566, "upload_time": "2017-03-09T22:06:57", "url": "https://files.pythonhosted.org/packages/f6/a8/847f1c33c76c71aed58513e1b0ecfe1b097941ca05fecdeb66150346be25/pycflow2dot-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d332e02a90ab2280c0f20674c07c3fcd", "sha256": "3fd3589cebaba0f5c17aced90d0586969c8346fc1a1c165cd7d7b8edd59a6ae6" }, "downloads": -1, "filename": "pycflow2dot-0.2.1.tar.gz", "has_sig": false, "md5_digest": "d332e02a90ab2280c0f20674c07c3fcd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7566, "upload_time": "2017-03-09T22:06:57", "url": "https://files.pythonhosted.org/packages/f6/a8/847f1c33c76c71aed58513e1b0ecfe1b097941ca05fecdeb66150346be25/pycflow2dot-0.2.1.tar.gz" } ] }