{ "info": { "author": "Felipe \"Bidu\" Rodrigues", "author_email": "felipe@felipevr.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# OOWS\n\n[![Build Status](https://travis-ci.org/fbidu/oows.svg?branch=master)](https://travis-ci.org/fbidu/oows) [![PyPI version](https://badge.fury.io/py/OOWS.svg)](https://badge.fury.io/py/OOWS)\n\n**Warning \u2014 this project is in early development. Contributions and feedbacks are welcome. Usage in production systems is discouraged**\n\nOOWS (_oh-owls_) is an object-oriented friendly client for Amazon Web Services \u2014 AWS. It is based on [boto3](https://github.com/boto/boto3) official client and aims to provide a cleaner and more Pythonic interface to handle AWS resources.\n\nCurrently, Boto3 already provides [the Resource Model](https://boto3.readthedocs.io/en/latest/reference/core/resources.html) which is a nicer and more OO-friendly interface over raw JSON, [as explained here](https://github.com/boto/boto3/issues/112#issuecomment-100377492). Although it works, it does not provide an interface for resources I currently need. This project started by a personal need of mine to ease the current state of programmatic access to ECS resources.\n\n## Rationale\n\nSuppose you want to list all of a cluster's services' task definitions. Using pure `boto3`, you'd need to write something like:\n\n```python\nsession = boto3.Session()\necs_client = session.client('ecs')\nservices = ecs_client.list_services(cluster=\"MyCluster\")['serviceArns']\nfor service in services:\n s = ecs_client.describe_services(cluster=\"MyCluster\", services=[service])\n print(\"The task definition is {}\".format(s['services'][0]['taskDefinition']))\n```\n\nBut using `oows`, you can rewrite this code to something like:\n\n```python\ncluster = Cluster(\"MyCluster\")\n\nfor service in cluster.services:\n print(\"The task definition is {}\".format(service.task_definition))\n```\n\n## Quick Start\n\nCurrently, OOWS supports only a few ECS components and operations.\n\nFirst, install it with PIP\n\n`pip install boto3 oows`\n\nAs of now, you'll need to supply a regular [boto3 Session](https://boto3.readthedocs.io/en/latest/reference/core/session.html)\n\n```python\nimport boto3\nfrom oows import ecs\n\n\ns = boto3.Session() # Create a new boto3 Session.\n\ncluster = ecs.Cluster(\"MyCluster\", s) # Initialize a new cluster object\nservice = ecs.Service(\"server\", cluster, s) # Initialize a new service object\ntask_definition = service.task_definition # Gets the service's task definition\ntask_definition.update_env(\"new_env\", \"new_value\") # Creates a new task definition with updated env\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "LICENSE.md", "maintainer": "", "maintainer_email": "", "name": "OOWS", "package_url": "https://pypi.org/project/OOWS/", "platform": "", "project_url": "https://pypi.org/project/OOWS/", "project_urls": null, "release_url": "https://pypi.org/project/OOWS/0.0.4/", "requires_dist": [ "boto3 (==1.7.80)" ], "requires_python": "", "summary": "An object-oriented friendly & pythonic client for Amazon Web Services (AWS)", "version": "0.0.4" }, "last_serial": 4411308, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "45eeb2477556440c90b6e688fc3d279e", "sha256": "dc7ee54730c2184c213a35c010f66bd0daff97128ae1853cba6050cf032779fb" }, "downloads": -1, "filename": "oows-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "45eeb2477556440c90b6e688fc3d279e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5736, "upload_time": "2018-08-20T21:03:50", "url": "https://files.pythonhosted.org/packages/ac/3f/c8e8362aed8817bcd1ba921a6979866899439c34d5dbe1b3b0d0048ea4c3/oows-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20c62b7ec9e4db19f98fdd5b90a97e18", "sha256": "2d46fdeae903df0a761401fa63286cc90187b9864f3e03cae3322c0e6f5232e7" }, "downloads": -1, "filename": "OOWS-0.0.2.tar.gz", "has_sig": false, "md5_digest": "20c62b7ec9e4db19f98fdd5b90a97e18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4100, "upload_time": "2018-08-20T20:53:47", "url": "https://files.pythonhosted.org/packages/8a/35/8a4d054b91a43f8b4cc1e46c61e5d4f4ff9cc296a11910139da4719f7d66/OOWS-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "196ab746529f430e0a8859782ab479d7", "sha256": "e5855556b2cd62df444d5a33c5081cc0e13217376be5a09f21201fcd0a47bc1a" }, "downloads": -1, "filename": "oows-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "196ab746529f430e0a8859782ab479d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 5729, "upload_time": "2018-08-21T00:37:23", "url": "https://files.pythonhosted.org/packages/8e/aa/53184fc207bbc2bca81bb5b1285fea46adb5b614e148463a30624f01d1bc/oows-0.0.3-py3-none-any.whl" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "5ade02988dbf9b1cd88513bc96b437ef", "sha256": "0ffa627143fce24cc70e6148c23ea0f04d3300662a73d22a4113e6b4b9510e96" }, "downloads": -1, "filename": "oows-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5ade02988dbf9b1cd88513bc96b437ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6325, "upload_time": "2018-10-24T14:19:56", "url": "https://files.pythonhosted.org/packages/d4/98/0eaf643bcfbc129998f10ec945e405f2a20b4e3b1f2c5b79ddd217ce935f/oows-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f494894dc56992a108e498662e3dccf", "sha256": "50a8a03efe5adb1b4e54925f3049bf7063c6a029000ce5b9324220ac169bd47d" }, "downloads": -1, "filename": "oows-0.0.4.tar.gz", "has_sig": false, "md5_digest": "3f494894dc56992a108e498662e3dccf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4725, "upload_time": "2018-10-24T14:19:57", "url": "https://files.pythonhosted.org/packages/4b/82/76f894bee4064f4163687572b2477ea5a6e12956fc8ba0a34f94b36ac724/oows-0.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5ade02988dbf9b1cd88513bc96b437ef", "sha256": "0ffa627143fce24cc70e6148c23ea0f04d3300662a73d22a4113e6b4b9510e96" }, "downloads": -1, "filename": "oows-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "5ade02988dbf9b1cd88513bc96b437ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6325, "upload_time": "2018-10-24T14:19:56", "url": "https://files.pythonhosted.org/packages/d4/98/0eaf643bcfbc129998f10ec945e405f2a20b4e3b1f2c5b79ddd217ce935f/oows-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3f494894dc56992a108e498662e3dccf", "sha256": "50a8a03efe5adb1b4e54925f3049bf7063c6a029000ce5b9324220ac169bd47d" }, "downloads": -1, "filename": "oows-0.0.4.tar.gz", "has_sig": false, "md5_digest": "3f494894dc56992a108e498662e3dccf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4725, "upload_time": "2018-10-24T14:19:57", "url": "https://files.pythonhosted.org/packages/4b/82/76f894bee4064f4163687572b2477ea5a6e12956fc8ba0a34f94b36ac724/oows-0.0.4.tar.gz" } ] }