{ "info": { "author": "Wolfgang Schnerring ", "author_email": "wosc@wosc.de", "bugtrack_url": null, "classifiers": [], "description": "====================\nws.dependencychecker\n====================\n\nThis package provides a ``dependencychecker`` script that checks whether an egg\ndeclares all packages it imports in its setup.py.\n\n.. contents:: :depth: 1\n\nUsage\n=====\n\n::\n\n dependencychecker [-h] [-v] [-z] package\n\n Checks whether imported packages are declared in setup.py.\n\n positional arguments:\n package setuptools `requirement string`_,\n e.g. ws.dependencychecker or ws.dependencychecker[test]\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --verbose Print all lines importing missing packages\n -z, --zcml Scan ZCML files\n -m , --mapping Filename with additional egg-->packages mappings\n\nSupported Python versions: 2.6, 2.7\n(3.x is not supported because some dependencies are not ported yet, e.g.\nzope.component).\n\nAlthough ``dependencychecker`` does not import any files, it needs the package\nand its dependencies to be on the ``PYTHONPATH`` so they are accessible via\n``pkg_resources.working_set``.\n\nBy default, ``dependencychecker`` prints a list of undeclared package names,\nformatted ready for copy&paste into your setup.py's ``install_requires`` list,\nlike this::\n\n $ depcheck ws.dependencychecker\n 'gocept.testing.mock',\n\nIf you want more details, use the verbose mode (pass ``-v``)::\n\n $ depcheck ws.dependencychecker -v\n /home/wosc/depcheck/src/ws/dependencychecker/tests/test_check.py:4:import gocept.testing.mock\n\nTo use ws.dependencychecker within a buildout, use a snippet like this, for\nexample::\n\n [depcheck]\n recipe = zc.recipe.egg\n eggs =\n ${test:eggs}\n ws.dependencychecker\n\n.. _`requirement string`: http://peak.telecommunity.com/DevCenter/PkgResources#requirements-parsing\n\n\nEggs that contain several packages\n==================================\n\nWith most eggs, the egg name and the provided package name is the same (e.g.\ndepending on the ``zope.interface`` egg will enable you to import\n``zope.interface``, but nothing else). Some eggs, however, contain more than\none package, and/or packages with different names (e.g. the ``ZODB3`` egg\ncontains the packages ``ZODB``, ``BTrees``, and ``persistent``).\n\n``ws.dependencychecker`` has a few heuristics built-in (ZODB, setuptools) to\ndeal with that, but when that's not enough for your project, you can pass in a\nmapping file of the following format::\n\n [egg_name]\n package1\n package2\n\nSo in the ZODB example (which is actually built-in), that looks like::\n\n [ZODB3]\n ZODB\n BTrees\n persistent\n\nYou don't need to repeat the egg name itself, so in the case of ``setuptools``\n(which also contains ``pkg_resources``), that looks like::\n\n [setuptools]\n pkg_resources\n\n\nKnown limitations\n=================\n\n* Only recognizes modules of the standard library for Python 2.7 at the moment.\n\n* The built-in mappings for eggs that include several or differently named\n packages are quite limited. Suggestions welcome!\n\n* Does not recognize multiple packages imported on a single line\n (``import foo, bar`` will only pick up ``foo``),\n but this spelling is frowned upon by `PEP 8`_, anyway.\n\n* Wrongly recognizes includes within multiline comments in ZCML.\n\n* Does not support scanning zipped eggs.\n\n\n.. _`PEP 8`: http://www.python.org/dev/peps/pep-0008/\n\n\nRelated packages\n================\n\n- `importchecker`_ finds import statements that are not used in the code.\n\n.. _`importchecker`: http://pypi.python.org/pypi/importchecker\n\nDevelopment\n===========\n\nThe source code is available in the mercurial repository at\nhttp://code.wosc.de/hg/public/ws.dependencychecker.\n\nPlease report any bugs you find to `Wolfgang Schnerring`_.\n\n.. _`Wolfgang Schnerring`: mailto:wosc@wosc.de\n\n\nChangelog\n=========\n\n1.1.1 (2011-12-15)\n------------------\n\n- Made compatible with Python-2.6\n\n\n1.1 (2011-12-09)\n----------------\n\n- Consolidate package names into egg names\n (e.g. zope.traversing.foo --> zope.traversing)\n- Allow specifying additional egg-->package mappings.\n- Support scanning of ZCML files.\n- Change default output to grouped mode ready for copy&paste;\n add verbose mode.\n\n\n1.0 (2011-12-06)\n----------------\n\n- first release.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://code.wosc.de/hg/public/ws.dependencychecker", "keywords": null, "license": "ZPL", "maintainer": null, "maintainer_email": null, "name": "ws.dependencychecker", "package_url": "https://pypi.org/project/ws.dependencychecker/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/ws.dependencychecker/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://code.wosc.de/hg/public/ws.dependencychecker" }, "release_url": "https://pypi.org/project/ws.dependencychecker/1.1.1/", "requires_dist": null, "requires_python": null, "summary": "Checks whether imported packages are declared in setup.py", "version": "1.1.1" }, "last_serial": 801735, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "10b5c05e9ee268eef954daccb1dcc276", "sha256": "f6421d550bc10b8fc95ed662e3ca32f8da8eb7f156cac7ea2d5c69ecad0ed08e" }, "downloads": -1, "filename": "ws.dependencychecker-1.0.tar.gz", "has_sig": false, "md5_digest": "10b5c05e9ee268eef954daccb1dcc276", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7158, "upload_time": "2011-12-06T21:25:13", "url": "https://files.pythonhosted.org/packages/53/ae/fba892bd17a1cbd23b4a992f8658dc6acf0d662cb4fbef194365a6131c4c/ws.dependencychecker-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "673e1b1a4aaa71297827f4bd4291e14b", "sha256": "dceffd8a7680f00b3317d734e36c63c66b0a31eb6ae77b8890f72751c7533aa1" }, "downloads": -1, "filename": "ws.dependencychecker-1.1.tar.gz", "has_sig": false, "md5_digest": "673e1b1a4aaa71297827f4bd4291e14b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12458, "upload_time": "2011-12-09T18:41:44", "url": "https://files.pythonhosted.org/packages/34/2a/2e88a090f602e5e27dc9925694942b6aeb0fcaec9e8a830fa74a67841f0c/ws.dependencychecker-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "0f571a46185289aec9c06225646c34ab", "sha256": "e7e922e85e57da9eaef07c1187709031725bb1d978f4a7c1c971d5255e7bafff" }, "downloads": -1, "filename": "ws.dependencychecker-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0f571a46185289aec9c06225646c34ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10951, "upload_time": "2011-12-15T12:31:51", "url": "https://files.pythonhosted.org/packages/14/71/ed31eb1f14133ed279ea93ad3a4b8a7d969bc1ebe950950fa0a868d587b8/ws.dependencychecker-1.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0f571a46185289aec9c06225646c34ab", "sha256": "e7e922e85e57da9eaef07c1187709031725bb1d978f4a7c1c971d5255e7bafff" }, "downloads": -1, "filename": "ws.dependencychecker-1.1.1.tar.gz", "has_sig": false, "md5_digest": "0f571a46185289aec9c06225646c34ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10951, "upload_time": "2011-12-15T12:31:51", "url": "https://files.pythonhosted.org/packages/14/71/ed31eb1f14133ed279ea93ad3a4b8a7d969bc1ebe950950fa0a868d587b8/ws.dependencychecker-1.1.1.tar.gz" } ] }