{ "info": { "author": "Pulp Team", "author_email": "pulp-list@redhat.com", "bugtrack_url": null, "classifiers": [], "description": "crane\n=====\n\n.. image:: https://travis-ci.org/pulp/crane.svg?branch=master\n :target: https://travis-ci.org/pulp/crane\n\n.. image:: https://coveralls.io/repos/pulp/crane/badge.png?branch=master\n :target: https://coveralls.io/r/pulp/crane?branch=master\n\nWhat is Crane?\n--------------\n\nCrane is a small read-only web application that provides enough of the docker\nregistry API to support \"docker pull\". Crane does not serve the actual image\nfiles, but instead serves 302 redirects to some other location where files are\nbeing served. A base file location URL can be specified per-repository.\n\nCrane loads its data from json files stored on disk. It does not have a\ndatabase or use any other services. The json files can be generated with pulp\nby publishing a docker repository.\n\nCrane is a flask app written in Python. It is very easy to deploy and has a\nsmall footprint, so it is a great way to provide a read-only \"docker pull\" API\nthat redirects to a static file service.\n\nAdvanced users can configure a search appliance to support \"docker search\" and\ncan setup repository protection using SSL certificates.\n\nSee the `current development documentation `_\nfor more information.\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.pulpproject.org", "keywords": "", "license": "GPLv2+", "maintainer": "", "maintainer_email": "", "name": "crane", "package_url": "https://pypi.org/project/crane/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/crane/", "project_urls": { "Homepage": "http://www.pulpproject.org" }, "release_url": "https://pypi.org/project/crane/2.1/", "requires_dist": [ "Flask (>=0.9)", "setuptools" ], "requires_python": "", "summary": "docker-registry-like API with redirection, as a wsgi app", "version": "2.1" }, "last_serial": 2930515, "releases": { "0.1.0": [], "2.1": [ { "comment_text": "", "digests": { "md5": "90ae074d931b124f3aff6bf762eb7c4d", "sha256": "6a0c458188f8da1ec17dee0041059d3dc2c6515a34b29915d12b119ff923de62" }, "downloads": -1, "filename": "crane-2.1-py2-none-any.whl", "has_sig": true, "md5_digest": "90ae074d931b124f3aff6bf762eb7c4d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1622780, "upload_time": "2017-06-06T21:19:19", "url": "https://files.pythonhosted.org/packages/ff/65/a19eaa704b7efa5ae1edf7fe9f34365f5d24881ff3d8c2e045ddce0092c3/crane-2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "caf9df1d9e6fc5b0709f7cdc76abda75", "sha256": "bee2682167e4de063eb8a94d371d038e69e1b6a1bb9451dd31acf18f6f66249a" }, "downloads": -1, "filename": "crane-2.1.tar.gz", "has_sig": true, "md5_digest": "caf9df1d9e6fc5b0709f7cdc76abda75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1607615, "upload_time": "2017-06-06T21:19:22", "url": "https://files.pythonhosted.org/packages/13/9e/fdebbe2343a67e3eaef471c0a60156a5110df09610ecdddaf23ffcc9866b/crane-2.1.tar.gz" } ], "2.2a1": [ { "comment_text": "", "digests": { "md5": "6474bf7d8e052e4774232f906704a226", "sha256": "1fda576794d8954fd7733d2a19d0a37d3eb38f5a6f9fbb6e2f493574fa96768f" }, "downloads": -1, "filename": "crane-2.2a1-py2-none-any.whl", "has_sig": true, "md5_digest": "6474bf7d8e052e4774232f906704a226", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1622981, "upload_time": "2017-06-06T20:08:19", "url": "https://files.pythonhosted.org/packages/19/17/3e951dc2401679f5e7dae9befcdb1d3b25d4351b1ee327cf496a8790b4b8/crane-2.2a1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e26684c97544b938a530c7412e9141da", "sha256": "c0b0a8c96143cc67e4927d18f70fa7a0866a57d7f374ddb61e470a40bfec08ae" }, "downloads": -1, "filename": "crane-2.2a1.tar.gz", "has_sig": true, "md5_digest": "e26684c97544b938a530c7412e9141da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1607859, "upload_time": "2017-06-06T20:08:23", "url": "https://files.pythonhosted.org/packages/87/3a/8676538f242f72217e50b07b32d352c7115f89cf4aca2439775fe0810a57/crane-2.2a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "90ae074d931b124f3aff6bf762eb7c4d", "sha256": "6a0c458188f8da1ec17dee0041059d3dc2c6515a34b29915d12b119ff923de62" }, "downloads": -1, "filename": "crane-2.1-py2-none-any.whl", "has_sig": true, "md5_digest": "90ae074d931b124f3aff6bf762eb7c4d", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 1622780, "upload_time": "2017-06-06T21:19:19", "url": "https://files.pythonhosted.org/packages/ff/65/a19eaa704b7efa5ae1edf7fe9f34365f5d24881ff3d8c2e045ddce0092c3/crane-2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "caf9df1d9e6fc5b0709f7cdc76abda75", "sha256": "bee2682167e4de063eb8a94d371d038e69e1b6a1bb9451dd31acf18f6f66249a" }, "downloads": -1, "filename": "crane-2.1.tar.gz", "has_sig": true, "md5_digest": "caf9df1d9e6fc5b0709f7cdc76abda75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1607615, "upload_time": "2017-06-06T21:19:22", "url": "https://files.pythonhosted.org/packages/13/9e/fdebbe2343a67e3eaef471c0a60156a5110df09610ecdddaf23ffcc9866b/crane-2.1.tar.gz" } ] }