{ "info": { "author": "Fridolin Pokorny", "author_email": "fridex.devel@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development" ], "description": "Invectio\n--------\n\nA simple tool to gather library calls and attribute usage based on static\nanalysis of sources of Python applications.\n\n\nInstallation\n============\n\nInvectio can be installed from `PyPI `_ using:\n\n.. code-block:: console\n\n $ pip3 install invectio\n $ invectio --help\n\n\nUsage\n=====\n\nYou can use this library as a CLI tool or as a Python module:\n\n.. code-block:: console\n\n invectio project-dir/ # To scan all Python files recursively.\n invectio app.py # To perform usage gathering just on app.py file.\n\n\n.. code-block:: python\n\n from invectio import gather_library_calls\n\n # To scan all Python files recursively.\n result: dict = gather_library_usage(\"project-dir\")\n\n # To perform usage gathering just on app.py file.\n result: dict = gather_library_usage(\"app.py\")\n\n\nLimitations\n###########\n\nAs Python is a dynamic programming language, it's not possible to obtain all\nlibrary functions/attributes usage simply by performing static analysis of\nsources. One can still perfom \"crazy\" things like:\n\n\n.. code-block:: python\n\n import tensorflow\n\n getattr(tensorflow, \"const\" + \"ant\")(\"Hello, Invectio\")\n\n\nThis library does its best to detect all function/attributes being used inside\nPython sources, but usage like shown above cannot be detected simply by static\nanalysis of source code.\n\n\nDevelopment\n===========\n\nTo create a dev environment, clone the invectio repo and install all the dependencies:\n\n.. code-block:: console\n\n git clone https:://github.com/thoth-station/invectio && cd invectio\n pipenv install --dev\n\nTo perform checks against unit tests present in the `tests/` directory,\nissue the following command from the root of the git repo:\n\n.. code-block:: console\n\n pipenv run python3 setup.py test\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/thoth-station/invectio", "keywords": "ast source code analysis thoth library", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "invectio", "package_url": "https://pypi.org/project/invectio/", "platform": "", "project_url": "https://pypi.org/project/invectio/", "project_urls": { "Homepage": "https://github.com/thoth-station/invectio" }, "release_url": "https://pypi.org/project/invectio/0.0.7/", "requires_dist": [ "click", "daiquiri", "attrs" ], "requires_python": "", "summary": "Statically analyze sources and extract information about called library functions in Python applications", "version": "0.0.7" }, "last_serial": 5644359, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "29b05a011ee4c803a312eb9c1fb5547a", "sha256": "e7818962b532afa49bd8cbc1d6402b8240846360c43bff924d74359440c732ed" }, "downloads": -1, "filename": "invectio-0.0.1.tar.gz", "has_sig": false, "md5_digest": "29b05a011ee4c803a312eb9c1fb5547a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16850, "upload_time": "2019-05-06T22:35:31", "url": "https://files.pythonhosted.org/packages/f9/69/485b67b974d2aa002e2555e3d9313a59beae5760dbbb99bd4a9afee10611/invectio-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "18ece5b2d79f6db8a66418355f7fefaf", "sha256": "de052bd23224c6ad8470103b9db7fb5a5944ba4e0e537efb4d6b1637a644f1e7" }, "downloads": -1, "filename": "invectio-0.0.2.tar.gz", "has_sig": false, "md5_digest": "18ece5b2d79f6db8a66418355f7fefaf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16987, "upload_time": "2019-05-08T23:30:52", "url": "https://files.pythonhosted.org/packages/fb/04/fe37216069ffd7328b90a2b751da3dad48514b1bc85b74e02aab394180e5/invectio-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "b36ec4c38d050f98637afa6fef16f9e5", "sha256": "a21e591ebba63e27959ae6491b787e6567554db318e785f8ecd65c23465c323d" }, "downloads": -1, "filename": "invectio-0.0.3.tar.gz", "has_sig": false, "md5_digest": "b36ec4c38d050f98637afa6fef16f9e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17179, "upload_time": "2019-06-14T10:23:35", "url": "https://files.pythonhosted.org/packages/d8/0c/16b20d78d1c5035833bbb9d8ab6ae7d2152b55d49a7abc14750d30fdfc95/invectio-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "0e883c61fc52177e4acd6e6f0e1d0d90", "sha256": "185b0cdcdb96e122835be1a6bb0ec27afb949ae191eec2587c04d57c952c8bfc" }, "downloads": -1, "filename": "invectio-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "0e883c61fc52177e4acd6e6f0e1d0d90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8379, "upload_time": "2019-07-17T14:18:11", "url": "https://files.pythonhosted.org/packages/f2/51/5d6bd704425da1e7f24682a1d119bddf273e30869bb1e28b65a3ee92ed7b/invectio-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b69928532eea6071ff24b03d66e7a74", "sha256": "72f9377759ed62f816621a8e060c1b7f19f02bddb5afea86b75cb4123ad1791e" }, "downloads": -1, "filename": "invectio-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7b69928532eea6071ff24b03d66e7a74", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5336, "upload_time": "2019-07-17T14:18:13", "url": "https://files.pythonhosted.org/packages/76/c1/046b1723ba69cacdb7f89371afdbef76d1b4db659f6436a28d6eb257d6a1/invectio-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "96cd1f98a7cd69d54fa8ce78a0ecae2e", "sha256": "92062571cc85c42fd99d52ccd19c9502bfd1ff45f21d4e71b496786346235e66" }, "downloads": -1, "filename": "invectio-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "96cd1f98a7cd69d54fa8ce78a0ecae2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8417, "upload_time": "2019-07-22T20:22:51", "url": "https://files.pythonhosted.org/packages/4f/a6/3357c4231154a9231fdfa1e99b44ac3080c309beb9d984146d59359c8e18/invectio-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c22b1acd554bb848670397021c03dba2", "sha256": "ddef94947d0082f4e7904584863e571b82a1892efb43b3b5961a21215b282fed" }, "downloads": -1, "filename": "invectio-0.0.5.tar.gz", "has_sig": false, "md5_digest": "c22b1acd554bb848670397021c03dba2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5356, "upload_time": "2019-07-22T20:22:54", "url": "https://files.pythonhosted.org/packages/37/8d/9900e447427f721bf68e28016a76a9dd4d5681055f85b12ce985a052282e/invectio-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "b62b0f1bf36bec01d6896de9ffe4ccc8", "sha256": "09285cc9ec88c7bc92212ae2dc5bf309805126324846df3c244c21d5505c426e" }, "downloads": -1, "filename": "invectio-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "b62b0f1bf36bec01d6896de9ffe4ccc8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8765, "upload_time": "2019-08-06T13:10:31", "url": "https://files.pythonhosted.org/packages/86/d2/8c7cc5d8b68a6334c9e95099caef78c894cd3857353cc6089cb664c5eebb/invectio-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "56a48bef2e5601525f30e320b40e957c", "sha256": "c0aec0386cf1d0a9af4f76ad6c0a451106db6343aac4473e9640ff23e8f805dc" }, "downloads": -1, "filename": "invectio-0.0.6.tar.gz", "has_sig": false, "md5_digest": "56a48bef2e5601525f30e320b40e957c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5669, "upload_time": "2019-08-06T13:10:34", "url": "https://files.pythonhosted.org/packages/fb/bf/0e51e97f904848799fbb432cde90a30554737b311f7ac13dfeb2e650dbf3/invectio-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "32778f9e5512c45698ada52882e5b57c", "sha256": "f7e6934cdb6d45de99ef7a4e3f839b079a9549740d68efc5fe7a4bf56439f553" }, "downloads": -1, "filename": "invectio-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "32778f9e5512c45698ada52882e5b57c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8858, "upload_time": "2019-08-07T10:50:05", "url": "https://files.pythonhosted.org/packages/1e/1f/c4c9e65b9d29d063c25761d229b7fffdf376ba99825d31edf4dcbca83344/invectio-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80008e54b43f31c12e82f735e96778f6", "sha256": "23131d513a6072a8443e81129cfeb186d679ab903bffe2d8c4a03d341e6448da" }, "downloads": -1, "filename": "invectio-0.0.7.tar.gz", "has_sig": false, "md5_digest": "80008e54b43f31c12e82f735e96778f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5740, "upload_time": "2019-08-07T10:50:07", "url": "https://files.pythonhosted.org/packages/c7/01/77408c823bb92d43722b881fe947caf153f6899a5c621ce47660a241012a/invectio-0.0.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "32778f9e5512c45698ada52882e5b57c", "sha256": "f7e6934cdb6d45de99ef7a4e3f839b079a9549740d68efc5fe7a4bf56439f553" }, "downloads": -1, "filename": "invectio-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "32778f9e5512c45698ada52882e5b57c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8858, "upload_time": "2019-08-07T10:50:05", "url": "https://files.pythonhosted.org/packages/1e/1f/c4c9e65b9d29d063c25761d229b7fffdf376ba99825d31edf4dcbca83344/invectio-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80008e54b43f31c12e82f735e96778f6", "sha256": "23131d513a6072a8443e81129cfeb186d679ab903bffe2d8c4a03d341e6448da" }, "downloads": -1, "filename": "invectio-0.0.7.tar.gz", "has_sig": false, "md5_digest": "80008e54b43f31c12e82f735e96778f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5740, "upload_time": "2019-08-07T10:50:07", "url": "https://files.pythonhosted.org/packages/c7/01/77408c823bb92d43722b881fe947caf153f6899a5c621ce47660a241012a/invectio-0.0.7.tar.gz" } ] }