{ "info": { "author": "Mr. Senko", "author_email": "atodorov@mrsenko.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python" ], "description": "Automatic upstream dependency testing\n-------------------------------------\n\n.. image:: https://img.shields.io/travis/MrSenko/strazar/master.svg\n :target: https://travis-ci.org/MrSenko/strazar\n :alt: Build status\n\nStrazar (from Bulgarian for sentinel) helps you pro-actively monitor for new\nversions of upstream packages. Once a package is found it is added to your test\nmatrix to ensure your software works with the latest upstream dependencies!\n\nStrazar works by updating the ``.travis.yml`` environment and uses the GitHub\nAPI to pull and push changes automatically to your repositories. The actual\nenvironment setup and testing is performed by the CI server, while Strazar\nacts as a trigger for new builds!\n\nChangelog\n=========\n\n* 0.2.8 (2017-06-16)\n\n * Improved logging on error;\n\n* 0.2.7 (2017-06-11)\n\n * Log when a newly added package is found in config;\n * Better exception logging.\n\n\n* 0.2.5 (2017-01-11)\n\n * Don't crash if Strazar is monitoring a package which\n is not currently in ``.travis.yml``. This can happen when your software\n switches dependencies, e.g. from ``boto`` to ``boto3`` but you still\n like to keep the monitoring configuration for the previous dependency.\n\n* 0.2.4 (2017-01-05)\n\n * Use the new package name and version in commit log;\n\n * Fix a bug where Strazar will not properly update the test matrix when\n there are packages that conflict between each other. The following syntax\n is now supported::\n\n env:\n - '_BOTO=2.45.0 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1'\n \n - '_BOTO3=1.4.3 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1'\n\n When ``Django 1.10`` is found the matrix is updated as follows::\n\n env:\n - '_BOTO=2.45.0 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1'\n - '_BOTO=2.45.0 _DJANGO=1.10 _DJANGO_STORAGES=1.5.1'\n \n - '_BOTO3=1.4.3 _DJANGO=1.9 _DJANGO_STORAGES=1.5.1'\n - '_BOTO3=1.4.3 _DJANGO=1.10 _DJANGO_STORAGES=1.5.1'\n\n* 0.2.3 (2016-07-28)\n\n * Add logging to indicate progress and status\n\n* 0.2.2 (2016-05-16)\n\n * Handle non-ascii characters in data streams\n\n* 0.2.1 (2016-05-15)\n\n * Initial release\n\nInstallation\n============\n\nTo install::\n\n pip install strazar\n\n\nSupported upstream package repositories\n=======================================\n\nCurrently only `PyPI `_ is supported. We have plans for\nadding `RubyGems `_ and `NPM `_\nvery soon! Others will come later.\n\n\nSupported CI environments\n=========================\n\nAt the moment only `Travis-CI `_ is supported!\n\n\nSupported source code repositories\n==================================\n\nAt the moment only `GitHub `_ is supported as we use their\nAPI, not git directly!\n\n* ``GITHUB_TOKEN`` environment variable allows authenticated API access. This\n token needs the ``public_repo`` or ``repo`` permission.\n\n\nPrepare .travis.yml\n===================\n\nStrazar uses the variable format `_PACKAGE_NAME` where the variable name starts\nwith an under-score followed by the capitalized package name. All hyphens are\nconverted to under-scores as well. We advise that your ``.travis.yml`` files\nfollow the same convention. This is how Strazar's own ``.travis.yml`` looks\nlike::\n\n language: python\n python:\n - 2.7\n - 3.5\n install:\n - pip install coverage flake8 mock PyYAML==$_PYYAML PyGithub==$_PYGITHUB\n script:\n - ./test.sh\n env:\n - _PYGITHUB=1.26.0 _PYYAML=3.11\n\n\nMonitor PyPI\n============\n\nPyPI doesn't provide web-hooks so we examine the RSS feed for packages of\ninterest based on configuration settings. To start monitoring PyPI execute\nthe following code from a cron job (at `Mr. Senko `_\nwe do it every hour)::\n\n import os\n import strazar\n\n os.environ['GITHUB_TOKEN'] = 'xxxxxxxxx'\n config = {\n \"PyYAML\" : [\n {\n 'cb' : strazar.update_github,\n 'args': {\n 'GITHUB_REPO' : 'MrSenko/strazar',\n 'GITHUB_BRANCH' : 'master',\n 'GITHUB_FILE' : '.travis.yml'\n }\n },\n ],\n }\n \n strazar.monitor_pypi_rss(config)\n\nThe ``config`` dict uses package names as 1st level keys. If you are interested\nin a particular package add it here. All other packages detected from the RSS\nfeed will be ignored. If your project depends on multiple packages you have to\nlist all of them as 1st level keys in ``config`` and duplicate the key values.\n\nThe key value is a list of call-back methods and arguments to execute once a\nnew package has been published online. If two or more repositories depend on\nthe same package then add them as values to this list.\n\nThe ``strazar.update_github`` call-back knows how to commit to your source repo\nwhich will automatically trigger a new CI build.\n\nContributing\n============\n\nSource code and issue tracker are at https://github.com/MrSenko/strazar\n\n\nCommercial support\n==================\n\n`Mr. Senko `_ provides commercial support for open source\nlibraries, should you need it!", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MrSenko/strazar", "keywords": "testing", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "strazar", "package_url": "https://pypi.org/project/strazar/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/strazar/", "project_urls": { "Homepage": "https://github.com/MrSenko/strazar" }, "release_url": "https://pypi.org/project/strazar/0.2.8/", "requires_dist": null, "requires_python": "", "summary": "Automatic upstream dependency testing", "version": "0.2.8" }, "last_serial": 2953994, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "de1b6610352e2eea7f790f4a504e0709", "sha256": "9b43d93174ab80ac680e756dccbcdffad605d1ee749f9b48e87c5ed70aaeaab9" }, "downloads": -1, "filename": "strazar-0.2.0.tar.gz", "has_sig": false, "md5_digest": "de1b6610352e2eea7f790f4a504e0709", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8740, "upload_time": "2016-05-15T04:13:44", "url": "https://files.pythonhosted.org/packages/63/8a/ea934fbcaac0b4480a7356689dfb761fe6941ad75f34ce50923520e99e59/strazar-0.2.0.tar.gz" } ], "0.2.0.1": [ { "comment_text": "", "digests": { "md5": "7ce5f5122aff8b227996eedfd380f976", "sha256": "aa72c40f72a02f844a05f310348f2852fa04bd36b09cf5916b2fbce012586357" }, "downloads": -1, "filename": "strazar-0.2.0.1.tar.gz", "has_sig": false, "md5_digest": "7ce5f5122aff8b227996eedfd380f976", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8738, "upload_time": "2016-05-15T04:28:32", "url": "https://files.pythonhosted.org/packages/20/04/ab4869db498d86c623f0ee143f1c2b10fef16b271de34391e26cfb490b99/strazar-0.2.0.1.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "202bb02f1ad1d1eed8035d7586aeeed5", "sha256": "b977609291ba81dba28647ec70261cc925035e3514c87b01be0b1d6b86a47456" }, "downloads": -1, "filename": "strazar-0.2.1.tar.gz", "has_sig": false, "md5_digest": "202bb02f1ad1d1eed8035d7586aeeed5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8741, "upload_time": "2016-05-15T04:39:03", "url": "https://files.pythonhosted.org/packages/c5/8e/4f9a9e92833c8709e1f7328a74a74636428e255c2c2b188050d3af9226b5/strazar-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "761d91a947e7ded3a09dfe1bbc865028", "sha256": "2320bc87e07be61f604c58b9faac0cdba93babe02603da0aafaa2323e46fb9e1" }, "downloads": -1, "filename": "strazar-0.2.2.tar.gz", "has_sig": false, "md5_digest": "761d91a947e7ded3a09dfe1bbc865028", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10960, "upload_time": "2016-05-15T05:56:05", "url": "https://files.pythonhosted.org/packages/a4/a4/7646aa9a57418a3244703adb8854e2522c6d1e0f3563719bba78c42f8a60/strazar-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ceff8becd3760d6384009c5d9b928531", "sha256": "d19ff3c6086476c52268d11f4bf4c9e70fc02739196ec2fcee667b3dfb0483ae" }, "downloads": -1, "filename": "strazar-0.2.3.tar.gz", "has_sig": false, "md5_digest": "ceff8becd3760d6384009c5d9b928531", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11289, "upload_time": "2016-07-28T20:51:33", "url": "https://files.pythonhosted.org/packages/a9/2d/18abff403e77d1288848718f9c3233316a42d3e05f450d29701f63a609c7/strazar-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "42395f80a7ccc287f967e17a9b6a82ea", "sha256": "cf915bd929ba2967bf550d14f57222b4b99ceaa7037b7dd1a32d4fb402bbcfaa" }, "downloads": -1, "filename": "strazar-0.2.4.tar.gz", "has_sig": false, "md5_digest": "42395f80a7ccc287f967e17a9b6a82ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6665, "upload_time": "2017-01-05T15:15:25", "url": "https://files.pythonhosted.org/packages/18/06/a1d051b0f52d03c7fc16151c085cd9d1d5d4a5df3f1f6b3bee3e4ed6b8e5/strazar-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "68b1a20f682cd071f1987d1aed66722d", "sha256": "91f5e9afda3784dd04dbf88f428855496eda7dd89b40f7efb888f719f8b98948" }, "downloads": -1, "filename": "strazar-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "68b1a20f682cd071f1987d1aed66722d", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 9613, "upload_time": "2017-01-11T08:22:22", "url": "https://files.pythonhosted.org/packages/6d/c6/0a3f9ff704be3f727213a2c6f270943fd05d211a920a056d489483c1e3e0/strazar-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4211805b639564446dcbcfc68846a66c", "sha256": "e121b2357b453f32c37b9655a45d161c93cbec574c58006cf74c74ee8118e39b" }, "downloads": -1, "filename": "strazar-0.2.5.tar.gz", "has_sig": false, "md5_digest": "4211805b639564446dcbcfc68846a66c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6872, "upload_time": "2017-01-11T08:22:19", "url": "https://files.pythonhosted.org/packages/64/c8/01bb965d8874e478c009854f2bb1cd6c2483d31758853675a1fe39e7ebce/strazar-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "b45b5f43aa3cc07528586fb238a46add", "sha256": "4221caa8caa2c977f025d57f3abb0dade488fbcd1f5da58659dc78b9ad5e8132" }, "downloads": -1, "filename": "strazar-0.2.6.tar.gz", "has_sig": false, "md5_digest": "b45b5f43aa3cc07528586fb238a46add", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6922, "upload_time": "2017-06-10T21:28:09", "url": "https://files.pythonhosted.org/packages/58/72/38313a6a618008fee116b75556462b2abf26745b114bf819d5ada6e002b3/strazar-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "22e63fbad93a3e68b399800bf3bb25d1", "sha256": "f0c8ed36702770586469baed0d1bbc99916da33b90c86aa52e53939cffcb6714" }, "downloads": -1, "filename": "strazar-0.2.7.tar.gz", "has_sig": false, "md5_digest": "22e63fbad93a3e68b399800bf3bb25d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6964, "upload_time": "2017-06-10T21:35:59", "url": "https://files.pythonhosted.org/packages/d9/db/a9c29ff4d834bd63e9a84d88bbed5a0a8cea69fa4511154ed96b5fa9bacc/strazar-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "beb5ed8a5e2c143fee214c0f32e360df", "sha256": "861042080fbe0564a39b5cb64609c11157d2ca36e5329621585759ba3c7e63ef" }, "downloads": -1, "filename": "strazar-0.2.8.tar.gz", "has_sig": false, "md5_digest": "beb5ed8a5e2c143fee214c0f32e360df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7007, "upload_time": "2017-06-16T08:34:25", "url": "https://files.pythonhosted.org/packages/06/ad/eef88dd6d0472414dd2ee5296364420cf15fc8de52e8bd70baf788221443/strazar-0.2.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "beb5ed8a5e2c143fee214c0f32e360df", "sha256": "861042080fbe0564a39b5cb64609c11157d2ca36e5329621585759ba3c7e63ef" }, "downloads": -1, "filename": "strazar-0.2.8.tar.gz", "has_sig": false, "md5_digest": "beb5ed8a5e2c143fee214c0f32e360df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7007, "upload_time": "2017-06-16T08:34:25", "url": "https://files.pythonhosted.org/packages/06/ad/eef88dd6d0472414dd2ee5296364420cf15fc8de52e8bd70baf788221443/strazar-0.2.8.tar.gz" } ] }