{ "info": { "author": "Arkadiusz Bokowy", "author_email": "arkadiusz.bokowy@gmail.com", "bugtrack_url": null, "classifiers": [ "Framework :: Flake8", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Quality Assurance" ], "description": "Package requirements checker\n============================\n\nThis module provides a plug-in for `flake8 `_, which checks/validates\npackage import requirements. It reports missing and/or not used project direct dependencies.\n\nThis plug-in adds new flake8 warnings:\n\n- ``I900``: Package is not listed as a requirement.\n- ``I901``: Package is require but not used.\n\nImportant notice\n----------------\n\nIn order to collect project's dependencies, this checker evaluates Python code from the\n``setup.py`` file stored in the project's root directory. Code evaluation is done with the\n`eval() `_ function. As a fall-back\nmethod, this checker also tries to load dependencies from the ``requirements.txt`` file.\n\nAt this point it is very important to be aware of the consequences of the above approach. One\nmight inject malicious code into the ``setup.py`` file, which will be executed by this checker.\nHence, this checker shall NEVER be use to check code from an unknown source! However, in most\ncases, one validates code from a known source (e.g. own code) and one will run script stored in\nthe ``setup.py`` file anyway. The worst case scenario is, that this checker will execute the\nequivalent of the ``python setup.py``, which shall be idempotent (it's a horribly designed\n``setup.py`` file if it's not).\n\nIf you have noticed some side effects during the ``flake8`` check and your ``setup.py`` file is\nwritten in a standard way (e.g. `pypa-sampleproject\n`_), please fill out a bug report.\n\nInstallation\n------------\n\nYou can install, upgrade, or uninstall ``flake8-requirements`` with these commands::\n\n $ pip install flake8-requirements\n $ pip install --upgrade flake8-requirements\n $ pip uninstall flake8-requirements\n\nCustomization\n-------------\n\nFor projects with custom (private) dependencies, one can provide mapping between project name and\nprovided modules. Such a mapping can be set on the command line during the flake8 invocation with\nthe ``--known-modules`` option or alternatively in the ``[flake8]`` section of the configuration\nfile, e.g. ``setup.cfg``. The syntax of the custom mapping looks like follows::\n\n 1st-project-name:[module1,module2,...],2nd-project-name:[moduleA,moduleB,...],...\n\nIf some local project lacks \"name\" attribute in the ``setup.py`` file (it is highly discouraged\nnot to provide the \"name\" attribute, though), one can omit the project name in the mapping and do\nas follows::\n\n :[localmodule1,localmodule2,...],1st-local-library:[moduleA,moduleB,...],...\n\nReal life example::\n\n $ cat setup.cfg\n [flake8]\n max-line-length = 100\n known-modules = my-lib:[mylib.drm,mylib.encryption]\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/Arkq/flake8-requirements", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "flake8-requirements", "package_url": "https://pypi.org/project/flake8-requirements/", "platform": "", "project_url": "https://pypi.org/project/flake8-requirements/", "project_urls": { "Homepage": "https://github.com/Arkq/flake8-requirements" }, "release_url": "https://pypi.org/project/flake8-requirements/1.1.2/", "requires_dist": [ "flake8 (>=2.0.0)", "setuptools" ], "requires_python": "", "summary": "Package requirements checker, plugin for flake8", "version": "1.1.2" }, "last_serial": 5527769, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "67687bc5e3483b59f2d99245cd4c2419", "sha256": "af8de10acf94e2feaceffa1ede0adc4b3800c8519737f4e3b145515f837749c4" }, "downloads": -1, "filename": "flake8_requirements-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "67687bc5e3483b59f2d99245cd4c2419", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10275, "upload_time": "2017-11-30T08:09:14", "url": "https://files.pythonhosted.org/packages/bd/6a/226df7ad1b26e05e70328b9afdd7935d55f148a61161c66ff6851b82d44d/flake8_requirements-1.0.0-py2.py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "d37b20eb643002c8844bb2112d19ca11", "sha256": "f06b8042de976d69ef8125e3da4afc0bbc1039e975daac9b5d2729c9331051f3" }, "downloads": -1, "filename": "flake8_requirements-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d37b20eb643002c8844bb2112d19ca11", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 10631, "upload_time": "2018-01-23T15:49:38", "url": "https://files.pythonhosted.org/packages/8a/ad/59f4208b87537ead58f56346b8a70ef7c8b1234c084f298330ef7e19de38/flake8_requirements-1.1.0-py2.py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "9909fb2663c9a4f9235d30402bcd2543", "sha256": "ebd7e55a1af82b08c4edd0bf0a3d5410c4b9f34843aa103e751c0fce0aed257f" }, "downloads": -1, "filename": "flake8_requirements-1.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9909fb2663c9a4f9235d30402bcd2543", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10699, "upload_time": "2018-01-30T16:55:02", "url": "https://files.pythonhosted.org/packages/b3/04/f86a82326643af2cad037073bc417523c759b3bd2ee9d6450bcfdfdcff55/flake8_requirements-1.1.1-py2.py3-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "53c561e6b6b04b7259993a5e3e3943a7", "sha256": "6ca05efc4dfcce8fdc0748e623fbd15a56410dc3e418388efe333d785e988df9" }, "downloads": -1, "filename": "flake8_requirements-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53c561e6b6b04b7259993a5e3e3943a7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11453, "upload_time": "2019-07-13T20:13:07", "url": "https://files.pythonhosted.org/packages/33/c2/028dce26ee00694f84c4907808bfa391b294abfe2db348fe4b371590704b/flake8_requirements-1.1.2-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "53c561e6b6b04b7259993a5e3e3943a7", "sha256": "6ca05efc4dfcce8fdc0748e623fbd15a56410dc3e418388efe333d785e988df9" }, "downloads": -1, "filename": "flake8_requirements-1.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "53c561e6b6b04b7259993a5e3e3943a7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11453, "upload_time": "2019-07-13T20:13:07", "url": "https://files.pythonhosted.org/packages/33/c2/028dce26ee00694f84c4907808bfa391b294abfe2db348fe4b371590704b/flake8_requirements-1.1.2-py2.py3-none-any.whl" } ] }