{ "info": { "author": "Spotify", "author_email": "opensource@spotify.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Libraries" ], "description": "scanctl\n=======\n\n> A tool to facilitate managing Whitesource data\n\n![PyPi](https://img.shields.io/pypi/v/scanctl.svg)\n![Travis](https://img.shields.io/travis/spotify/scanctl.svg)\n\n### Requirements:\n\n* Python 3.6\n* Whitesource [Filesystem Agent][]\n\n[Filesystem Agent]: https://whitesource.atlassian.net/wiki/spaces/WD/pages/33718339/File+System+Agent\n\n### Development:\n\n```sh\n$ git clone git@github.com:spotify/scanctl.git\n$ cd scanctl\n\n# optionally create a virtualenv before installing\n$ pyenv virtualenv 3.6.5 venv\n$ pyenv activate venv\n\n(venv) $ pip install -r requirements.txt\n(venv) $ pip install -e .\n\n# list all organizations and repositories from a remote\n(venv) $ scanctl github --token $GITHUB_API_TOKEN list-orgs\n(venv) $ scanctl github --token $GITHUB_API_TOKEN list-repos\n\n# run a scan against a particular repository\n(venv) $ scanctl scan --token $WHITESOURCE_API_TOKEN spotify/scanctl\n```\n\n### Release:\n\nFollow the standard pull request workflow; tests will be run before merging.\nEither as part of the pull request or as a commit to master, run the following\ncommands to increment the release version:\n\n```sh\n(venv) $ pip install -r requirements-dev.txt\n(venv) $ bumpversion minor\n(venv) $ git push && git push --tags\n```\n\nThe next travis build will push the new package to PyPi.\n\n### Code of Conduct\n\nThis project adheres to the [Open Code of Conduct][code-of-conduct]. By\nparticipating, you are expected to honor this code.\n\n[code-of-conduct]: https://github.com/spotify/code-of-conduct/blob/master/code-of-conduct.md\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/spotify/scanctl", "keywords": "foss", "license": "Apache-2.0", "maintainer": "Spotify", "maintainer_email": "opensource@spotify.com", "name": "scanctl", "package_url": "https://pypi.org/project/scanctl/", "platform": "", "project_url": "https://pypi.org/project/scanctl/", "project_urls": { "Homepage": "https://github.com/spotify/scanctl" }, "release_url": "https://pypi.org/project/scanctl/0.5.0/", "requires_dist": [ "attrs", "click", "PyGithub", "PyJWT", "pyyaml", "requests", "ulogger" ], "requires_python": "", "summary": "A tool to facilitate managing whitesource data", "version": "0.5.0" }, "last_serial": 4292810, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "7cdbe3eae6e12e449b2a4812c7fde22d", "sha256": "c5edfbca566a197ddf6bac38188a0e1bd766c16344631df75d692b1876c0bcca" }, "downloads": -1, "filename": "scanctl-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7cdbe3eae6e12e449b2a4812c7fde22d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6931, "upload_time": "2018-06-15T14:03:53", "url": "https://files.pythonhosted.org/packages/11/3c/ac4db36aaa0bfac9f8284323b9a003f54a9c17892fbdfce3df79a7c9dc51/scanctl-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c395c96b8c7fd06832f386209e6c1e76", "sha256": "eac66be1d545d6e505455c384e2194e1307aa9dc08756ee6d145377531b465a4" }, "downloads": -1, "filename": "scanctl-0.1.0.tar.gz", "has_sig": false, "md5_digest": "c395c96b8c7fd06832f386209e6c1e76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9302, "upload_time": "2018-06-15T14:03:54", "url": "https://files.pythonhosted.org/packages/b0/e6/def07844729aedf753f22acb01281f05d554034464ac2a63fbe75af14fe9/scanctl-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "c99b91c74d9dc7a25ce6a018ed0fa36f", "sha256": "e98e0f7dd068774f435c63e872a9b93b655911b30a26a326c17b9b2b54416e15" }, "downloads": -1, "filename": "scanctl-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c99b91c74d9dc7a25ce6a018ed0fa36f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7590, "upload_time": "2018-06-15T14:24:46", "url": "https://files.pythonhosted.org/packages/1a/69/fc813697642766d69f87ab944173e6e45aa980d238b8d73a6a9edebe0110/scanctl-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98883e8b1c5a8489f5eee21b44d5550b", "sha256": "003a79b993a3042d2ed93f2849d6369e68d8abecd38add4ea52d1aca8d6c3628" }, "downloads": -1, "filename": "scanctl-0.2.0.tar.gz", "has_sig": false, "md5_digest": "98883e8b1c5a8489f5eee21b44d5550b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9976, "upload_time": "2018-06-15T14:24:47", "url": "https://files.pythonhosted.org/packages/4f/08/23869acf275be37b046a1f8b096ac7bfcef4ce21241fff871f831a1f1529/scanctl-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "c164744c470f852f72bccfbd7e002566", "sha256": "e7738522b27f97f8d9aa324a418fa77a5536c2b2a751380838a6204a329fb52e" }, "downloads": -1, "filename": "scanctl-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c164744c470f852f72bccfbd7e002566", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7710, "upload_time": "2018-07-20T20:54:18", "url": "https://files.pythonhosted.org/packages/5e/e3/abfda5a48e7e73ece4c865fa95c865ab0c990b542f9c20080fb05a2e34ce/scanctl-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cafcd03112786d01cf3017c09b7c0d81", "sha256": "5b613d1a80d88f5dba30da275ce84f55f11637b46416a9a79ac843bbe0ec167f" }, "downloads": -1, "filename": "scanctl-0.3.0.tar.gz", "has_sig": false, "md5_digest": "cafcd03112786d01cf3017c09b7c0d81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10053, "upload_time": "2018-07-20T20:54:19", "url": "https://files.pythonhosted.org/packages/8b/b5/7132d82dd5b475b262547d5792dd3eaebb7df0a73f3ee16f0a5adf1ca9a7/scanctl-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e473bd4ea47fcff92e22f54409267eff", "sha256": "c95e1346764d08b30d41520182570929dcf9a655d11b2f73257838ffefbe603f" }, "downloads": -1, "filename": "scanctl-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e473bd4ea47fcff92e22f54409267eff", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7868, "upload_time": "2018-07-20T20:52:59", "url": "https://files.pythonhosted.org/packages/6e/d5/6fbdf621ef1de7a9dd862e8110d3ecdc961f9cd055e66e200544428dc49e/scanctl-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3187b9daaf19e905a60e7229ec6ac915", "sha256": "593de9d547f0c8cd358f683b3c7e37a21dec54087cca03385a56560a55fcce4e" }, "downloads": -1, "filename": "scanctl-0.3.1.tar.gz", "has_sig": false, "md5_digest": "3187b9daaf19e905a60e7229ec6ac915", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10249, "upload_time": "2018-07-20T20:53:00", "url": "https://files.pythonhosted.org/packages/ed/22/301ad1ebf9b936643e809305bb6525709c151c18c8135ad741dee01b92dc/scanctl-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "cd1d444758291d8d54be801c0476bef3", "sha256": "a36eb9c21bd00e4e6ea4b08988dda2efec23cb9321ecfcfa5fa4db662327a13e" }, "downloads": -1, "filename": "scanctl-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd1d444758291d8d54be801c0476bef3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7870, "upload_time": "2018-07-22T03:52:09", "url": "https://files.pythonhosted.org/packages/34/92/456179b406afcfc3d6e5bcbd5f8fb607162241bf23b8af956da0efb81682/scanctl-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c214a450f22cc748b146e32cd1022ff0", "sha256": "9c61b09c9577f25e13f6983567c2f1cd8eff753824ff35962295cb11d3ef5e82" }, "downloads": -1, "filename": "scanctl-0.3.2.tar.gz", "has_sig": false, "md5_digest": "c214a450f22cc748b146e32cd1022ff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10268, "upload_time": "2018-07-22T03:52:11", "url": "https://files.pythonhosted.org/packages/c6/2f/1a22b2f32ac7d27205f51e2d07243514b258e76dae9208f45f91a26f4d98/scanctl-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "719aca44ff0908d7eda33fa4ffcb0a6a", "sha256": "722caaf8b4e63ddd15c548ec0d42953d7d79d5f1bd613bc1df8299953cdab112" }, "downloads": -1, "filename": "scanctl-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "719aca44ff0908d7eda33fa4ffcb0a6a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7873, "upload_time": "2018-09-20T13:58:22", "url": "https://files.pythonhosted.org/packages/a0/f7/a9ac395452413f061f35d3da0ad67df9fe68e588b78d79ee0949a63ec5dd/scanctl-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "297c2f76061e2a3e651e8710769aa3a9", "sha256": "9bb18dbdb7071e4351ea2230b4eb2e60a36b086cf456fb488d0f9e4d68d966db" }, "downloads": -1, "filename": "scanctl-0.3.3.tar.gz", "has_sig": false, "md5_digest": "297c2f76061e2a3e651e8710769aa3a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10271, "upload_time": "2018-09-20T13:58:23", "url": "https://files.pythonhosted.org/packages/0b/5e/d7e9cdac009c8592037c7a96c6d9879e7ce4e791dd41968d8829770ef614/scanctl-0.3.3.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "2e6ee2f9883ccd6b15d2d85ec83365d8", "sha256": "b624ca7f9b83c285bae120a205e0260d7ec56e7dcbe1d23eb12cf05437888605" }, "downloads": -1, "filename": "scanctl-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2e6ee2f9883ccd6b15d2d85ec83365d8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7876, "upload_time": "2018-09-20T13:58:24", "url": "https://files.pythonhosted.org/packages/fd/27/426064480852b95749af5613a9387ec55baeb17aba90d3e9cc7fa7ae935b/scanctl-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "da4f6fd91f76450948ca56adfdb75cff", "sha256": "95360d25fc0647c4a89f9e0c640d5728971c809f7188a0ab3a7146ebf536c782" }, "downloads": -1, "filename": "scanctl-0.4.0.tar.gz", "has_sig": false, "md5_digest": "da4f6fd91f76450948ca56adfdb75cff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10272, "upload_time": "2018-09-20T13:58:25", "url": "https://files.pythonhosted.org/packages/71/c6/5f02948405cc1efe3836ba9a424cb4e2087084c39d038fca1f18b8f20206/scanctl-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "a3ff3a6d6926e655128e4e1442e949e7", "sha256": "cb2312e9851f64360115dd808949c53018484eb6067b8e6ee9e879bf4aef1a9d" }, "downloads": -1, "filename": "scanctl-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3ff3a6d6926e655128e4e1442e949e7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8134, "upload_time": "2018-09-20T13:58:16", "url": "https://files.pythonhosted.org/packages/85/9b/c3398313e85b647d27be7b0baed93505830c0b7c309f1050183d16909133/scanctl-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "759967f633c2c632f19fded76d808808", "sha256": "e0b4ead37b803402018fa74ef75cbff31dbfc4320e9a6d5e5b96284d582492a4" }, "downloads": -1, "filename": "scanctl-0.5.0.tar.gz", "has_sig": false, "md5_digest": "759967f633c2c632f19fded76d808808", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10485, "upload_time": "2018-09-20T13:58:18", "url": "https://files.pythonhosted.org/packages/f6/b8/5cfbba7c5cb3c0086d9b00d07927360fbb475e2eecd20d85c5e134256637/scanctl-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a3ff3a6d6926e655128e4e1442e949e7", "sha256": "cb2312e9851f64360115dd808949c53018484eb6067b8e6ee9e879bf4aef1a9d" }, "downloads": -1, "filename": "scanctl-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3ff3a6d6926e655128e4e1442e949e7", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8134, "upload_time": "2018-09-20T13:58:16", "url": "https://files.pythonhosted.org/packages/85/9b/c3398313e85b647d27be7b0baed93505830c0b7c309f1050183d16909133/scanctl-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "759967f633c2c632f19fded76d808808", "sha256": "e0b4ead37b803402018fa74ef75cbff31dbfc4320e9a6d5e5b96284d582492a4" }, "downloads": -1, "filename": "scanctl-0.5.0.tar.gz", "has_sig": false, "md5_digest": "759967f633c2c632f19fded76d808808", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10485, "upload_time": "2018-09-20T13:58:18", "url": "https://files.pythonhosted.org/packages/f6/b8/5cfbba7c5cb3c0086d9b00d07927360fbb475e2eecd20d85c5e134256637/scanctl-0.5.0.tar.gz" } ] }