{ "info": { "author": "Kevin Williams", "author_email": "kevin@weblivion.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Buildout :: Extension", "Intended Audience :: Developers", "License :: OSI Approved :: Zope Public License", "Topic :: Software Development :: Build Tools" ], "description": "====================\nBuildout from GitHub\n====================\n\nGitHub has become a commonly-used SCM tool for software engineering teams.\nThe purpose of this Buildout extension is to enable the retrieval of source\ntarballs and static downloads from private repositories by using the API v3's\ntoken-based authentication, combined with a bit of URL rewriting to retrieve\nfiles using the API server instead of the main website when required.\n\nPlease see the sections below for setup and usage instructions.\n\n\nRequest an API Key\n------------------\n\nBefore you can access private repositories from this module, you must create\nand store an API key on each system running buildout. Unlike the v2 API where\none key was issued per user, you may create as many keys as you like and\nrevoke them at will.\n\nAPI keys are tied to an individual user account.\n\nYou can create API v3 key using ``curl`` (please substitute your own GitHub\nuser name)::\n\n curl -s -X POST -d '{\"scopes\": [\"repo\"]}' -u ${user} \\\n https://api.github.com/authorizations | grep token\n\nImportant Note: You MUST specify the scopes attribute to secure access to\nprivate repositories; leaving the scope blank provides read-only access to\npublic data.\n\nIf you plan to make multiple keys for distribution to different systems (e.g.\nautomated build environment), you might want to include a description to be\nable to distinguish them from one another later::\n\n curl -s -X POST -d '{\"note\": \"build001.mydomain.ext\", \"scopes\": [\"repo\"]}' \\\n -u ${user} https://api.github.com/authorizations | grep token\n\n\nStore API Key in Git Config\n---------------------------\n\nNow configure the value of github.accesstoken to the hash returned from the \ncommand above::\n\n git config --global github.accesstoken ${token}\n\nFor details on managing authorization GitHub's OAuth tokens, see the API\ndocumentation: http://developer.github.com/v3/oauth/#oauth-authorizations-api\n\n\nGitHub Repository Downloads\n---------------------------\n\nYou can instruct Buildout to download a tarball of any refid from your\nrepository by specifying the same URL as you would use in your browser to\nretrieve it, using the following syntax::\n\n https://github.com/${user}/${project}/${archivetype}/${refid}\n\n**Important Note:** The url *must* use the ``https`` protocol to be retrieved\nusing this extension; URLs using the ``http`` protocol will be ignored.\n\nIn practice, you would typically use this to retrieve a tarball for\ninstallation as an egg in your buildout file, using a recipe similar to this::\n\n [buildout]\n find-links =\n https://github.com/me/myproject/tarball/master#egg=myproject\n\n eggs = myproject\n\n parts = myproject\n\n [myproject]\n unzip = true\n recipe = zc.recipe.egg\n path = myproject\n\nNote: These URLs will be rewritten during retrieval to use the API v3 URL instead.\nIf you wish, you can explicitly specify the API server URL for retriving the file::\n\n https://api.github.com/repo/me/myproject/tarball/master\n\n\nGitHub Static Downloads (DEPRECATED)\n------------------------------------\n\nIMPORTANT NOTE: Support for static downloads has been deprecated by GitHub\nas of 2012-12-11 and will be removed \"in 90 days\" (on or around 2013-03-11).\nIf your project depends on this feature, now would be a good time to make\nalternate plans. For details, see the link below:\n\n https://github.com/blog/1302-goodbye-uploads\n\nStatic downloads that have been previously uploaded to your GitHub project\nmay also be retrieved using the same URL you would use in your browser,\nformed as follows::\n\n https://github.com/downloads/${user}/${project}/${filename}\n\n**Important Note:** As with repository downloads, the url *must* use the\n``https`` protocol to be retrieved.\n\nSince these files can contain static software releases as eggs or anything\nelse you want (media files, configuration data, etc.) it is up to you how\nto use them in your buildout; a common pattern is to install them as a part\nin a fashion similar to the following example::\n\n [buildout]\n parts = mypart\n\n [mypart]\n recipe = hexagonit.recipe.download\n url = https://github.com/downloads/me/myproject/myfile.tar.gz\n\n\nCredits\n-------\n\nThanks to Bernd Dorn, J\u00fcrgen Kartnaller, Bernd R\u00f6ssl and the rest at Lovely\nSystems for lovely.buildouthttp (upon which this project is based), and to\nClayton Parker and Tarek Ziade for bugfixes and extensions.\n\n\n\n=========================\nChanges to githubbuildout\n=========================\n\n2013-04-25 0.2:\n---------------\n\n- Declare a user agent to comply with GitHub's new API requirement (see\n http://developer.github.com/changes/2013-04-24-user-agent-required/):\n `githubbuildout/$version zc.buildout`\n\n\n2012-06-21 0.1:\n---------------\n\n- Initial Release (based on lovely.buildouthttp)", "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/isolationism/githubbuildout", "keywords": "buildout github private repository download", "license": "ZPL 2.1", "maintainer": null, "maintainer_email": null, "name": "githubbuildout", "package_url": "https://pypi.org/project/githubbuildout/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/githubbuildout/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/isolationism/githubbuildout" }, "release_url": "https://pypi.org/project/githubbuildout/0.2/", "requires_dist": null, "requires_python": null, "summary": "Buildout extension to enable downloads from private GitHub repositories into buildout find-links and download recipes", "version": "0.2" }, "last_serial": 792468, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "55de6b4a94daaccec2d6ed43ecf87d68", "sha256": "af421e57c5c3887565a67f505880274aaeebcbd42e9b4ebfbf1ff774d4fc351b" }, "downloads": -1, "filename": "githubbuildout-0.1.tar.gz", "has_sig": false, "md5_digest": "55de6b4a94daaccec2d6ed43ecf87d68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7014, "upload_time": "2012-06-21T20:40:37", "url": "https://files.pythonhosted.org/packages/4a/4b/9f6de787eb9b2e8a2c5c0677b1e9dc1d8b63d9ade37b1d9ac5630244ce6e/githubbuildout-0.1.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "291c89027491df54a96ad3e6588e9774", "sha256": "3398b5d8edab3b7e27a7a2d0e4527fc9cab08fee6e329540d895ddbf7c89af39" }, "downloads": -1, "filename": "githubbuildout-0.2.tar.gz", "has_sig": false, "md5_digest": "291c89027491df54a96ad3e6588e9774", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7549, "upload_time": "2013-04-26T00:53:17", "url": "https://files.pythonhosted.org/packages/19/93/201932968cbba2a75377dad3c86820fe81e8656b0e118029549391d90e22/githubbuildout-0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "291c89027491df54a96ad3e6588e9774", "sha256": "3398b5d8edab3b7e27a7a2d0e4527fc9cab08fee6e329540d895ddbf7c89af39" }, "downloads": -1, "filename": "githubbuildout-0.2.tar.gz", "has_sig": false, "md5_digest": "291c89027491df54a96ad3e6588e9774", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7549, "upload_time": "2013-04-26T00:53:17", "url": "https://files.pythonhosted.org/packages/19/93/201932968cbba2a75377dad3c86820fe81e8656b0e118029549391d90e22/githubbuildout-0.2.tar.gz" } ] }