{ "info": { "author": "Mikhail Ushanov", "author_email": "gm.mephisto@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "pyscaleio\n=========\n\n.. image:: https://travis-ci.org/gmmephisto/pyscaleio.svg?branch=master\n :target: https://travis-ci.org/gmmephisto/pyscaleio\n\n.. image:: https://coveralls.io/repos/github/gmmephisto/pyscaleio/badge.svg?branch=master\n :target: https://coveralls.io/github/gmmephisto/pyscaleio?branch=master\n\n.. image:: https://copr.fedorainfracloud.org/coprs/miushanov/pyscaleio/package/python-scaleio/status_image/last_build.png\n :target: https://copr.fedorainfracloud.org/coprs/miushanov/pyscaleio/package/python-scaleio/\n\nPython library that provides convenient way to interact with ScaleIO/VxFlex REST API.\n\n- Supported ScaleIO/VxFlex versions: 2.0\n- Supported Python versions: 2.6, 2.7, 3.4, 3.5, 3.6\n\n**Library is under development!**\n\n\nFeatures\n--------\n\n**Currently supported:**\n\n- Simple API client with base methods according to ScaleIO/VxFlex documentation\n- ORM-like models (StoragePool, Volume, etc.)\n- Scheme validation for API responses\n\n**TODO:**\n\n- HATEOAS links processing\n\n\nInstallation\n------------\n\nInstall via **pip**:\n\n.. code-block:: console\n\n $ pip install pyscaleio\n\n\nInstall as RPM package using **yum** or **dnf** on Fedora/RHEL/CentOS:\n\n.. code-block:: console\n\n $ dnf copr enable miushanov/pyaddons\n $ dnf copr enable miushanov/pyscaleio\n $ dnf install python-scaleio\n\n\nUsage\n-----\n\n* Create and register API client:\n\n.. code-block:: python\n\n import pyscaleio\n\n # create API client\n client = pyscaleio.ScaleIOClient.from_args(\"gateway_address\", \"admin\", \"password\")\n\n # register it for using in models\n pyscaleio.add_client(client)\n\n* Find and modify resources:\n\n.. code-block:: python\n\n # get all volumes in cluster\n volumes = pyscaleio.Volume.all()\n assert len(volumes) == 1\n\n # or, get volume by specified id\n volume = pyscaleio.Volume.one_by_name(\"test_volume\")\n\n # and access some volume attributes\n assert volume.name == \"test_volume\"\n assert volume.size == 8 * constants.GIGABYTE\n\n # or, resize it to new size\n volume.resize(16)\n\n volume.update() # updates model data\n assert volume.size == 16 * constants.GIGABYTE\n\n* Create or delete resources:\n\n.. code-block:: python\n\n # create new volume in storage pool\n volume = pyscaleio.Volume.create(16, \"storage_pool_id\", \"new_volume\")\n assert volume.name == \"new_volume\"\n assert volume.size == 16 * constants.GIGABYTE\n\n # delete volume\n volume = pyscaleio.Volume.one_by_name(\"test_volume\")\n volume.delete()\n\n* Tune client and models options:\n\n.. code-block:: python\n\n pyscaleio.configure(\n # retries count for each request\n request_retries=0,\n # network timeout for requests\n network_timeout=30,\n # name of exported volume (according to udev/rules.d)\n volume_name=\"emc-2{system_id}{volume_id}\",\n # prefix of exported volume\n volume_prefix=\"/dev/disk/by-id\")\n\n volume = pyscaleio.Volume.one_by_name(\"test_volume\")\n assert volume.path == \"/dev/disk/by-id/emc-27947a0127a79ce60ca29f20900000008\"\n\n\nTests\n-----\n\nTests for this library divided to unit tests and functional tests.\nFunctional tests requires ScaleIO installation and available REST API Gateway service. For running functional tests use **tox** environment with name *functional* with passed variables:\n\n\n* ``scaleio_host`` - IP address or hostname of ScaleIO REST API Gateway\n* ``scaleio_user`` - username\n* ``scaleio_passwd`` - password\n* ``scaleio_is_secure`` - ``1`` for using **https** scheme otherwise ``0`` (optional)\n* ``scaleio_trace`` - level of logging to stderr (optional)\n\nExample:\n\n.. code-block:: console\n\n $ scaleio_host=localhost scaleio_user=admin scaleio_passwd=passwd tox -e functional\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/gmmephisto/pyscaleio", "keywords": "emc\nscaleio\nvxflex", "license": "Apache Software License 2.0", "maintainer": "", "maintainer_email": "", "name": "pyscaleio", "package_url": "https://pypi.org/project/pyscaleio/", "platform": "", "project_url": "https://pypi.org/project/pyscaleio/", "project_urls": { "Homepage": "https://github.com/gmmephisto/pyscaleio" }, "release_url": "https://pypi.org/project/pyscaleio/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "ScaleIO/VxFlex API client", "version": "0.1.7" }, "last_serial": 4841267, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1d648c249605be35b08c73db4019a5f3", "sha256": "cb47ea9ad2e7b37ac34d663d03202a03559d10c98dd7757706d40d8b53caeb2d" }, "downloads": -1, "filename": "pyscaleio-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1d648c249605be35b08c73db4019a5f3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10492, "upload_time": "2016-04-18T00:14:24", "url": "https://files.pythonhosted.org/packages/b0/21/4078fe00f6303f047a3d33afbb59422fb1f175e074d3898d9acfeba86838/pyscaleio-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dcf1ac74280356849f2728f0bb468a44", "sha256": "83256dc1cd24998e1571b4a1dd830056a2722c9c2f2ab820fa9ee0b9d3f9168c" }, "downloads": -1, "filename": "pyscaleio-0.1.0.tar.gz", "has_sig": false, "md5_digest": "dcf1ac74280356849f2728f0bb468a44", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16387, "upload_time": "2016-04-18T00:24:23", "url": "https://files.pythonhosted.org/packages/1e/2b/48b00d00167747e17a487be8aef33858279d16d219982bdd18ef89cafd08/pyscaleio-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ae5cb6eb882a16cd2014aed6fa3ea06f", "sha256": "006bb04e9b9ec7d609b01098b2023266839b3ec9abe662e8c913c3c999a08de7" }, "downloads": -1, "filename": "pyscaleio-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ae5cb6eb882a16cd2014aed6fa3ea06f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11381, "upload_time": "2016-04-19T20:43:57", "url": "https://files.pythonhosted.org/packages/a7/05/c02423f1d0aaabf47787efa6b1eb4518b6aed8fa28cd1b8d107e3dc34f77/pyscaleio-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7e055e7dc7ed1b18cacc2ba94edf3749", "sha256": "9753c42626e279446e8db62594210d1c2a87b125ab5fb2ad6b37dcd78d0e5be5" }, "downloads": -1, "filename": "pyscaleio-0.1.1.tar.gz", "has_sig": false, "md5_digest": "7e055e7dc7ed1b18cacc2ba94edf3749", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18439, "upload_time": "2016-04-19T20:44:14", "url": "https://files.pythonhosted.org/packages/61/3d/6ccfcd7f7b790024c2a9d366629f8ccce9a00677d08438c9a1cd3498f7df/pyscaleio-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1bfabc321cfb24c12ab24bdcbf4b750b", "sha256": "2b9789a90ad244d2f62f51671124ea148a899ec6d9458e207f8908bb00dd8db7" }, "downloads": -1, "filename": "pyscaleio-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1bfabc321cfb24c12ab24bdcbf4b750b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13140, "upload_time": "2016-04-23T18:51:15", "url": "https://files.pythonhosted.org/packages/eb/e0/df357bba68237a96e0b5697a90cc0bf1324468bb9b0224cdb8c149c32aca/pyscaleio-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44f86f47ba83bfcfe0cca2caf519a5ad", "sha256": "fb1ab3e92d4ecbde65d12186404dff9a93e8ebffffe266f6a39200a3f93d9662" }, "downloads": -1, "filename": "pyscaleio-0.1.2.tar.gz", "has_sig": false, "md5_digest": "44f86f47ba83bfcfe0cca2caf519a5ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20009, "upload_time": "2016-04-23T18:52:45", "url": "https://files.pythonhosted.org/packages/a5/59/22fe627a84468bc0cd120cd6f89dd0c89ac37b1a9267cf8b41e46759152e/pyscaleio-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "971c2f9f898991a96e2e7dc96a0505ba", "sha256": "4488d963c57696ead856e6a58eb3ef623379e89c9fd861354ce1b1a737e2217f" }, "downloads": -1, "filename": "pyscaleio-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "971c2f9f898991a96e2e7dc96a0505ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14977, "upload_time": "2016-04-28T22:08:42", "url": "https://files.pythonhosted.org/packages/15/71/79ddefa963a410cb4806ff1ac5cff54f9e980df4c6498d2558105c7e09a1/pyscaleio-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0601ea16d7e985f6568a3d0c7fe25370", "sha256": "045db9f7ae6e66003e5c9ae2fb49102444b2ba9911d4d448f7d699980aab227f" }, "downloads": -1, "filename": "pyscaleio-0.1.3.tar.gz", "has_sig": false, "md5_digest": "0601ea16d7e985f6568a3d0c7fe25370", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29385, "upload_time": "2016-04-28T22:08:56", "url": "https://files.pythonhosted.org/packages/0d/0a/3078ac4e5da8372ab0c3499143001a1f3923e65a4b75b521a64ed4a51511/pyscaleio-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "0acb6589df9174486bdeb1101fb9554a", "sha256": "f66910b8b3a3623a3f6261a9de9120b893953451c19e2e15e835e2b0b65e920a" }, "downloads": -1, "filename": "pyscaleio-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0acb6589df9174486bdeb1101fb9554a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15377, "upload_time": "2017-04-18T19:07:43", "url": "https://files.pythonhosted.org/packages/e5/e4/33f5227edde184cf5f956e330cd5aed15e69c7ae279c5f940ebc6b493a1a/pyscaleio-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed3991371ed1ed2920cd76774f69addd", "sha256": "929d8952a090b691c21a18007a113469a71659b549756c019757ffbf6468f8d5" }, "downloads": -1, "filename": "pyscaleio-0.1.4.tar.gz", "has_sig": false, "md5_digest": "ed3991371ed1ed2920cd76774f69addd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 57608, "upload_time": "2017-04-18T19:07:40", "url": "https://files.pythonhosted.org/packages/d3/14/fb832d853bc41bf985ccac585a65215539e821b980711936956a9c28c3cc/pyscaleio-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "70efe3ae1353534c15d57a9c1e779e68", "sha256": "ea9eaacc5beb1ce5485cf857aea772a764077163da363117a7f2c1f8f9bc676b" }, "downloads": -1, "filename": "pyscaleio-0.1.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "70efe3ae1353534c15d57a9c1e779e68", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 15508, "upload_time": "2017-06-20T13:07:13", "url": "https://files.pythonhosted.org/packages/dd/21/51a3f6284bf53962a4f82063b2be9b6b516a69cebb9615ad2577e74045b9/pyscaleio-0.1.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "88676c4e12614babe5556ee132b3628c", "sha256": "f22af3d4078cab064c1a1df3c8ac9f645ac3830de1c72e1a50af1c5a1746b8c5" }, "downloads": -1, "filename": "pyscaleio-0.1.5.tar.gz", "has_sig": false, "md5_digest": "88676c4e12614babe5556ee132b3628c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58152, "upload_time": "2017-06-20T13:07:10", "url": "https://files.pythonhosted.org/packages/7b/78/948a8273fd67863c6062d51bd5ad7bc18685f060c895b13e23dd64038633/pyscaleio-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "1eb5f55cb5fee8a3742a50b8b689ea3a", "sha256": "46b12fda8f3c9a9a4410fd44977f8fdf6d1b69319421384264006f025c1e7c4f" }, "downloads": -1, "filename": "pyscaleio-0.1.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1eb5f55cb5fee8a3742a50b8b689ea3a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13357, "upload_time": "2019-01-07T23:48:19", "url": "https://files.pythonhosted.org/packages/fd/75/6ad56161081d5b5e70e7606beab97c1c366cc124698687be4e0f42668421/pyscaleio-0.1.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "69d1feaa11b3186f1383cc056a4397ab", "sha256": "656dfaaca5e4072684303a78ea0809f2924fa02ba75e2232807c960ada8241ab" }, "downloads": -1, "filename": "pyscaleio-0.1.6.tar.gz", "has_sig": false, "md5_digest": "69d1feaa11b3186f1383cc056a4397ab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22628, "upload_time": "2019-01-07T23:48:16", "url": "https://files.pythonhosted.org/packages/40/2c/a784003d19b8709877ef5b611064ad1978ed6da474dd3554b324c75fd413/pyscaleio-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "5f002e33163ad79df7fb8a4180295461", "sha256": "82f12e7d63e16397717255ce3ef59d0f8d751b8668e573cf85711fd8aca1238a" }, "downloads": -1, "filename": "pyscaleio-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f002e33163ad79df7fb8a4180295461", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13440, "upload_time": "2019-02-19T19:01:49", "url": "https://files.pythonhosted.org/packages/4b/fa/7956371be4fb617b25342c5de2b8234d0f1bcdc9415a70e425997c5ee0b3/pyscaleio-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b933aa453d4f34d56e0591d1d1a99425", "sha256": "e169cb69ab49d0f2838403eec70702d66d2e7bea4f4414d5fa1fe991cf152a25" }, "downloads": -1, "filename": "pyscaleio-0.1.7.tar.gz", "has_sig": false, "md5_digest": "b933aa453d4f34d56e0591d1d1a99425", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27114, "upload_time": "2019-02-19T19:01:47", "url": "https://files.pythonhosted.org/packages/ca/33/2433c3ca16e67ce1885573021fc6592aedf6bbc79f612edb2777979fdcf8/pyscaleio-0.1.7.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5f002e33163ad79df7fb8a4180295461", "sha256": "82f12e7d63e16397717255ce3ef59d0f8d751b8668e573cf85711fd8aca1238a" }, "downloads": -1, "filename": "pyscaleio-0.1.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5f002e33163ad79df7fb8a4180295461", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 13440, "upload_time": "2019-02-19T19:01:49", "url": "https://files.pythonhosted.org/packages/4b/fa/7956371be4fb617b25342c5de2b8234d0f1bcdc9415a70e425997c5ee0b3/pyscaleio-0.1.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b933aa453d4f34d56e0591d1d1a99425", "sha256": "e169cb69ab49d0f2838403eec70702d66d2e7bea4f4414d5fa1fe991cf152a25" }, "downloads": -1, "filename": "pyscaleio-0.1.7.tar.gz", "has_sig": false, "md5_digest": "b933aa453d4f34d56e0591d1d1a99425", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27114, "upload_time": "2019-02-19T19:01:47", "url": "https://files.pythonhosted.org/packages/ca/33/2433c3ca16e67ce1885573021fc6592aedf6bbc79f612edb2777979fdcf8/pyscaleio-0.1.7.tar.gz" } ] }