{ "info": { "author": "Unknown", "author_email": "husanhe@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://readthedocs.org/projects/troposphere_mate/badge/?version=latest\n :target: https://troposphere_mate.readthedocs.io/index.html\n :alt: Documentation Status\n\n.. image:: https://travis-ci.org/MacHu-GWU/troposphere_mate-project.svg?branch=master\n :target: https://travis-ci.org/MacHu-GWU/troposphere_mate-project?branch=master\n\n.. image:: https://codecov.io/gh/MacHu-GWU/troposphere_mate-project/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/MacHu-GWU/troposphere_mate-project\n\n.. image:: https://img.shields.io/pypi/v/troposphere_mate.svg\n :target: https://pypi.python.org/pypi/troposphere_mate\n\n.. image:: https://img.shields.io/pypi/l/troposphere_mate.svg\n :target: https://pypi.python.org/pypi/troposphere_mate\n\n.. image:: https://img.shields.io/pypi/pyversions/troposphere_mate.svg\n :target: https://pypi.python.org/pypi/troposphere_mate\n\n.. image:: https://img.shields.io/badge/STAR_Me_on_GitHub!--None.svg?style=social\n :target: https://github.com/MacHu-GWU/troposphere_mate-project\n\n------\n\n\n.. image:: https://img.shields.io/badge/Link-Document-blue.svg\n :target: https://troposphere_mate.readthedocs.io/index.html\n\n.. image:: https://img.shields.io/badge/Link-API-blue.svg\n :target: https://troposphere_mate.readthedocs.io/py-modindex.html\n\n.. image:: https://img.shields.io/badge/Link-Source_Code-blue.svg\n :target: https://troposphere_mate.readthedocs.io/py-modindex.html\n\n.. image:: https://img.shields.io/badge/Link-Install-blue.svg\n :target: `install`_\n\n.. image:: https://img.shields.io/badge/Link-GitHub-blue.svg\n :target: https://github.com/MacHu-GWU/troposphere_mate-project\n\n.. image:: https://img.shields.io/badge/Link-Submit_Issue-blue.svg\n :target: https://github.com/MacHu-GWU/troposphere_mate-project/issues\n\n.. image:: https://img.shields.io/badge/Link-Request_Feature-blue.svg\n :target: https://github.com/MacHu-GWU/troposphere_mate-project/issues\n\n.. image:: https://img.shields.io/badge/Link-Download-blue.svg\n :target: https://pypi.org/pypi/troposphere_mate#files\n\n\nWelcome to ``troposphere_mate`` Documentation\n==============================================================================\n\n``troposphere_mate`` is **a productive Pythonic Cloudformation Orchestration Tool**.\n\n.. contents::\n :depth: 1\n :local:\n\n`troposphere `_ is a great Python library allow you to define AWS CloudFormation Resource in Python Class. **But due to its implementation, IDLE can't use attribute auto hint, and Type hint doesn't work as well**. \n\n``troposphere_mate`` provides **API exactly same as** ``troposphere``, and comes with **Properties auto hint** and **type hint**. ``troposphere_mate`` is just a thin wrapper layer on top of ``troposphere``. Any ``troposphere_mate.AWSObject`` is just subclass of ``troposphere.AWSObject``.\n\nMy goal is 100% API compatible to ``troposphere``. Basically, you just need to replace ``from troposphere import Template, Ref, Tags, GetAtt`` to ``from troposphere_mate import Template, Ref, Tags, GetAtt``.\n\n**Here's how it looks like in IDLE**:\n\n.. image:: https://user-images.githubusercontent.com/6800411/60903484-686b1b80-a23f-11e9-8d20-22c989339cd0.png\n :width: 600 px\n\n.. image:: https://user-images.githubusercontent.com/6800411/60776028-e40d8100-a0f6-11e9-9cae-98af25cbd9b7.png\n :width: 600 px\n\n.. image:: https://user-images.githubusercontent.com/6800411/60776079-3484de80-a0f7-11e9-81b8-c4b2f1c4b45e.png\n :width: 600 px\n\nOf course you can do:\n\n.. code-block:: python\n\n ec2 = ec2.Instance(\n title=\"MyEc2Instance),\n InstanceType=\"t2.micro\",\n Tags=Tags(\n Creator=\"MyName\",\n Name=\"PlayGround\",\n ),\n ...\n )\n\nHow ``troposphere`` implements:\n\n.. code-block:: python\n\n # content of troposphere.ec2.py\n class Instance(AWSObject):\n resource_type = \"AWS::EC2::Instance\"\n\n props = {\n 'InstanceType': (basestring, False),\n 'SubnetId': (basestring, False),\n 'KeyName': (basestring, False),\n ...\n }\n\nHow ``troposphere_mate`` implements:\n\n.. code-block:: python\n\n # content of troposphere_mate.ec2.py\n class Instance(troposphere.ec2.Instance, Mixin):\n def __init__(self,\n title, # type: str\n template=None, # type: Template\n validation=True, # type: bool\n InstanceType=NOTHING, # type: str\n SubnetId=NOTHING, # type: Union[str, AWSHelperFn]\n KeyName=NOTHING, # type: Union[str, AWSHelperFn]\n ...\n **kwargs):\n ...\n\n\nAdditional Powerful Features\n------------------------------------------------------------------------------\n\n.. contents::\n :depth: 1\n :local:\n\n\nBatch Tagging\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSometimes you want to **apply a set of common tags to all AWS Resource** defined in a Template. ``trpoosphere_mate`` allows you to:\n\n- apply common tags to specified list of AWS Resource or all of Resources in a Template.\n- custom tag creation logic function, let's say based on the Resource Type.\n- allow you to choose the merge ``existing tag`` into ``common tag`` or reversely.\n\nExample:\n\n.. code-block:: python\n\n from troposphere_mate import Template, ec2, Tags,\n from functools import partial\n\n tpl = Template()\n\n my_vpc = ec2.VPC(\n \"MyVPC\",\n template=tpl,\n CidrBlock=\"10.0.0.0/16\",\n Tags=Tags(\n Creator=\"Alice\"\n )\n )\n my_sg = ec2.SecurityGroup(\n \"MySG\",\n template=tpl,\n GroupDescription=\"My\",\n GroupName=\"MySG\",\n VpcId=Ref(my_vpc),\n )\n my_subnet = ec2.Subnet(\n \"MySubnet\",\n template=tpl,\n CidrBlock=\"10.0.1.0/24\",\n VpcId=Ref(my_vpc),\n )\n\n # custom logic to create tag if it is a SecurityGroup\n def get_name(resource, project):\n if resource.resource_type == \"AWS::EC2::SecurityGroup\":\n return \"{}/sg/{}\".format(project, resource.GroupName)\n\n common_tags = dict(\n Project=\"my-project\",\n Name=functools.partial(get_name, project=\"my-project\"),\n Creator=\"Bob\",\n )\n\n # apply common tags to all aws resource\n tpl.update_tags(common_tags, overwrite=False)\n\n assert tags_list_to_dct(tpl.to_dict()[\"Resources\"][\"MyVPC\"][\"Properties\"][\"Tags\"]) == dict(\n Project=\"my-project\",\n Creator=\"Alice\",\n )\n assert tags_list_to_dct(tpl.to_dict()[\"Resources\"][\"MySG\"][\"Properties\"][\"Tags\"]) == dict(\n Project=\"my-project\",\n Name=\"my-project/sg/MySG\",\n Creator=\"Bob\",\n )\n\nAny AWS Resource object and Template object has a utility method ``.update_tags()``\n\n.. code-block:: python\n\n # by default overwrite = False, so common tags doesn't overwrite existing tags\n # update single resource\n my_ec2.update_tags({\"Project\": \"my-project\"})\n # update entire template\n tpl.update_taggs({\"Project\": \"my-project\"})\n\n\nAuto Reference\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSometimes, you just know you need to associate one AWS Resource to another, but you\nhave to lookup the Document to find out which Property and what is the Syntax to do that.\n\nFor example, **if you want to associate an IAM Role, VPC Subnet, Security Group to a Lambda Function**.\n\nSuppose you already have:\n\n.. code-block:: python\n\n from troposphere_mate import ec2, awslambda, iam\n\n tpl = Template()\n\n iam_role = iam.Role(\n title=\"MyIamRole\",\n template=tpl,\n RoleName=\"lambda-basic-execution\",\n AssumeRolePolicyDocument={},\n )\n\n vpc = ec2.VPC(\n title=\"MyVPC\",\n template=tpl,\n CidrBlock=\"10.53.0.0/16\"\n )\n\n public_subnet1 = ec2.Subnet(\n title=\"PublicSubnet1\",\n template=tpl,\n CidrBlock=\"10.53.0.0/16\",\n VpcId=Ref(vpc)\n )\n public_subnet2 = ec2.Subnet(\n title=\"PublicSubnet2\",\n template=tpl,\n CidrBlock=\"10.53.2.0/16\",\n VpcId=Ref(vpc)\n )\n\n sg = ec2.SecurityGroup(\n title=\"LambdaSG\",\n template=tpl,\n GroupDescription=\"Just a SG\"\n )\n\n lbd_func = awslambda.Function(\n title=\"MyFunc\",\n template=tpl,\n Code=awslambda.Code(\n S3Bucket=\"my-bucket\",\n S3Key=\"0.0.1.zip\",\n ),\n Handler=\"my_func.handler\",\n Role=\"arn:aws:iam::111122223333:role/todo\",\n Runtime=\"python3.6\"\n )\n\n\nWith ``troposphere_mate``, you just need to do this:\n\n.. code-block:: python\n\n from troposphere_mate import associate\n\n associate(lbd_func, iam_role) # order doesn't matter, associate(iam_role, lbd_func)\n associate(lbd_func, sg)\n associate(lbd_func, public_subnet1)\n associate(lbd_func, public_subnet2)\n\nIn other word, you don't need to remember the properties and the syntax.\n\n.. code-block:: python\n\n from troposphere import Ref\n from troposphere import awslambda\n\n lbd_func.Role = Ref(iam_role)\n lbd_func.VpcConfig = awslambda.VPCConfig(\n SecurityGroupIds=[\n Ref(sg)\n ],\n SubnetIds=[\n Ref(public_subnet1),\n Ref(public_subnet2),\n ]\n )\n\nIf you want to contribute your auto-associate logic to ``troposphere_mate``, please submit `issue `_ or help me to improve. Here's an `example `_.\n\n\nPartial Deployment\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAt most of the times, eventually your cloudformation template becomes very big. There are some common use case in development and deployment:\n\n1. **You want to reuse the AWS Resource from an Big Architect Design, only deploy selected AWS Resource, without editing the template.**\n2. **You want to gradually deploy AWS Resource instead of deploy everything in one command, while you are doing development or debugging, without editing the template.**\n\n`troposphere_mate `_ **allows you to define labels for your AWS Resource** in ``Metadata`` field, then you can use ``Template.remove_resource_by_label(label=\"a label\", label_field_in_metadata=\"labels\")`` method to **batch remove AWS Resource from your template**.\n\nMore importantly, `troposphere_mate `_ **allows you to explicitly defines dependent AWS Resource for Output object, so when you remove the resource, related output will automatically removed**, which is not supported by native CloudFormation or ``troposphere``.\n\nExample:\n\n.. code-block:: python\n\n from troposphere_mate import ec2, rds\n\n class Labels:\n tier1_vpc = \"tier1_vpc\"\n vpc = \"vpc\"\n sg = \"security_group\"\n tier2_rds = \"tier2_rds\"\n db_subnet_group = \"db_subnet_group\"\n db_instance = \"db_instance\"\n\n tpl = Template()\n\n vpc = ec2.VPC(\n \"VPC\",\n template=tpl,\n Metadata={\"labels\": [Labels.tier1_vpc, Labels.vpc]},\n ...\n )\n\n sg_ssh = ec2.SecurityGroup(\n \"SecurityGroupSSH\",\n template=tpl,\n Metadata={\"labels\": [Labels.tier1_vpc, Labels.sg]},\n ...\n )\n\n rds_db_subnet_group = rds.DBSubnetGroup(\n \"DBInstance\",\n template=tpl,\n Metadata={\"labels\": [Labels.tier2_rds, Labels.db_subnet_group]}\n )\n\n rds_instance = rds.DBInstance(\n \"DBInstance\",\n template=tpl,\n Metadata={\"labels\": [Labels.tier2_rds, Labels.db_instance]}\n )\n\n tpl.add_output(\n Output(\n \"VPC\",\n Description=\"VPC ID\",\n Value=Ref(vpc),\n Export=Export(\"vpc-id\")),\n DependsOn=[vpc,], # specify the dependent AWS Resource, so when you remove the resource, related output will automatically removed\n ),\n )\n\n assert len(tpl.resources) == 4\n assert len(tpl.outputs) == 1\n\n tpl.remove_resource_by_label(Labels.db_instance)\n assert len(tpl.resources) == 3\n\n tpl.remove_resource_by_label(Labels.tier2_rds)\n assert len(tpl.resources) == 2\n\n tpl.remove_resource_by_label(Labels.tier1_vpc)\n assert len(tpl.resources) == 0\n assert len(tpl.outputs) == 0\n\n\n.. _install:\n\nInstall\n------------------------------------------------------------------------------\n\n``troposphere_mate`` is released on PyPI, so all you need is:\n\n.. code-block:: console\n\n $ pip install troposphere_mate\n\nTo upgrade to latest version:\n\n.. code-block:: console\n\n $ pip install --upgrade troposphere_mate\n\n", "description_content_type": "", "docs_url": null, "download_url": "https://pypi.python.org/pypi/troposphere_mate/0.0.10#downloads", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/MacHu-GWU/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "troposphere-mate", "package_url": "https://pypi.org/project/troposphere-mate/", "platform": "Windows", "project_url": "https://pypi.org/project/troposphere-mate/", "project_urls": { "Download": "https://pypi.python.org/pypi/troposphere_mate/0.0.10#downloads", "Homepage": "https://github.com/MacHu-GWU/" }, "release_url": "https://pypi.org/project/troposphere-mate/0.0.10/", "requires_dist": [ "troposphere (==2.4.9)", "typing", "picage", "pathlib-mate", "superjson", "configirl", "typing ; python_version == \"2.7\"", "sphinx (==1.8.1) ; extra == 'docs'", "sphinx-rtd-theme ; extra == 'docs'", "sphinx-jinja ; extra == 'docs'", "sphinx-copybutton ; extra == 'docs'", "docfly (>=0.0.17) ; extra == 'docs'", "rstobj (>=0.0.5) ; extra == 'docs'", "pygments ; extra == 'docs'", "pytest (==3.2.3) ; extra == 'tests'", "pytest-cov (==2.5.1) ; extra == 'tests'", "pathlib-mate ; extra == 'tests'", "picage ; extra == 'tests'", "jinja2 ; extra == 'tests'" ], "requires_python": "", "summary": "Orchestrate AWS Resource in Pythonic Way.", "version": "0.0.10" }, "last_serial": 5947780, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "5709d49f45727cfae376ff47876c7ea5", "sha256": "b727391343180ec437bf0deccdb2517ea2a93c1d2a6391f71190890bb58e67ea" }, "downloads": -1, "filename": "troposphere_mate-0.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5709d49f45727cfae376ff47876c7ea5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 226303, "upload_time": "2019-07-08T01:35:16", "url": "https://files.pythonhosted.org/packages/ca/44/af40014f18004d6f20bd38a7aeff11df0cc27eb8863cdb9126af16674c31/troposphere_mate-0.0.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c8629e1f0e59b154e542a69c8f4b123f", "sha256": "7dc05a81f89950ebafff5744c15a80bf6f59c5ba8177f9eafb439dcee821191a" }, "downloads": -1, "filename": "troposphere_mate-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c8629e1f0e59b154e542a69c8f4b123f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 138706, "upload_time": "2019-07-08T01:35:19", "url": "https://files.pythonhosted.org/packages/82/c3/6c9a43f8f1b5ea6a919b174ebad9ff58f308525f2c7e3c62c624d7edb5ba/troposphere_mate-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "2900f7b2f4d0e9a12f7eafdb4a78b5f5", "sha256": "f3acd0ecfd7b2a4ec5984611fda199d00667fa476a974066846c0d0b3fbd8ecb" }, "downloads": -1, "filename": "troposphere_mate-0.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2900f7b2f4d0e9a12f7eafdb4a78b5f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 555395, "upload_time": "2019-10-09T04:49:31", "url": "https://files.pythonhosted.org/packages/2d/4b/0637a8dc03dc0bc797586b59acae78afdf9ccf3365d3267ac7f6dff7f46d/troposphere_mate-0.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "391ff4c3c6ad13b661a888db81742ec3", "sha256": "74db3b705776ca84202786ee06e0b1ede46c471acefcc9db3dfac20aebf6449d" }, "downloads": -1, "filename": "troposphere_mate-0.0.10.tar.gz", "has_sig": false, "md5_digest": "391ff4c3c6ad13b661a888db81742ec3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 348321, "upload_time": "2019-10-09T04:49:34", "url": "https://files.pythonhosted.org/packages/16/25/0d2050222e4e90c6c3f33e359f65a234e96af22b99a3c88f5e0f2e9420e1/troposphere_mate-0.0.10.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5e8f3935b0db3f845bf20f26890c87ba", "sha256": "cf747a8edef47e3b815a19f3e6edafdfa7095c282dc67381124a53b8ad931191" }, "downloads": -1, "filename": "troposphere_mate-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5e8f3935b0db3f845bf20f26890c87ba", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1134838, "upload_time": "2019-07-09T16:21:49", "url": "https://files.pythonhosted.org/packages/fc/98/6f547e517d2cb79b0c89a6a4071b2d17c015401037ba67722b764d8bb7a7/troposphere_mate-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f53a11075ecf3538ff419bcd98ff09c", "sha256": "38e12fa6d723f9306ca60c5f0bf9c13b624425517b771c28a22d6d73eab5c407" }, "downloads": -1, "filename": "troposphere_mate-0.0.2.tar.gz", "has_sig": false, "md5_digest": "6f53a11075ecf3538ff419bcd98ff09c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 675851, "upload_time": "2019-07-09T16:21:52", "url": "https://files.pythonhosted.org/packages/07/a6/42c513567c66a1d1067d6fa6ac943c415829f7975b8b5950623dd637bb5b/troposphere_mate-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "37ba9a11d1bf507a1faf144f6647420c", "sha256": "676412871c22f00187f46fa9cd0145f5bd289ef5434d48548edce28719e51377" }, "downloads": -1, "filename": "troposphere_mate-0.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "37ba9a11d1bf507a1faf144f6647420c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1219327, "upload_time": "2019-07-24T22:12:13", "url": "https://files.pythonhosted.org/packages/f9/eb/1603256ef8057b0af2625d0b86b1719531c954a06e268d987450355a80bc/troposphere_mate-0.0.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9a0b5bec756b186553f7664a5a0b644b", "sha256": "06458bd8c1abe15fec377ddcb70dd0ea935ece5b2ec1bfe80753650801bce6c2" }, "downloads": -1, "filename": "troposphere_mate-0.0.3.tar.gz", "has_sig": false, "md5_digest": "9a0b5bec756b186553f7664a5a0b644b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 740539, "upload_time": "2019-07-24T22:12:17", "url": "https://files.pythonhosted.org/packages/1c/90/732e8e8633195e0772dbd97aefc195d20818d253be7108b9b73200c9cae9/troposphere_mate-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "29d37567c7c3c334835d7844ccd2d637", "sha256": "b3307dca870831e800785f6f46c0b51071571ab5ba0746a5e3f0721ed8ec7fd5" }, "downloads": -1, "filename": "troposphere_mate-0.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "29d37567c7c3c334835d7844ccd2d637", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1223903, "upload_time": "2019-07-29T19:08:20", "url": "https://files.pythonhosted.org/packages/63/bc/f6c33a2976d9983d166258a52f75f36c89d082999c78db826731fef6eb76/troposphere_mate-0.0.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "406becd286e941538a07325daba5f970", "sha256": "1b5b510d63e05b5da393c103db3c944dd5b3f750b189a71a683c288077f4f8e5" }, "downloads": -1, "filename": "troposphere_mate-0.0.4.tar.gz", "has_sig": false, "md5_digest": "406becd286e941538a07325daba5f970", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 743370, "upload_time": "2019-07-29T19:08:22", "url": "https://files.pythonhosted.org/packages/b0/02/07a059f5b86d2226910cc679f748e39433138a14fca48ff5fb59d6d7388d/troposphere_mate-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "3963c131171873745195cfc7ed5c3c7d", "sha256": "95f342be5a79a70238342c1c6ece5d83916ac93965248f4fcc78b57737b5ce34" }, "downloads": -1, "filename": "troposphere_mate-0.0.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3963c131171873745195cfc7ed5c3c7d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1226228, "upload_time": "2019-08-07T18:35:13", "url": "https://files.pythonhosted.org/packages/08/2c/150441e0de4977cc2fcea2de22a91b074a44f682439f8f1b461928eb003a/troposphere_mate-0.0.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41f7be000342940af6171b737f7e6fe3", "sha256": "65673e4855e5ec8b3566cc88bfe0ec549ae183dc3bb129d5914f53171ffd175a" }, "downloads": -1, "filename": "troposphere_mate-0.0.5.tar.gz", "has_sig": false, "md5_digest": "41f7be000342940af6171b737f7e6fe3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 746423, "upload_time": "2019-08-07T18:35:15", "url": "https://files.pythonhosted.org/packages/7b/05/40d11560796f6302ee21aad67f284c5a02216ebea125d08bdce5d3ec53e2/troposphere_mate-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "440c61aea5b05e5ac27a4547d779f562", "sha256": "a94bb1f66e1394afe43043760aa0a0dab798fedf3d2d6e8fbbae6b34495e6bbd" }, "downloads": -1, "filename": "troposphere_mate-0.0.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "440c61aea5b05e5ac27a4547d779f562", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 530986, "upload_time": "2019-08-08T20:23:34", "url": "https://files.pythonhosted.org/packages/4c/a5/24a3d396042ba039a35fb58012580aba41c06ba81c17a84226b54378e2e3/troposphere_mate-0.0.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9eab2ac94d8f091780b3166da97280eb", "sha256": "d00f626be67d515c506027246b6371fdf8e818b2b9d41b2a819d7d231fff9c73" }, "downloads": -1, "filename": "troposphere_mate-0.0.6.tar.gz", "has_sig": false, "md5_digest": "9eab2ac94d8f091780b3166da97280eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 330160, "upload_time": "2019-08-08T20:23:37", "url": "https://files.pythonhosted.org/packages/34/e5/5bb5b608571019db83a2d7cb475587c21e99e9f6e933bb36610bd4146401/troposphere_mate-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "cf504a5d1753cce20369568ca6fb01a5", "sha256": "22136c330502cf66f5deff6d721be2cac02b1abd00b4075457930b447f26ffbd" }, "downloads": -1, "filename": "troposphere_mate-0.0.7-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cf504a5d1753cce20369568ca6fb01a5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 531424, "upload_time": "2019-09-09T20:44:12", "url": "https://files.pythonhosted.org/packages/be/ed/dacd49b1a95f641c4b02dba74d115d075f9acbac21a20826b26fc06b31a8/troposphere_mate-0.0.7-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a06338272199e775048c9f15d986b9c0", "sha256": "221377f3288cdcc5d88122c452ca7bcda2509032ef3bfdc39bc44fd831c6e623" }, "downloads": -1, "filename": "troposphere_mate-0.0.7.tar.gz", "has_sig": false, "md5_digest": "a06338272199e775048c9f15d986b9c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 330626, "upload_time": "2019-09-09T20:44:14", "url": "https://files.pythonhosted.org/packages/8f/c1/66cf753c9ee1abf0393f83ed1887c89b708f63dafa3e8f7a92f9191140b3/troposphere_mate-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "3e41ba3e34bb5c951b7d9960511d566d", "sha256": "0c6147956aedb66b3f4ed7185707b98afa2eb527e2a3f4f4742b544936fb5662" }, "downloads": -1, "filename": "troposphere_mate-0.0.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3e41ba3e34bb5c951b7d9960511d566d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 544722, "upload_time": "2019-09-30T23:15:11", "url": "https://files.pythonhosted.org/packages/86/dc/6436f3a630afd1803e24f7448156e9038d20f4f731dd3b7f19722a754084/troposphere_mate-0.0.8-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7491a2d7bca93d4178d201c796a1c4c2", "sha256": "9c5bd62d8b315d4ba2b5355ac8937b84d5544216f0cebc4d604c46b7d456d9d8" }, "downloads": -1, "filename": "troposphere_mate-0.0.8.tar.gz", "has_sig": false, "md5_digest": "7491a2d7bca93d4178d201c796a1c4c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 338937, "upload_time": "2019-09-30T23:15:14", "url": "https://files.pythonhosted.org/packages/3b/d2/0df47d17ddc0efa36bcadd195fd073a7a36ed1b908bcc3a06a31f5eb9fe3/troposphere_mate-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "26efd4a601224d872672e30b7ba44231", "sha256": "85278c5663bef38644b67ed10cd6653cdc565077f582a133de447b03d4b62352" }, "downloads": -1, "filename": "troposphere_mate-0.0.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "26efd4a601224d872672e30b7ba44231", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 548751, "upload_time": "2019-10-08T04:25:47", "url": "https://files.pythonhosted.org/packages/14/95/583f4a21e8c4fd02cb03841903613de407414bc46656e8ae6e864aa906e7/troposphere_mate-0.0.9-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef42e679629c36d1510ba8be57772adf", "sha256": "87dce5a8027251b6b237b675122bc1cf7ddea1a325a03b16a02714755f5e421c" }, "downloads": -1, "filename": "troposphere_mate-0.0.9.tar.gz", "has_sig": false, "md5_digest": "ef42e679629c36d1510ba8be57772adf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 342926, "upload_time": "2019-10-08T04:25:49", "url": "https://files.pythonhosted.org/packages/5e/5a/0468600ac094afcaf6e6c69ce37238bd7d6e146edda8d58ddbb4fa94fe74/troposphere_mate-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2900f7b2f4d0e9a12f7eafdb4a78b5f5", "sha256": "f3acd0ecfd7b2a4ec5984611fda199d00667fa476a974066846c0d0b3fbd8ecb" }, "downloads": -1, "filename": "troposphere_mate-0.0.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2900f7b2f4d0e9a12f7eafdb4a78b5f5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 555395, "upload_time": "2019-10-09T04:49:31", "url": "https://files.pythonhosted.org/packages/2d/4b/0637a8dc03dc0bc797586b59acae78afdf9ccf3365d3267ac7f6dff7f46d/troposphere_mate-0.0.10-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "391ff4c3c6ad13b661a888db81742ec3", "sha256": "74db3b705776ca84202786ee06e0b1ede46c471acefcc9db3dfac20aebf6449d" }, "downloads": -1, "filename": "troposphere_mate-0.0.10.tar.gz", "has_sig": false, "md5_digest": "391ff4c3c6ad13b661a888db81742ec3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 348321, "upload_time": "2019-10-09T04:49:34", "url": "https://files.pythonhosted.org/packages/16/25/0d2050222e4e90c6c3f33e359f65a234e96af22b99a3c88f5e0f2e9420e1/troposphere_mate-0.0.10.tar.gz" } ] }