{ "info": { "author": "Jakub Wilk", "author_email": "jwilk@jwilk.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Software Development :: Quality Assurance" ], "description": "\nOverview\n========\n\n**pydiatra** is yet another static checker for Python code.\n\nImplemented checks\n==================\n\n* embedded code copies\n\n* ``except`` shadowing builtins\n (e.g. ``except IOError, OSError:``, which overwrites ``OSError``)\n\n* bare ``except``\n (i.e. ``except:``)\n\n* hardcoded errno values\n (e.g. ``exc.errno == 2`` instead of ``exc.errno == errno.ENOENT``)\n\n* inconsistent use of tabs and spaces in indentation\n\n* ``mkstemp()`` file descriptor leaks\n (e.g. ``path = tempfile.mkstemp()[1]``)\n\n* obsolete PIL imports\n (e.g. ``import Image`` instead of ``from PIL import Image``)\n\n* regular expression syntax errors\n\n* misplaced flags arguments in\n ``re.split()``, ``re.sub()``, ``re.subn()``\n\n* dubious or deprecated constructs in regular expressions:\n\n * duplicate range\n (e.g. ``re.compile(\"[aa]\")``)\n\n * overlapping ranges\n (e.g. ``re.compile(\"[a-zA-z]\")``)\n\n * bad escape sequences\n (e.g. ``re.compile(r\"\\eggs\")``)\n\n * misplaced inline flags\n (e.g. ``re.compile(\"eggs(?i)\")``; Python 3.6+ only)\n\n * combining incompatible flags\n\n * redundant flags\n\n* string exceptions\n (e.g. ``raise \"eggs\"`` or ``except \"ham\":``)\n\n* string formatting errors\n\n* comparisons with ``sys.version`` or ``sys.hexversion``\n\n* Python syntax errors\n\n* Python syntax warnings\n\n * assertions that are always true\n\n * syntactic constructs that are no longer supported in Python 3\n\n * ill-formed assignments to global variables\n\n * use of ``async`` and ``await`` as names\n\n * invalid escape sequences in strings\n (Python 3.6+ only)\n\nSee the manual page for details.\n\nPrerequisites\n=============\n\n* Python 2.6+ or 3.2+\n* argparse_ (needed only for Python 2.6)\n* futures_ (needed only for Python 2.X)\n\n.. _argparse:\n https://pypi.org/project/argparse/\n\n.. _futures:\n https://pypi.org/project/futures/\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://jwilk.net/software/pydiatra", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pydiatra", "package_url": "https://pypi.org/project/pydiatra/", "platform": "", "project_url": "https://pypi.org/project/pydiatra/", "project_urls": { "Homepage": "http://jwilk.net/software/pydiatra" }, "release_url": "https://pypi.org/project/pydiatra/0.12.5/", "requires_dist": null, "requires_python": "", "summary": "yet another static checker for Python code", "version": "0.12.5" }, "last_serial": 4854809, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "3387e77dee7c50a35ade1ba0c14d0a78", "sha256": "bf9b9595b9d7405d1c593ffd06ac80fa2960d93349bd97f9ed9b950cbab5a95c" }, "downloads": -1, "filename": "pydiatra-0.1.tar.gz", "has_sig": true, "md5_digest": "3387e77dee7c50a35ade1ba0c14d0a78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18129, "upload_time": "2016-05-23T17:24:29", "url": "https://files.pythonhosted.org/packages/70/6e/fe29db30453683a24e208e1ab3ebf84057fbde701c9a882609a6ebd8f1f3/pydiatra-0.1.tar.gz" } ], "0.10": [ { "comment_text": "", "digests": { "md5": "66e17ad21f25362f952292a650d77705", "sha256": "bfae6d501f6cc0f5c23388b30d1a490fbacf86cfe25d535bb01a1129502ecf62" }, "downloads": -1, "filename": "pydiatra-0.10.tar.gz", "has_sig": true, "md5_digest": "66e17ad21f25362f952292a650d77705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40379, "upload_time": "2017-04-27T11:05:09", "url": "https://files.pythonhosted.org/packages/51/21/6cc67f2f1b624158181d5fc50067eec7f762c16d4d6523ac17780808df7d/pydiatra-0.10.tar.gz" } ], "0.11": [ { "comment_text": "", "digests": { "md5": "527a9f90277d8fd761d8238910f3583e", "sha256": "4ab12dca484e6715e1aa10fca93417365a494b44f2d8e91aa1aba32217ce088e" }, "downloads": -1, "filename": "pydiatra-0.11.tar.gz", "has_sig": true, "md5_digest": "527a9f90277d8fd761d8238910f3583e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42796, "upload_time": "2017-05-17T08:55:28", "url": "https://files.pythonhosted.org/packages/b3/ba/05b2a7edeed6c1522de62a1d1a91cad401e0d9b528608ba7e1c5d73159ec/pydiatra-0.11.tar.gz" } ], "0.11.1": [ { "comment_text": "", "digests": { "md5": "d969a3f94a6a8d4cd5bf749928b6b087", "sha256": "faa3956559a913bdbd3f43a25c0e8e5bc3ce1a4163434bc745c0ec348356a309" }, "downloads": -1, "filename": "pydiatra-0.11.1.tar.gz", "has_sig": true, "md5_digest": "d969a3f94a6a8d4cd5bf749928b6b087", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 42905, "upload_time": "2017-06-02T20:39:50", "url": "https://files.pythonhosted.org/packages/f7/9e/ea2000a48c4b8b8007722667d5fbcb41eb67a9dc99d07408bee6393b733f/pydiatra-0.11.1.tar.gz" } ], "0.11.2": [ { "comment_text": "", "digests": { "md5": "5863750015035ef1f499efd64fd485c1", "sha256": "b8efa0797f8013c3451fa46e99e9a137a1bffc7d6c86935990c8a0921af05407" }, "downloads": -1, "filename": "pydiatra-0.11.2.tar.gz", "has_sig": true, "md5_digest": "5863750015035ef1f499efd64fd485c1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43185, "upload_time": "2017-08-26T17:37:45", "url": "https://files.pythonhosted.org/packages/84/54/1d362bd78b8d067fdad108fd60b42b7c941549c98de509187b5ebc2d9514/pydiatra-0.11.2.tar.gz" } ], "0.12": [ { "comment_text": "", "digests": { "md5": "21d3a49a9ca88f66843bf623fc1e1f90", "sha256": "57da474eb032f02291d88e316be06e42bd865f7fdb88c99589f339ce440b35d7" }, "downloads": -1, "filename": "pydiatra-0.12.tar.gz", "has_sig": true, "md5_digest": "21d3a49a9ca88f66843bf623fc1e1f90", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 43963, "upload_time": "2018-02-16T12:25:12", "url": "https://files.pythonhosted.org/packages/51/d6/3ba3d3da0b310084872380730182d0e7207fd6aa8a70e3b4fe97364c5e36/pydiatra-0.12.tar.gz" } ], "0.12.1": [ { "comment_text": "", "digests": { "md5": "1c738611c8cc588907e3961139da7f3c", "sha256": "a825106c94fb81f3fb43f8c2eb8815f2f1b7ef2991f580b081b7f93e1b986f8b" }, "downloads": -1, "filename": "pydiatra-0.12.1.tar.gz", "has_sig": true, "md5_digest": "1c738611c8cc588907e3961139da7f3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44109, "upload_time": "2018-02-27T21:45:25", "url": "https://files.pythonhosted.org/packages/8f/f4/d66ed403c6b35b19021e04634dac37b8fb2641a180df6f3881ee774adf31/pydiatra-0.12.1.tar.gz" } ], "0.12.2": [ { "comment_text": "", "digests": { "md5": "7613c98550ecd28893fd12e389393a46", "sha256": "c5b0149dc746621f1ab3c3df2243a92783bf148733bb7ed7eb7acfad4382c610" }, "downloads": -1, "filename": "pydiatra-0.12.2.tar.gz", "has_sig": true, "md5_digest": "7613c98550ecd28893fd12e389393a46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44382, "upload_time": "2018-05-16T16:33:19", "url": "https://files.pythonhosted.org/packages/65/ae/232b72366940a43e722a256d003c40ef0b027bec7ecddf00cf9095de442a/pydiatra-0.12.2.tar.gz" } ], "0.12.3": [ { "comment_text": "", "digests": { "md5": "66576eb5dd765cb578bd68f94bf5a339", "sha256": "599f01ec312903cc248945dec5f0ae9a1a90eb453d0fa47d2ab607636767ace1" }, "downloads": -1, "filename": "pydiatra-0.12.3.tar.gz", "has_sig": true, "md5_digest": "66576eb5dd765cb578bd68f94bf5a339", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44880, "upload_time": "2018-05-30T09:56:43", "url": "https://files.pythonhosted.org/packages/5c/55/6bd5d4f04b057ecbcd0d2f53c66fcb14d7cd0a80c2bb7b6d4ab69220957c/pydiatra-0.12.3.tar.gz" } ], "0.12.4": [ { "comment_text": "", "digests": { "md5": "d215b2c3b41d8b08768c3b98ba35c261", "sha256": "8d8785735f8a9b7c38e5a33355e0af1fb7390d1f4ac1782827b09f83d3b8ec9e" }, "downloads": -1, "filename": "pydiatra-0.12.4.tar.gz", "has_sig": true, "md5_digest": "d215b2c3b41d8b08768c3b98ba35c261", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44755, "upload_time": "2018-09-19T17:02:28", "url": "https://files.pythonhosted.org/packages/50/d1/73faa55929e53bd73e9684184cc048274144d5299a5cd2b36b49702d2e9b/pydiatra-0.12.4.tar.gz" } ], "0.12.5": [ { "comment_text": "", "digests": { "md5": "427225415de97a2b99b8cba93494904f", "sha256": "0d9a7de7f3986896a6b3c1abf890ea25aefa535edb8a54bbd377b41911d03afa" }, "downloads": -1, "filename": "pydiatra-0.12.5.tar.gz", "has_sig": true, "md5_digest": "427225415de97a2b99b8cba93494904f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45060, "upload_time": "2019-02-22T15:06:53", "url": "https://files.pythonhosted.org/packages/43/83/5717f46f837ebc40414f6f0342534c9ddf9c9abd0455ab708cb93b021d76/pydiatra-0.12.5.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "3839fe5a0e47f95f9f0d01d5244397d0", "sha256": "41b56930367ff59780be30a9bc53da3cf2cba84760364da4a827caaabfcc5d9d" }, "downloads": -1, "filename": "pydiatra-0.2.tar.gz", "has_sig": true, "md5_digest": "3839fe5a0e47f95f9f0d01d5244397d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18482, "upload_time": "2016-06-17T20:36:15", "url": "https://files.pythonhosted.org/packages/c8/a8/4baddaabe5ee71e370a0c3f00c45f0fe228086cd447c26cc2825624450eb/pydiatra-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ae93c5d948c5a976d49ccaaecf6a62b4", "sha256": "93157713319f39933f433475d15d7958060085babc476eb757265237c2c9f346" }, "downloads": -1, "filename": "pydiatra-0.2.1.tar.gz", "has_sig": true, "md5_digest": "ae93c5d948c5a976d49ccaaecf6a62b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25744, "upload_time": "2016-07-22T15:13:50", "url": "https://files.pythonhosted.org/packages/83/5a/cda682eddfaa308b71750768ba138313db40cdde8406eb55f1f34cd4dd95/pydiatra-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "874e34b099dc683830531de7ea9fc899", "sha256": "a3f29ce23737b57430ec14398dd8e76c21bad96817fd9f6b13b4a0978094fc37" }, "downloads": -1, "filename": "pydiatra-0.2.2.tar.gz", "has_sig": true, "md5_digest": "874e34b099dc683830531de7ea9fc899", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26420, "upload_time": "2016-12-10T16:33:12", "url": "https://files.pythonhosted.org/packages/45/1a/e9685d4844ab7b525fd042dd4a88dc68475cc6564b9fb7d60629263e1cfa/pydiatra-0.2.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "07082f2a296134e9f506553685416c80", "sha256": "f52a83a82fbc232874f0ae50abbe0cf97c6370c13b9fafcfe4625317ed30accc" }, "downloads": -1, "filename": "pydiatra-0.3.tar.gz", "has_sig": true, "md5_digest": "07082f2a296134e9f506553685416c80", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27695, "upload_time": "2016-12-26T15:40:14", "url": "https://files.pythonhosted.org/packages/06/15/b32f242d57aa2f654ddfa53e2af28ddad41f063a7988306978b3773182da/pydiatra-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "1a2ac8084373feba9a557c9fbc7d3ea7", "sha256": "d299806122fc442ce55777240537ea16865124426d6393b5e00d580d382764e1" }, "downloads": -1, "filename": "pydiatra-0.4.tar.gz", "has_sig": true, "md5_digest": "1a2ac8084373feba9a557c9fbc7d3ea7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30184, "upload_time": "2017-02-04T16:48:43", "url": "https://files.pythonhosted.org/packages/80/d7/abbf0c597584d8858b928ea383cfbbe94a1724a4416dd692edc3f9f345f5/pydiatra-0.4.tar.gz" } ], "0.5": [ { "comment_text": "", "digests": { "md5": "62fa95dfc512ae96103b692106d5d481", "sha256": "3749e96811e6e8bcbb7d3a9d0cd924ca3dec9b2b23ffc096f8b24859f3e10fe7" }, "downloads": -1, "filename": "pydiatra-0.5.tar.gz", "has_sig": true, "md5_digest": "62fa95dfc512ae96103b692106d5d481", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34818, "upload_time": "2017-02-20T09:17:46", "url": "https://files.pythonhosted.org/packages/ea/bd/1fe6f42cdc720d224f9ff6e24a77ff1f7d5097d748c2be34b4afc3081789/pydiatra-0.5.tar.gz" } ], "0.6": [ { "comment_text": "", "digests": { "md5": "e441845d832f1ff1c1434be42dbb5238", "sha256": "8d31e0364bfcf9ad7d4c79e571e2fd7bf24db14909f4d057ba68e0a17b1f1c7b" }, "downloads": -1, "filename": "pydiatra-0.6.tar.gz", "has_sig": true, "md5_digest": "e441845d832f1ff1c1434be42dbb5238", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 36023, "upload_time": "2017-02-25T14:30:48", "url": "https://files.pythonhosted.org/packages/31/3c/61b4f2b788f5b3bde189aed98b899a19af87c56902aa86979ba3cb9fc654/pydiatra-0.6.tar.gz" } ], "0.7": [ { "comment_text": "", "digests": { "md5": "2d9c1b4e900e6051eff6453641f1f50e", "sha256": "7cf725d867434163fe3ab9672b8aa2a21eb7470b7fe2aca078fcb229e0d7d420" }, "downloads": -1, "filename": "pydiatra-0.7.tar.gz", "has_sig": true, "md5_digest": "2d9c1b4e900e6051eff6453641f1f50e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37791, "upload_time": "2017-03-27T12:13:33", "url": "https://files.pythonhosted.org/packages/24/8e/88902562f8055dedcbb935e446f104b3a15ce42227526d66e228f2348d5d/pydiatra-0.7.tar.gz" } ], "0.8": [ { "comment_text": "", "digests": { "md5": "ff17218585fa9185d8db873ade2c4687", "sha256": "b626f41e382c90aba7eb317f939cd2493470fc2035066e6826ef6d86ea0092b3" }, "downloads": -1, "filename": "pydiatra-0.8.tar.gz", "has_sig": true, "md5_digest": "ff17218585fa9185d8db873ade2c4687", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 39757, "upload_time": "2017-04-13T11:26:25", "url": "https://files.pythonhosted.org/packages/72/85/c34e0d23d72a4154d162630c7399520cee4d6f506d444eb0f1bfe25c0463/pydiatra-0.8.tar.gz" } ], "0.9": [ { "comment_text": "", "digests": { "md5": "a807c79e6eb25f94326e9ab968419970", "sha256": "a13f9ecceb16e4a7937098d369ba070233509c09b538906cef87abd5e891b19f" }, "downloads": -1, "filename": "pydiatra-0.9.tar.gz", "has_sig": true, "md5_digest": "a807c79e6eb25f94326e9ab968419970", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40143, "upload_time": "2017-04-20T09:45:05", "url": "https://files.pythonhosted.org/packages/08/92/b4194f7caf29e10e278b2efdb809e2bd88e813cacf2b3870cbb21d9833ee/pydiatra-0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "427225415de97a2b99b8cba93494904f", "sha256": "0d9a7de7f3986896a6b3c1abf890ea25aefa535edb8a54bbd377b41911d03afa" }, "downloads": -1, "filename": "pydiatra-0.12.5.tar.gz", "has_sig": true, "md5_digest": "427225415de97a2b99b8cba93494904f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45060, "upload_time": "2019-02-22T15:06:53", "url": "https://files.pythonhosted.org/packages/43/83/5717f46f837ebc40414f6f0342534c9ddf9c9abd0455ab708cb93b021d76/pydiatra-0.12.5.tar.gz" } ] }