{ "info": { "author": "OpenStack", "author_email": "openstack-dev@lists.openstack.org", "bugtrack_url": null, "classifiers": [ "Environment :: OpenStack", "Intended Audience :: Information Technology", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Operating System :: POSIX :: Linux", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4" ], "description": "============\noaktreemodel\n============\n\noaktree is a gRPC interface for interacting with OpenStack clouds that is\ninherently interoperable and multi-cloud aware.\n\noaktreemodel is the protobuf definitions and the libraries and/or code\ngenerated from that to make it possible for people of all languages to\ninteract with the gRPC system without developing a python dependency anywhere.\n\nAt start, go, C++ and python are supported.\n\nWith go, the generated files are checked in to the git repo, because that's\nhow go dependencies work.\n\nWith C++ and python, they are not, as we exepct the unit of consumption to\nbe a built library and header files for C++ or a PyPI package for Ruby. It's\nthe most likely that as we add structure for more languages that they will\nfollow the C++/Python approach and not the go approach - but the decision\nwill be made on a per-language basis and reported back here.\n\nNote on API compat\n------------------\n\ntl;dr - Upgrading oaktree should NEVER negatively impact end users.\n\nUntil a 1.0.0 release is cut, please consider that literally everything in\nthis repo can change with no notice or consideration of breaking backwards\ncompat. This is a new approach to several things and it's entirely likely\nwe're going to get things wrong a few times.\n\nPost 1.0.0 oaktree and oaktreemodel will be held to the same backwards-compat\npromises as shade itself. That is - there will never be backwards-compat\nbreaking release, and it should _always_ be safe to deploy the latest release\nin production. In fact, even for people running older stable releases of\nOpenStack, the recommendation will be to run the latest oaktree, so that the\nlatest cross-compatibility changes can be picked up.\n\nNote on Implementations\n-----------------------\n\nIt is absolutely the intent of oaktreemodel that multiple implementations\nbased on the protobuf descriptions exist for the client interaction. In fact,\nthe code generated and published from this repo is fairly low-leve on a gRPC\nbasis, so it's almost certainly the case that each language will want to\nconsume this code in the context of some other library that has an end-user\nfocused UI.\n\nIt is absolutely NOT the intent that multiple implementations of the server\nside exist.\n\nThe reason for that is that, at least as of now, the business logic in the\nshade library is extensive and complex. It handles a million corner cases in\nthe underlying clouds. oaktree servers should all be able to talk not just\nto the cloud they are deployed with, but also to other OpenStack clouds\neither talking to the remote oaktree or directly to the remote OpenStack API.\n\nThe client interfaces in gRPC should be considered to be comprehensive and\nas descriptive of the interface as possible. For people wanting an oaktree\nserver, please use actual oaktree.\n\nBuilding\n--------\n\nFirst you need some dependencies:\n\n.. code-block:: bash\n\n pip install bindep\n apt-get install $(bindep -b)\n pip install -f requirements.txt\n pip install grpcio-tools\n go get -u github.com/golang/protobuf/protoc-gen-go\n\nThen you can build the code:\n\n.. code-block:: bash\n\n autoreconf -fi\n ./configure\n make\n\n* Source: http://git.openstack.org/cgit/openstack/oaktreemodel\n* Bugs: http://storyboard.openstack.org\n\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.openstack.org/", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "oaktreemodel", "package_url": "https://pypi.org/project/oaktreemodel/", "platform": "", "project_url": "https://pypi.org/project/oaktreemodel/", "project_urls": { "Homepage": "http://www.openstack.org/" }, "release_url": "https://pypi.org/project/oaktreemodel/0.0.2/", "requires_dist": [ "pbr (>=1.6)", "grpcio" ], "requires_python": "", "summary": "Base protobuf data model for oaktree", "version": "0.0.2" }, "last_serial": 2459794, "releases": { "0.0.0": [], "0.0.1": [ { "comment_text": "", "digests": { "md5": "d4d471eaf9966e475f4eca45d1c62930", "sha256": "9c94ae8951a73db0c92154b6edfb1336fbd03bcccba4bc7322f3aedac5cf8ef7" }, "downloads": -1, "filename": "oaktreemodel-0.0.1-py2-none-any.whl", "has_sig": false, "md5_digest": "d4d471eaf9966e475f4eca45d1c62930", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 5485, "upload_time": "2016-11-07T16:32:58", "url": "https://files.pythonhosted.org/packages/e3/e6/8a3b18f0a68430b25248efd5f35cd104976d692b06b259169eb707b9648a/oaktreemodel-0.0.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "866f2029777313adc010e247a94c59f5", "sha256": "66279cb1018179c5ed90db591914ec64833e5ac6e9deebcf6e20ff98873b15e2" }, "downloads": -1, "filename": "oaktreemodel-0.0.1.tar.gz", "has_sig": false, "md5_digest": "866f2029777313adc010e247a94c59f5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34637, "upload_time": "2016-11-07T16:33:01", "url": "https://files.pythonhosted.org/packages/cc/8c/7e7551caa27c1eb13eb00392074a0def8458dfd5d6e81559e1733dc08f0d/oaktreemodel-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "cdff235f5390d80a67bdea91f4b7ecac", "sha256": "2166defaa39f4928d10686e83321c032d6e05928f960d2cf830584ed38e11eab" }, "downloads": -1, "filename": "oaktreemodel-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdff235f5390d80a67bdea91f4b7ecac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24636, "upload_time": "2016-11-14T15:50:23", "url": "https://files.pythonhosted.org/packages/dc/1a/7ac72642612cde779ef135e7698e40f03b48cb01427cd99204074228440c/oaktreemodel-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8bb506281b479803962087fe0c431180", "sha256": "c800ec92832dfdd56ac257aa5a9b887822153741752c1dcb8ff96277486e88ac" }, "downloads": -1, "filename": "oaktreemodel-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8bb506281b479803962087fe0c431180", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23630, "upload_time": "2016-11-14T15:50:25", "url": "https://files.pythonhosted.org/packages/e2/d3/022f61de061810ec8149fa8867931499ef52f5ca0114adf828510d05fb44/oaktreemodel-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cdff235f5390d80a67bdea91f4b7ecac", "sha256": "2166defaa39f4928d10686e83321c032d6e05928f960d2cf830584ed38e11eab" }, "downloads": -1, "filename": "oaktreemodel-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cdff235f5390d80a67bdea91f4b7ecac", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 24636, "upload_time": "2016-11-14T15:50:23", "url": "https://files.pythonhosted.org/packages/dc/1a/7ac72642612cde779ef135e7698e40f03b48cb01427cd99204074228440c/oaktreemodel-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8bb506281b479803962087fe0c431180", "sha256": "c800ec92832dfdd56ac257aa5a9b887822153741752c1dcb8ff96277486e88ac" }, "downloads": -1, "filename": "oaktreemodel-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8bb506281b479803962087fe0c431180", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23630, "upload_time": "2016-11-14T15:50:25", "url": "https://files.pythonhosted.org/packages/e2/d3/022f61de061810ec8149fa8867931499ef52f5ca0114adf828510d05fb44/oaktreemodel-0.0.2.tar.gz" } ] }