{ "info": { "author": "John Ford", "author_email": "jhford@mozilla.com", "bugtrack_url": null, "classifiers": [], "description": "# Tooltool\n\nThis is tooltool. Tooltool is a program that helps make downloading large\nbinaries easier in a CI environment. The program creates a json based manifest\nthat is small compared to the binaries. That manifest is transmitted to the\nmachine that needs the binary somehow (checked in, included in tarball, etc)\nwhere the machine will run tooltool to download.\n\nWhen using the fetch mode, the program will check to see if the file exists\nlocally. If this file does not exist locally the program will try to fetch\nfrom one of the base URLs provided. The API that tooltool uses to fetch files\nis exceedingly simple. the API is that each file request will look for an http\nresource that is a combination of an arbitrary base url, a directory that is\nnamed as the hashing algorithm used and the hashing results of each file stored.\n\nExample, using base url of \"http://localhost:8080/tooltool\", algorithm of \"sha512\"\nand a file that hashes to \"abcedf0123456789\", tooltool would look for the file\nat \"http://localhost:8080/tooltool/sha512/abcdef0123456789\". If there is a local\nfile that has the filename specified in the manifest already, tooltool will not\noverwrite by default. In this case, tooltool will exit with a non-0 exit value.\nIf overwrite mode is enabled, tooltool will overwrite the local file with the\nfile specified in the manifest.\n\n## Structure\n\nThis repository contains both the tooltool client -- `tooltool.py` -- and the\ntooltool server component, which is a\n[RelengAPI](https://github.com/mozilla/build-relengapi) blueprint.\n\nIf you want to use the client, just copy out `tooltool.py` -- it has no\ndependencies.\n\n## Development\n\nHack on tooltool as you would any RelengAPI blueprint. That means, roughly,\ncreating a virtualenv and running `pip install -e .[test]` to install the\nblueprint and all of its dependences, including those for running tests.\n\nSend pull requests through GitHub.\n\nBoth the client and the server components are covered by Travis, via the\n`validate.sh` script which you can run yourself.\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://git.mozilla.org/?p=build/tooltool.git", "keywords": null, "license": "MPL2", "maintainer": null, "maintainer_email": null, "name": "relengapi-tooltool", "package_url": "https://pypi.org/project/relengapi-tooltool/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/relengapi-tooltool/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://git.mozilla.org/?p=build/tooltool.git" }, "release_url": "https://pypi.org/project/relengapi-tooltool/1.0.0/", "requires_dist": null, "requires_python": null, "summary": "Secure, cache-friendly access to large binary blobs for builds and tests", "version": "1.0.0" }, "last_serial": 1488641, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c1b5b5f7aa9b2931a4b85696f422f1e4", "sha256": "933036031bd3fe879e5abeaae666348eb99d0eb09c380db46032d7de4dd221a8" }, "downloads": -1, "filename": "relengapi-tooltool-1.0.0.tar.gz", "has_sig": true, "md5_digest": "c1b5b5f7aa9b2931a4b85696f422f1e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128645, "upload_time": "2015-04-02T18:59:56", "url": "https://files.pythonhosted.org/packages/5b/be/f65236b093ce647bcf0c0553bfbbae4ac5f2aaad7acb1d94189bcd838774/relengapi-tooltool-1.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c1b5b5f7aa9b2931a4b85696f422f1e4", "sha256": "933036031bd3fe879e5abeaae666348eb99d0eb09c380db46032d7de4dd221a8" }, "downloads": -1, "filename": "relengapi-tooltool-1.0.0.tar.gz", "has_sig": true, "md5_digest": "c1b5b5f7aa9b2931a4b85696f422f1e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 128645, "upload_time": "2015-04-02T18:59:56", "url": "https://files.pythonhosted.org/packages/5b/be/f65236b093ce647bcf0c0553bfbbae4ac5f2aaad7acb1d94189bcd838774/relengapi-tooltool-1.0.0.tar.gz" } ] }