{ "info": { "author": "Graham King", "author_email": "graham@gkgk.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Quality Assurance" ], "description": "*lintswitch* runs pylint, pep8 and pymetrics on your Python code, and jshint on your JS code, in the background.\n\nYou must tell lintswitch which files to lint. A **vim** plugin is included, in the contrib directory, which calls lintswitch every time you save a file.\n\nWith lintswitch, your code is constantly being watched and linted in the background, without interrupting your workflow. You view the results in a browser.\n\nLinters and file types currently supported:\n\n - Python: pylint, pep8, pymetrics\n - Javascript: jshint\n\nlintswitch has only been tested on Ubuntu, but in theory should work anywhere Python does, as long as you install the linters.\n\n# Installation\n\n git clone git://github.com/grahamking/lintswitch.git\n cd lintswitch\n sudo setup.py install\n\nThen copy: _contrib/lintswitch.vim_ to _~/.vim/plugin/_.\n\n**Dependencies**\n\n sudo apt-get install pymetrics\n sudo pip install pylint\n sudo pip install pep8\n\nNote that 'pymetrics' in pypi (pip) is a different project, and won't work with lintswitch.\n\nFor **jshint**:\n\n- install nodejs: `https://github.com/joyent/node/wiki/Installation`\n- install jshint: `npm install jshint -g`\n\n**lintswitch** will search your system path and virtualenv bin to find those dependencies.\n\nAll depencies are optional - if a linter is absent it will simply be ignored.\n\n# Output\n\nBrowse to _localhost:8008_ to view the output. Leave that window open whilst you work - it will auto-update to always display results for the file you just saved (server-sent events!).\n\nIf you have Chrome, and click 'Enable Notifications' in the top right of the window, errors will be displaying using desktop notifications.\n\n# Daemonize\n\nIn case you find lintswitch so awesome that you want to run it all the time, an [upstart](http://upstart.ubuntu.com/) is included. Copy `contrib/lintswitch.conf` as `/etc/init/lintswitch.conf`, and replace my username / group with yours.\n\nThat script will start lintswitch on boot. You can also manage it manually: `sudo [start|stop|restart|status] lintswitch`\n\n# Configuration\n\nAll the configuration options are command line switches. See `lintswitch --help` for details.\n\n# Not using vim?\n\nTo use lintswitch from other editors, you need to connect to a socket and send the filename. In Python, that looks like this:\n\n import socket\n s = socket.create_connection(('127.0.0.1', 4008), 2)\n s.send('%s\\n' % full_path_of_file_you_want_to_lint)\n s.close()\n\nIf you write a plugin for another editor, please send it my way and I will include it in _contrib_.\n\n## Virtualenv aware\n\nIf the file being checked is in a virtualenv, lintswitch will also look for the checkers in the virtualenv's bin directory.\n\n## pylint notes\n\nlintswitch will change into the root of your project before running pylint, and use a .pylintrc file if there is one there. The root of your project is determined to be the first directory that does not contain an __init__.py file, i.e. the first directory that is not a python module.\n\n## Contribute\n\nI'd love to add linters for other languages, so if you do that locally, please send it my way. Thanks!", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/grahamking/lintswitch", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "lintswitch", "package_url": "https://pypi.org/project/lintswitch/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/lintswitch/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/grahamking/lintswitch" }, "release_url": "https://pypi.org/project/lintswitch/2.3.5/", "requires_dist": null, "requires_python": null, "summary": "Lint your Python in real-time", "version": "2.3.5" }, "last_serial": 794229, "releases": { "2.3": [ { "comment_text": "", "digests": { "md5": "be6ad9b91fe240e69da029e7af46f108", "sha256": "994528ba47c741ea86e6dd09fb5b94f2bd1b96fc7fe74c1b87e447a98a113b52" }, "downloads": -1, "filename": "lintswitch-2.3.tar.gz", "has_sig": true, "md5_digest": "be6ad9b91fe240e69da029e7af46f108", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9691, "upload_time": "2012-02-01T07:03:37", "url": "https://files.pythonhosted.org/packages/8c/ad/f7a3cdf0308a736ade73da10e8ba46a2e305de015f23f23522405e69a3bc/lintswitch-2.3.tar.gz" } ], "2.3.2": [ { "comment_text": "", "digests": { "md5": "7d75da313c2e62da870216c3c8a086c3", "sha256": "91d5cead816007fdd67e7b9edb7ffbd51a760617c3d884cc8192f4a43c117041" }, "downloads": -1, "filename": "lintswitch-2.3.2.tar.gz", "has_sig": false, "md5_digest": "7d75da313c2e62da870216c3c8a086c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22364, "upload_time": "2012-03-02T22:59:01", "url": "https://files.pythonhosted.org/packages/64/0b/6607e8eb423aef64e75d69f4e11fbe60b3a86239f7d622abf97749fcbd8d/lintswitch-2.3.2.tar.gz" } ], "2.3.3": [ { "comment_text": "", "digests": { "md5": "9b50d33f227731a09093d9987f44feb9", "sha256": "69896f73164a530f9711cd0ca0acf5def5cf365c971ab26ca8905a4fa5b8eabc" }, "downloads": -1, "filename": "lintswitch-2.3.3.tar.gz", "has_sig": false, "md5_digest": "9b50d33f227731a09093d9987f44feb9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22427, "upload_time": "2012-03-14T05:36:26", "url": "https://files.pythonhosted.org/packages/a7/5d/dbce69a1bf93c8e7143a7106e30b11c437abd66b9f51e01b5b4caa021407/lintswitch-2.3.3.tar.gz" } ], "2.3.4": [ { "comment_text": "", "digests": { "md5": "18d1fbe204c17f37314612419d886bc2", "sha256": "0f2bb0a10cd141989b90a9a691470f2ed485062f2851224330d13a394678ca4f" }, "downloads": -1, "filename": "lintswitch-2.3.4.tar.gz", "has_sig": false, "md5_digest": "18d1fbe204c17f37314612419d886bc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22188, "upload_time": "2012-04-12T18:07:00", "url": "https://files.pythonhosted.org/packages/f2/62/4e294fafad87f2eec64f66a55e43ff43ca09a2b03f9b9966cf5736118677/lintswitch-2.3.4.tar.gz" } ], "2.3.5": [ { "comment_text": "", "digests": { "md5": "a42a599b1877a7f45aee7ba8aaf6ab0f", "sha256": "bbc3768296fd847e7b3cb37fa229f2df0441524a2368cda28525b8cf3f751b6a" }, "downloads": -1, "filename": "lintswitch-2.3.5.tar.gz", "has_sig": false, "md5_digest": "a42a599b1877a7f45aee7ba8aaf6ab0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22227, "upload_time": "2012-11-27T00:01:01", "url": "https://files.pythonhosted.org/packages/d4/9f/48bf556aea2b97ae9407dcc6a7035837cca7bb1d0ebb679d917b566050a9/lintswitch-2.3.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a42a599b1877a7f45aee7ba8aaf6ab0f", "sha256": "bbc3768296fd847e7b3cb37fa229f2df0441524a2368cda28525b8cf3f751b6a" }, "downloads": -1, "filename": "lintswitch-2.3.5.tar.gz", "has_sig": false, "md5_digest": "a42a599b1877a7f45aee7ba8aaf6ab0f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22227, "upload_time": "2012-11-27T00:01:01", "url": "https://files.pythonhosted.org/packages/d4/9f/48bf556aea2b97ae9407dcc6a7035837cca7bb1d0ebb679d917b566050a9/lintswitch-2.3.5.tar.gz" } ] }