{ "info": { "author": "Dawid Fatyga", "author_email": "dawid.fatyga@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "Intended Audience :: End Users/Desktop", "Intended Audience :: Information Technology", "Intended Audience :: Science/Research", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: MacOS", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python", "Topic :: System :: Systems Administration", "Topic :: Utilities" ], "description": "# Watson CI\n\n[![Build Status](https://travis-ci.org/dejw/watson-ci.png)](https://travis-ci.org/dejw/watson-ci)\n\n`watson` is a simple continuous integration server that helps you build\nyour projects constantly while you edit the files.\n\n![dr Watson](http://2.bp.blogspot.com/--OeE_SOXm8s/Tief56DVOVI/AAAAAAAABSs/eUTLMpXrq_I/s1600/dr-watson.png)\n\n(The image above is available on [www.evilspacerobot.com](http://www.evilspacerobot.com))\n\n## Philosophy\n\nIn its concept `watson` watches for changes made in the filesystem of your\nproject, and on this basis, runs configured test (or build) commands to check\nif everything is still fine and all your test pass.\n\nIn its usage design it is similar to [Travis CI](https://github.com/travis-ci/travis-ci) server.\n\n## Configuration\n\nEach project should provide a file named `.watson.yaml` (note the dot) with its\nconfiguration, for example:\n\n script:\n - nosetests\n - pep8\n ignore:\n - .*.pyc\n\nThe only requirement is that **the script should use an exit code 0 on\nsuccess** and anything else will be considered as failure.\n\nCommands will be executed with relative to the directory where filesystem\nrecently changed.\n\nExample configuration (used by `watson` project itself) can be found\n[here](https://github.com/dejw/watson-ci/blob/master/.watson.yaml).\n\n## Usage\n\nTo add your project to watson use:\n\n watson watch\n\nin any directory of your project. `.watson.yaml` fill be searched up the root\ndirectory and your project configuration will be updated in the server.\n\nConfig changes are detected and picked up automatically.\n\nAs soon as your project is built, server will show a notification about its\nstatus. It uses `pynotify` library to handle it so they look as follows:\n\n![](http://i.imgur.com/uInH4.png) \n![](http://i.imgur.com/zRG93.png)\n\n### Portability\n\nFor now `watson` was tested only under Ubuntu, and does not have any kind of abstraction\nfor notification support. Feel free to contribute if you are insterested in other\nnotification systems.\n\n## Server management\n\nAlso server will be started if needed using configuration in\n`~/.watson/config.yaml`.\n\nYou can manage state of the server as well:\n\n watson start|stop|restart\n\nBy default `watson` listens on port `0x221B` (`8731`), and exposes a simple XMLRPC API.\n\n## Installation\n\nSimply type the following command into terminal to install the latest released\nversion:\n\n pip install watson-ci [--upgrade]\n\n## Contribution\n\nImprovement ideas are welcome.\n\nFeel free to file a bug report, or send a pull request. I will try my best to\nlook into it and merge your changes, or I'll give you commit rights if you will.", "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/dejw/watson-ci/", "keywords": null, "license": "BSD", "maintainer": null, "maintainer_email": null, "name": "watson-ci", "package_url": "https://pypi.org/project/watson-ci/", "platform": "any", "project_url": "https://pypi.org/project/watson-ci/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/dejw/watson-ci/" }, "release_url": "https://pypi.org/project/watson-ci/0.1.5/", "requires_dist": null, "requires_python": null, "summary": "watson is a simple CI server that helps you build your projects continuously", "version": "0.1.5" }, "last_serial": 732976, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "041d26f9782a3deabae692bd41667f54", "sha256": "2c75470d859dfb35ce314f63e10ee5200fe4285a2252eb9b1d95c8000458b03d" }, "downloads": -1, "filename": "watson-ci-0.1.0.tar.gz", "has_sig": false, "md5_digest": "041d26f9782a3deabae692bd41667f54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10191, "upload_time": "2012-12-08T17:21:49", "url": "https://files.pythonhosted.org/packages/0a/9d/338abe86a65c2d72f6d2e93fe404c2eb2c8f1ac636ffbb763289367a3d73/watson-ci-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9b7e628f132beba3de3b9283aeb4e770", "sha256": "a6a52530e2a1d8b2c333a9115003d49c75c7bd290b390995cadcc141f0026e15" }, "downloads": -1, "filename": "watson-ci-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9b7e628f132beba3de3b9283aeb4e770", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9103, "upload_time": "2012-12-09T12:11:10", "url": "https://files.pythonhosted.org/packages/83/93/e8b63044bfbad019b5ccbea1dff70d5c3ae4fd2cf86686535550865475c0/watson-ci-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b75cdd3d9c2767de32bdd2b800acfa21", "sha256": "170ec91108e7c2f5099435e5f07bef0aff791f4de976652463909dcabad24306" }, "downloads": -1, "filename": "watson-ci-0.1.2.tar.gz", "has_sig": false, "md5_digest": "b75cdd3d9c2767de32bdd2b800acfa21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9369, "upload_time": "2012-12-09T18:48:25", "url": "https://files.pythonhosted.org/packages/5a/c4/fc5fcd74a41df4f5bb9389184d52edbb5f95153d45cb363d3b82571244d2/watson-ci-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "cd4760854f29da69c2a8baa42f65381c", "sha256": "f458aac6771455e9bf61cca484c92f43f83e9bf0dcb8b26c68348bdf8c5a2147" }, "downloads": -1, "filename": "watson-ci-0.1.3.tar.gz", "has_sig": false, "md5_digest": "cd4760854f29da69c2a8baa42f65381c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9518, "upload_time": "2012-12-10T11:31:22", "url": "https://files.pythonhosted.org/packages/0b/1b/64f876e6c36fa7fcb0bf8c99c6a0f2d40075fc78d79672e9aa12870052f2/watson-ci-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6ee6c2dfa3e5bab44fdc3b66273c5e71", "sha256": "36f8183381447b29ac4b815269276d89caaecb4f8a8302463c431d5d39d5ac81" }, "downloads": -1, "filename": "watson-ci-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6ee6c2dfa3e5bab44fdc3b66273c5e71", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9644, "upload_time": "2012-12-10T23:31:27", "url": "https://files.pythonhosted.org/packages/74/26/fda720b95a7c8437fedca0d03bd22b4968c0219c8c6bd674ae120579bd72/watson-ci-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "8ea5073f6c8aa4217a942005a122d3ac", "sha256": "d3001b6121a1b9bf6d797c1e4fcab5933e494ce5a780aedf8a5af2571137ebe3" }, "downloads": -1, "filename": "watson-ci-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8ea5073f6c8aa4217a942005a122d3ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9631, "upload_time": "2012-12-10T23:36:00", "url": "https://files.pythonhosted.org/packages/e3/c3/a0d5a8f473a4e194a70a9dd9aa93ae4d5ac676c270c66d57e57f3904ca9f/watson-ci-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ea5073f6c8aa4217a942005a122d3ac", "sha256": "d3001b6121a1b9bf6d797c1e4fcab5933e494ce5a780aedf8a5af2571137ebe3" }, "downloads": -1, "filename": "watson-ci-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8ea5073f6c8aa4217a942005a122d3ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9631, "upload_time": "2012-12-10T23:36:00", "url": "https://files.pythonhosted.org/packages/e3/c3/a0d5a8f473a4e194a70a9dd9aa93ae4d5ac676c270c66d57e57f3904ca9f/watson-ci-0.1.5.tar.gz" } ] }