{ "info": { "author": "Sergey Satskiy", "author_email": "sergey.satskiy@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: POSIX :: Linux", "Programming Language :: C++", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "cdm-flowparser \n-----------------------------\n\n`cdm-flowparser\nproject `__ is a Python\n3 (Python 2 support is limited) extension module. The module provided\nfunctions can takes a file with a python code or a character buffer,\nparse it and provide back a hierarchical representation of the code in\nterms of fragments. Each fragment describes a portion of the input: a\nstart point (line, column and absolute position) plus an end point\n(line, column and absolute position).\n\nComments are preserved too.\n\nThe module is used in the `Codimension Python\nIDE `__ to generate a flowchart-like diagrams\nfor an arbitrary Python code as the user types it. Basically the IDE\ndetects a pause in typing and regenerates the diagram.\n\nPython 3 Installation and Building\n----------------------------------\n\nThe `master branch `__\ncontains code for Python 3 (3.5/3.6/3.7 grammar is covered).\n\nThe module can be installed using pip:\n\n.. code:: shell\n\n pip install cdmcfparser\n\nYou can also retrieve the full source code which in addition has some\nutilities. In order to do that you can follow these steps:\n\n.. code:: shell\n\n git clone https://github.com/SergeySatskiy/cdm-flowparser.git\n cd cdm-flowparser\n make\n make check\n make localinstall\n\nPython 3: Visualizing Parsed Data\n---------------------------------\n\nSuppose there is ~/my-file.py file with the following content:\n\n.. code:: python\n\n #!/bin/env python\n import sys\n\n # I like comments\n a = 154\n for x in range(a):\n print(\"x = \" + str(x))\n\n sys.exit(0)\n\nThen you can run a test utility (if you have a local\n`repository `__ clone):\n\n.. code:: shell\n\n ~/cdm-flowparser/utils/run.py ~/my-file.py\n\nThe output will be the following:\n\n::\n\n Running control flow parser version: trunk\n Module location: /home/swift/cdm-flowparser/cdmcfparser.cpython-35m-x86_64-linux-gnu.so\n \n \n >\n SideComment: None\n LeadingCMLComments: n/a\n SideCMLComments: n/a\n >\n \n ElsePart: None\n >\n \n >\n\nPython 2 Installation and Building\n----------------------------------\n\n**Attention:** Python 2 version is not supported anymore. There will be\nno more Python 2 releases.\n\nThe latest Python 2 release is 1.0.1. Both pre-built modules and source\ncode are available in the releases area on github: `latest Python 2\nrelease\n1.0.1 `__.\n\nTo build a Python 2 module from sources please follow these steps:\n\n.. code:: shell\n\n cd\n wget https://github.com/SergeySatskiy/cdm-flowparser/archive/v1.0.1.tar.gz\n gunzip v1.0.1.tar.gz\n tar -xf v1.0.1.tar\n cd cdm-flowparser-1.0.1/\n make\n make localinstall\n make check\n\nPython 2: Visualizing Parsed Data\n---------------------------------\n\nSuppose there is the following file ~/my-file.py with the following\ncontent:\n\n.. code:: python\n\n #!/usr/bin/python\n import sys\n\n # I like comments\n a = 154\n for x in xrange( a ):\n print \"x = \" + str( x )\n\n sys.exit( 0 )\n\nThen you can run a test utility:\n\n.. code:: shell\n\n ~/cdm-flowparser/utils/run.py ~/my-file.py\n\nThe output will be the following:\n\n::\n\n Running control flow parser version: trunk\n \n \n >\n SideComment: None\n LeadingCMLComments: n/a\n SideCMLComments: n/a\n >\n \n ElsePart: None\n >\n \n >\n\nUnder the Hood\n--------------\n\nBasically the 'run.py' utility has the following essential lines for the\nexample above:\n\n.. code:: python\n\n from cdmcfparser import getControlFlowFromFile\n controlFlow = getControlFlowFromFile(\"my-file.py\")\n\n # Serializes nicely the controlFlow object\n # See the run.py for the details of how it is done\n\nThe run.py is available in a local clone at\n~/cdm-flowparser/utils/run.py or you can see the source code\n`online `__\n\nEssential Links\n---------------\n\n- `Codimension Python IDE `__ home page\n- `latest Python 2 release\n 1.0.1 `__\n- `Python 3 Pypi\n package `__\n page\n- `Visualization\n Technology `__\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/SergeySatskiy/cdm-flowparser", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "cdmcfparser", "package_url": "https://pypi.org/project/cdmcfparser/", "platform": "any", "project_url": "https://pypi.org/project/cdmcfparser/", "project_urls": { "Homepage": "https://github.com/SergeySatskiy/cdm-flowparser" }, "release_url": "https://pypi.org/project/cdmcfparser/2.2.2/", "requires_dist": null, "requires_python": "", "summary": "Python language control flow parser. Written as a part of the Codimension project, this parser aims at pulling all the necessery data to build a control flow diagram.", "version": "2.2.2" }, "last_serial": 5602756, "releases": { "2.0.0": [ { "comment_text": "", "digests": { "md5": "d0f6a2c7000a8d46054e8afab8bd2509", "sha256": "241491796c9e4a8dbd43d955d0f165b7dd9e2ff7cb0f29a373410e700ddf9551" }, "downloads": -1, "filename": "cdmcfparser-2.0.0.tar.gz", "has_sig": false, "md5_digest": "d0f6a2c7000a8d46054e8afab8bd2509", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110170, "upload_time": "2017-08-23T00:18:57", "url": "https://files.pythonhosted.org/packages/56/a7/e213de3b81d83b40c6b32f8e848029136337c1a6a9b37ba47692cb6bc926/cdmcfparser-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "5634806f71e321b00220186f612ff1cb", "sha256": "fb1b8173c10d6f906028653398de69dc67ca6108a0955d7b04dd500976aaf9c4" }, "downloads": -1, "filename": "cdmcfparser-2.0.1.tar.gz", "has_sig": false, "md5_digest": "5634806f71e321b00220186f612ff1cb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110405, "upload_time": "2017-10-28T02:39:59", "url": "https://files.pythonhosted.org/packages/6a/bb/64172e9a0adb527bfe35d8867a33e3eca488dcf6b9614bc86de30af241af/cdmcfparser-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "2aa9afcfdbe91fbed99c95bc91e37373", "sha256": "0c7b9225db760cf0a06954cea56a045e6feba1065658dd30650e19262e4ad68a" }, "downloads": -1, "filename": "cdmcfparser-2.0.2.tar.gz", "has_sig": false, "md5_digest": "2aa9afcfdbe91fbed99c95bc91e37373", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110521, "upload_time": "2017-11-18T01:35:41", "url": "https://files.pythonhosted.org/packages/9b/3e/d35eadf05ce93c84cfaa60eab63322bb8c033839e4a2c7426c65bbe79c0a/cdmcfparser-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "be07bc9738b478bb69dc24ef199d0364", "sha256": "fbe7a2a7795c2169b04f2b24479dfc3e2cfd04c59d694f76f20649723fac8307" }, "downloads": -1, "filename": "cdmcfparser-2.0.3.tar.gz", "has_sig": false, "md5_digest": "be07bc9738b478bb69dc24ef199d0364", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 110786, "upload_time": "2017-12-30T00:59:31", "url": "https://files.pythonhosted.org/packages/4c/7a/59df4b07e692dbcfd45c69d0b884e10d99b2e829e7c84a730f98308bfc45/cdmcfparser-2.0.3.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "ffabe22b39ff2b6153988b6991b3ae04", "sha256": "6097554b0f75013b4b08bce427b388d6959f9e6f86251b23d6ed9640eba7dd9a" }, "downloads": -1, "filename": "cdmcfparser-2.1.0.tar.gz", "has_sig": false, "md5_digest": "ffabe22b39ff2b6153988b6991b3ae04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 111754, "upload_time": "2018-01-10T02:07:26", "url": "https://files.pythonhosted.org/packages/75/f9/fdb78e6116eaeebc98c352ebad903272bef20c3784ae907600ea9d3de21c/cdmcfparser-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "b07318dc1960080fe10cd726fe8c9d36", "sha256": "22952a30cd8804a19e29e88742a53ee8d4a906694a04c0850464a15f7820b4ee" }, "downloads": -1, "filename": "cdmcfparser-2.1.1.tar.gz", "has_sig": false, "md5_digest": "b07318dc1960080fe10cd726fe8c9d36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 112225, "upload_time": "2018-02-01T03:26:56", "url": "https://files.pythonhosted.org/packages/43/66/386e1f80f6e6d990f1665a1f3950f999616ea17c68207e4e6f6d20b87d28/cdmcfparser-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "b2c3dade1a8cb413f7a60cfa55a8e0f1", "sha256": "3249c53b78414289374d087e9e3eef247b9f3d7e9cb4ca2878752354a1c74ba4" }, "downloads": -1, "filename": "cdmcfparser-2.1.2.tar.gz", "has_sig": false, "md5_digest": "b2c3dade1a8cb413f7a60cfa55a8e0f1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 112298, "upload_time": "2018-02-07T03:21:14", "url": "https://files.pythonhosted.org/packages/5c/01/40088a7558508bcb932b110949954e4e6f6577ab90ce987939e84597f9af/cdmcfparser-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "e2bb641e040f24abc1e9302d603807ac", "sha256": "9fd395b8e533bb13b8739738d2f826fe1c19b89e848cba354048233b1096bba4" }, "downloads": -1, "filename": "cdmcfparser-2.1.3.tar.gz", "has_sig": false, "md5_digest": "e2bb641e040f24abc1e9302d603807ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 112648, "upload_time": "2018-05-08T02:41:25", "url": "https://files.pythonhosted.org/packages/b0/34/78ff9bfccff8b92361a7d1921a5fab68e21d3628a68c4688be80c4959b5a/cdmcfparser-2.1.3.tar.gz" } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "146495ff3dc29411c92c454170c96bd2", "sha256": "582c2bc22bc760d7e75139a2f3d276b1cfa35542ab26856807ab0db4859ba150" }, "downloads": -1, "filename": "cdmcfparser-2.1.4.tar.gz", "has_sig": false, "md5_digest": "146495ff3dc29411c92c454170c96bd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 112835, "upload_time": "2018-05-17T02:51:56", "url": "https://files.pythonhosted.org/packages/8d/6f/5598a7f833aebf11167f938f0a04608f3bcc39cc4d155045f0a8e0781072/cdmcfparser-2.1.4.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "693b4994223936ef41ff34468afe8a7c", "sha256": "61c7cdf4fe523d4ff2e2a2f4c5f07253e3a495e55b508eca902ce139f8593c55" }, "downloads": -1, "filename": "cdmcfparser-2.2.0.tar.gz", "has_sig": false, "md5_digest": "693b4994223936ef41ff34468afe8a7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 114567, "upload_time": "2019-04-25T22:58:31", "url": "https://files.pythonhosted.org/packages/c0/cd/a428fef10802b7a4c1945dedc993583efa70b70e309d284a7069d63a1dfd/cdmcfparser-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "50c3a81cf0df1a3cbbb3b940251a337a", "sha256": "606f60cd39b10f677e180bc207937dca22bb9208c3481874db1844bc7f56a4cc" }, "downloads": -1, "filename": "cdmcfparser-2.2.1.tar.gz", "has_sig": false, "md5_digest": "50c3a81cf0df1a3cbbb3b940251a337a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 114679, "upload_time": "2019-06-19T00:08:29", "url": "https://files.pythonhosted.org/packages/6b/1e/4f4ba3ce62bfbe22af00196f5fb34cc365e97ba695ce2544e5f9dbdf9fc9/cdmcfparser-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "5d4ab384a446ab3b6f2b42319442ad5d", "sha256": "22331a4fa12f99787c329e6891ed37db6a42934c8a306c3e3db3a3bddf6f51e3" }, "downloads": -1, "filename": "cdmcfparser-2.2.2.tar.gz", "has_sig": false, "md5_digest": "5d4ab384a446ab3b6f2b42319442ad5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 115178, "upload_time": "2019-07-30T01:23:18", "url": "https://files.pythonhosted.org/packages/23/db/6c4252416869430db2b32bb178f88505de7a099399c141ec00f74e701da8/cdmcfparser-2.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5d4ab384a446ab3b6f2b42319442ad5d", "sha256": "22331a4fa12f99787c329e6891ed37db6a42934c8a306c3e3db3a3bddf6f51e3" }, "downloads": -1, "filename": "cdmcfparser-2.2.2.tar.gz", "has_sig": false, "md5_digest": "5d4ab384a446ab3b6f2b42319442ad5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 115178, "upload_time": "2019-07-30T01:23:18", "url": "https://files.pythonhosted.org/packages/23/db/6c4252416869430db2b32bb178f88505de7a099399c141ec00f74e701da8/cdmcfparser-2.2.2.tar.gz" } ] }