{ "info": { "author": "Afraz", "author_email": "afraz@olindata.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Akinaka\n\nThis is a general all-purpose tool for managing things in AWS that Terraform is not responsible for -- you can think of it as an extension to the `aws` CLI.\n\nAt the moment it only does three things; blue/green deploys for plugging into Gitlab, AMI cleanups, and RDS copies to other accounts.\n\n- [Akinaka](#akinaka)\n - [Installation](#installation)\n - [Requirements and Presumptions](#requirements-and-presumptions)\n - [A Note on Role Assumption](#a-note-on-role-assumption)\n - [Deploys](#deploys)\n - [Cleanups](#cleanups)\n - [AMIs](#amis)\n - [EBS Volumes](#ebs-volumes)\n - [RDS Snapshots](#rds-snapshots)\n - [RDS](#rds)\n - [Copy](#copy)\n - [Container](#container)\n - [Billing](#billing)\n - [Contributing](#contributing)\n\n## Installation\n\n pip3 install akinaka\n\n## Requirements and Presumptions\n\nFormat of ASG names: \"whatever-you-like*-blue/green*\" \u2014 the part in bold is necessary, i.e. you must have two ASGs, one ending with \"-blue\" and one ending with \"-green\".\n\nThe following permissions are necessary for the IAM role / user that will be running Akinaka:\n\n sts:AssumeRole\n\nThe following permissions are necessary for the IAM role that the above role /user will be assuming, if you wish to use every single feature:\n\n {\n \"Version\": \"2012-10-17\",\n \"Statement\": [\n {\n \"Sid\": \"2018121701\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ec2:AuthorizeSecurityGroupIngress\",\n \"ec2:DescribeInstances\",\n \"ec2:CreateKeyPair\",\n \"ec2:CreateImage\",\n \"ec2:CopyImage\",\n \"ec2:DescribeSnapshots\",\n \"elasticloadbalancing:DescribeLoadBalancers\",\n \"ec2:DeleteVolume\",\n \"ec2:ModifySnapshotAttribute\",\n \"autoscaling:DescribeAutoScalingGroups\",\n \"ec2:DescribeVolumes\",\n \"ec2:DetachVolume\",\n \"ec2:DescribeLaunchTemplates\",\n \"ec2:CreateTags\",\n \"ec2:RegisterImage\",\n \"autoscaling:DetachLoadBalancerTargetGroups\",\n \"ec2:RunInstances\",\n \"ec2:StopInstances\",\n \"ec2:CreateVolume\",\n \"autoscaling:AttachLoadBalancerTargetGroups\",\n \"elasticloadbalancing:DescribeLoadBalancerAttributes\",\n \"ec2:GetPasswordData\",\n \"elasticloadbalancing:DescribeTargetGroupAttributes\",\n \"elasticloadbalancing:DescribeAccountLimits\",\n \"ec2:DescribeImageAttribute\",\n \"elasticloadbalancing:DescribeRules\",\n \"ec2:DescribeSubnets\",\n \"ec2:DeleteKeyPair\",\n \"ec2:AttachVolume\",\n \"autoscaling:DescribeAutoScalingInstances\",\n \"ec2:DeregisterImage\",\n \"ec2:DeleteSnapshot\",\n \"ec2:DescribeRegions\",\n \"ec2:ModifyImageAttribute\",\n \"elasticloadbalancing:DescribeListeners\",\n \"ec2:CreateSecurityGroup\",\n \"ec2:CreateSnapshot\",\n \"elasticloadbalancing:DescribeListenerCertificates\",\n \"ec2:ModifyInstanceAttribute\",\n \"elasticloadbalancing:DescribeSSLPolicies\",\n \"ec2:TerminateInstances\",\n \"elasticloadbalancing:DescribeTags\",\n \"ec2:DescribeTags\",\n \"ec2:DescribeLaunchTemplateVersions\",\n \"ec2:DescribeSecurityGroups\",\n \"ec2:DescribeImages\",\n \"ec2:DeleteSecurityGroup\",\n \"elasticloadbalancing:DescribeTargetHealth\",\n \"elasticloadbalancing:DescribeTargetGroups\"\n ],\n \"Resource\": \"*\"\n },\n {\n \"Sid\": \"2018121702\",\n \"Effect\": \"Allow\",\n \"Action\": [\n \"ssm:PutParameter\",\n \"ssm:GetParameter\",\n \"autoscaling:UpdateAutoScalingGroup\",\n \"ec2:ModifyLaunchTemplate\",\n \"ec2:CreateLaunchTemplateVersion\",\n \"autoscaling:AttachLoadBalancerTargetGroups\"\n ],\n \"Resource\": [\n \"arn:aws:autoscaling:*:*:autoScalingGroup:*:autoScalingGroupName/*\",\n \"arn:aws:ssm:eu-west-1:[YOUR_ACCOUNT]:parameter/deploying-status-*\",\n \"arn:aws:ec2:*:*:launch-template/*\"\n ]\n }\n ]\n }\n\n## A Note on Role Assumption\n\nAkinaka uses IAM roles to gain access into multiple accounts. Most commands require you to specify a list of roles you wish to perform a task for, and that role must have the [sts:AssumeRole](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_enable-create.html) permission. This is not only good security, it's helpful for ensuring you're doing things to the accounts you think you're doing things for ;)\n\n## Deploys\n\nDone with the `update` parent command, and then the `asg` and `targetgroup` subcommands (`update targetgroup` is only needed for blue/green deploys).\n\nExample:\n\n # For standalone ASGs (not blue/green)\n akinaka.py update \\\n --region eu-west-1 \\\n --role-arn arn:aws:iam::123456789100:role/management_assumable \\\n asg \\\n --asg workers \\\n --ami ami-000000\n\n # For blue/green ASGs\n akinaka.py update \\\n --region eu-west-1 \\\n --role-arn arn:aws:iam::123456789100:role/management_assumable \\\n asg \\\n --lb lb-asg-ext \\\n --ami ami-000000\n\n # For blue/green ASGs with multiple Target Groups behind the same ALB\n akinaka.py update \\\n --region eu-west-1 \\\n --role-arn arn:aws:iam::123456789100:role/management_assumable \\\n asg \\\n --target-group application-1a \\\n --ami ami-000000\n\nFor blue/green deploys, the next step is to check the health of your new ASG.\nFor the purposes of Gitlab CI/CD pipelines, this will be printed out as the only\noutput, so that it can be used in the next job.\n\nOnce the new ASG is confirmed to be working as expected:\n\n akinaka.py update --region eu-west-1 --role-arn arn:aws:iam::123456789100:role/management_assumable asg --new blue\n\nThe value of `--role-arn` is used to assume a role in the target account with enough\npermissions to perform the actions of modifying ASGs and Target Groups. As such,\n`akinaka` is able to do cross-account deploys. It will deliberately error if you\ndo not supply an IAM Role ARN, in order to ensure you are deploying to the account\nyou think you are.\n\n## Cleanups\n\nCurrently AMI, EBS, and RDS snapshot cleanups are supported.\n\nCommon option:\n\n`--role-arns` is a space separated list of IAM ARNs that can be assumed by the token you are using\nto run this command. The AMIs for the running instances found in these accounts will not be deleted. Not to be confused with `--role-arn`, accepted for the `update` parent command, for deploys.\n\n### AMIs\n\nCleans up AMIs and their snapshots based on a specified retention period, and deduced AMI usage (will\nnot delete AMIs that are currently in use). You can optionally specify an AMI name pattern, and it will\nkeep the latest version of all the AMIs it finds for it.\n\nUsage:\n\n akinaka.py cleanup \\\n --region eu-west-1 \\\n --role-arns \"arn:aws:iam::198765432100:role/management_assumable arn:aws:iam::123456789100:role/management_assumable\" \\\n ami \\\n --exceptional-amis cib-base-image-*\n --retention 7\n\nThe above will delete all AMIs and their snapshots, _except for those which:_\n\n1. Are younger than 7 days AND\n2. Are not in use by AWS accounts \"123456789100\" or \"198765432100\" AND\n3. WHERE the AMI name matches the pattern \"cib-base-image-*\", there is more than one match AND it is the oldest one\n\n`--exceptional-amis` is a space seperated list of exact names or patterns for which to keep the latest\nversion of an AMI for. For example, the pattern \"cib-base-image-*\" will match with normal globbing, and\nif there is more than one match, only the latest one will not be deleted (else there is no effect).\n\n`--retention` is the retention period you want to exclude from deletion. For example; `--retention 7`\nwill keep all AMIs found within 7 days, if they are not in the `--exceptional-amis` list.\n\n### EBS Volumes\n\nDelete all EBS volumes that are not attached to an instance (stopped or not):\n\n akinaka.py cleanup \\\n --region eu-west-1 \\\n --role-arns \"arn:aws:iam::198765432100:role/management_assumable arn:aws:iam::123456789100:role/management_assumable\" \\\n ebs\n\n### RDS Snapshots\n\n This will delete all snapshots tagged \"akinaka-made\":\n\n akinaka.py cleanup \\\n --not-dry-run \\\n --region eu-west-1 \\\n --role-arns \"arn:aws:iam::876521782800:role/OlinDataAssumedAdministrator\" \\\n rds \\\n --tags \"akinaka-made\"\n\n## RDS\n\nPerform often necessary but complex tasks with RDS.\n\n### Copy\n\nCopy encrypted RDS instances between accounts:\n\n akinaka.py copy --region eu-west-1 \\\n rds \\\n --source-role-arn arn:aws:iam::198765432100:role/management_assumable \\\n --target-role-arn arn:aws:iam::123456789100:role/management_assumable \\\n --snapshot-style running_instance \\\n --source-instance-name DB_FROM_ACCOUNT_198765432100 \\\n --target-instance-name DB_FROM_ACCOUNT_123456789100 \\\n --target-security-group SECURITY_GROUP_OF_TARGET_RDS \\\n --target-db-subnet SUBNET_OF_TARGET_RDS \\\n\n`--region` is optional because it will default to the environment variable `AWS_DEFAULT_REGION`.\n\n## Container\n\nLimited functionality for interactive with EKS and ECR. At the moment it's just getting a docker login via an assumed role to another assumed role:\n\n akinaka.py container --region eu-west-1 --role-arn arn:aws:iam::0123456789:role/registry-rw get-ecr-login --registry 0123456789\n\nThe above will assume the role `arn:aws:iam::0123456789:role/registry-rw` in the account with the registry, and spit out a `docker login` line for you to use \u2014 exactly like `aws ecr get-login`, but working for assumed roles.\n\n## Billing\n\nGet a view of your daily AWS estimated bill for the x number of days. Defaults to today's estimated bill.\n\n akinaka.py reporting --region us-east-1 \\\n --role-arn arn:aws:iam::1234567890:role/billing_assumerole \\\n bill-estimates --from-days-ago 1\n\nExample output:\n\n Today's estimated bill\n +------------+-----------+\n | Date | Total |\n |------------+-----------|\n | 2019-03-14 | USD 13.93 |\n +------------+-----------+\n\nYou can specify any integer value to the `--days-ago` flag. It's optional. Default value set for today (current day).\n\nYou can specify any region to the `--region` flag.\n\n## Contributing\n\nModules can be added easily by simply dropping them in and adding an entry into `akinaka.py` to include them, and some `click` code in their `__init__` (or elsewhere that's loaded, but this is the cleanest way).\n\nFor example, given a module called `akinaka_moo`, and a single command and file called `moo`, add these two lines in the appropriate places of `akinaka.py`:\n\n from akinaka_update.commands import moo as moo_commands\n cli.add_command(moo_commands)\n\nand the following in the module's `commands.py`:\n\n @click.group()\n @click.option(\"--make-awesome\", help=\"The way in which to make moo awesome\")\n def moo(make_awesome):\n import .moo\n # YOUR CODE USING THE MOO MODULE\n\nAdding commands that need subcommands isn't too different, but you might want to take a look at the already present examples of `update` and `cleanup`.\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": "https://gitlab.olindata.com/olindata/akinaka", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "akinaka", "package_url": "https://pypi.org/project/akinaka/", "platform": "", "project_url": "https://pypi.org/project/akinaka/", "project_urls": { "Homepage": "https://gitlab.olindata.com/olindata/akinaka" }, "release_url": "https://pypi.org/project/akinaka/0.3.0/", "requires_dist": [ "boto3", "datetime", "click", "pyyaml", "kubernetes" ], "requires_python": ">=3.3.0", "summary": "OlinData's aws cli Extras", "version": "0.3.0" }, "last_serial": 5995059, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "881e1a6ddaa4d33dd0d9b4fba8c294fa", "sha256": "b274590c9a68385b94393c3d443585fbffe7c8af1f8f1bb89e492dd80c1cd7f3" }, "downloads": -1, "filename": "akinaka-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "881e1a6ddaa4d33dd0d9b4fba8c294fa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 28880, "upload_time": "2019-03-05T10:23:06", "url": "https://files.pythonhosted.org/packages/fc/b2/bb3f6ba4d8607d0dbf6de569f0a5403f1d50e00238e7e80e18c9b0cdb31e/akinaka-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7ff32563513d915db0d7fcc6db2ef20f", "sha256": "b48b2f4ea046987032819c1fb5619c9abd95c29ddc6f1307c7c9da44dfb7999e" }, "downloads": -1, "filename": "akinaka-0.1.2.tar.gz", "has_sig": false, "md5_digest": "7ff32563513d915db0d7fcc6db2ef20f", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 15000, "upload_time": "2019-03-05T10:23:08", "url": "https://files.pythonhosted.org/packages/a7/39/d51539f61541aaede13a0aac6f5345c32a4a71a8bf616aecb017234dbdb1/akinaka-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "b32695d01a2b510ad70907c7516e4763", "sha256": "f3b0ec8bd70dddb477b1b7a4b45db1db11519f25d863b8c79cff5f98ccfeb8c5" }, "downloads": -1, "filename": "akinaka-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b32695d01a2b510ad70907c7516e4763", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 30201, "upload_time": "2019-03-05T14:30:50", "url": "https://files.pythonhosted.org/packages/90/1a/39d4fdc9b9c618988061867d17a8089e976a9921de867692457d4990808e/akinaka-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "36c0657a6da96c9dff2fccc6d595ccd4", "sha256": "2cc19f8052966c56bb7310289950189fa9df805a24c0f50460d590bbd3fd988e" }, "downloads": -1, "filename": "akinaka-0.1.3.tar.gz", "has_sig": false, "md5_digest": "36c0657a6da96c9dff2fccc6d595ccd4", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 15911, "upload_time": "2019-03-05T14:30:52", "url": "https://files.pythonhosted.org/packages/7b/66/3afb77c5e8c235276c84590ee9bcb2d6e9e969bc2a2b8d6fd3e1451f34e4/akinaka-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "24e354d8527ac7ac229cfede36c40519", "sha256": "2af13b35420a73ca96e7f83ca8ca5229e133f380ae85a8c74e6cbed1b7d6c614" }, "downloads": -1, "filename": "akinaka-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "24e354d8527ac7ac229cfede36c40519", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 30347, "upload_time": "2019-03-11T15:03:50", "url": "https://files.pythonhosted.org/packages/91/87/5119a03102c1de0d59a4c5cb468aef924c514a6c38546f9e457200319bff/akinaka-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "111a6f3b4cf21a02e5e52dc84edf1378", "sha256": "8faae7f1a6968e31f25bf427cb23284a32cb5a3a103626fee2fac5930c33d0d2" }, "downloads": -1, "filename": "akinaka-0.1.4.tar.gz", "has_sig": false, "md5_digest": "111a6f3b4cf21a02e5e52dc84edf1378", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 16160, "upload_time": "2019-03-11T15:03:53", "url": "https://files.pythonhosted.org/packages/07/13/82101951fb6d7c2dfef0faec918ef09cb9b3cb4b59b08611f83ff4d9b765/akinaka-0.1.4.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "1897ac825e3d157e61a20a7d00e78a67", "sha256": "4a372d8d2514eb151c62e46dad5f860defac78e752287c37c2ba1773194e4677" }, "downloads": -1, "filename": "akinaka-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1897ac825e3d157e61a20a7d00e78a67", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 30344, "upload_time": "2019-03-11T19:35:10", "url": "https://files.pythonhosted.org/packages/4e/aa/f0cc5b44d9aeb07f1c51d2df4915adf0bdd1a37c4abab6ca97ae5e8d7f77/akinaka-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "291c55b3c6cd0ad770b24c34826a850d", "sha256": "db95a20141fc2765e4886d6d01a63e756aef9104b8ee7548f0b080d2da3bce07" }, "downloads": -1, "filename": "akinaka-0.2.1.tar.gz", "has_sig": false, "md5_digest": "291c55b3c6cd0ad770b24c34826a850d", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 16164, "upload_time": "2019-03-11T19:35:12", "url": "https://files.pythonhosted.org/packages/f5/b7/11d71f3194f338f1ad7852cf24a131c0f2cc2ee583b16566fc6a9c6b6170/akinaka-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "88ec9cde33adb576b7e40bbb7a366a5f", "sha256": "aca6a09dd094d85e0c4dba4f78bf31eb9c88805aaaa258d9679a1b5fbed78aa4" }, "downloads": -1, "filename": "akinaka-0.2.10-py3-none-any.whl", "has_sig": false, "md5_digest": "88ec9cde33adb576b7e40bbb7a366a5f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 38103, "upload_time": "2019-04-26T15:17:28", "url": "https://files.pythonhosted.org/packages/75/8c/207edc219b145ab6db15360fe0105c8a8a75c2bc4bf1e57ef2a89e77b94c/akinaka-0.2.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "246a2ccc3e8ef4e1e0151328c9ebf7ab", "sha256": "59f9aba982acfb5a3c78086c99f595e0f3fd7ce4df13d0b36392c64faa4a2746" }, "downloads": -1, "filename": "akinaka-0.2.10.tar.gz", "has_sig": false, "md5_digest": "246a2ccc3e8ef4e1e0151328c9ebf7ab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 18977, "upload_time": "2019-04-26T15:17:31", "url": "https://files.pythonhosted.org/packages/06/3c/ab691c4e8f75a185ed207fadcf04b1724112d79dd18577e98b34a3a0e3cb/akinaka-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "125572257dce7ddc74e819df678fa660", "sha256": "c0a430d4ddf2df5b6ec855dccdfff711e6c484242cd8166970e8bd48c115a849" }, "downloads": -1, "filename": "akinaka-0.2.11-py3-none-any.whl", "has_sig": false, "md5_digest": "125572257dce7ddc74e819df678fa660", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 38138, "upload_time": "2019-04-27T18:53:30", "url": "https://files.pythonhosted.org/packages/a1/fd/da9947bc5b1b987ce9eeb627bf699d183e23d07467da9d800e0123ab3879/akinaka-0.2.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f646ed71302ab805c8e175016ba7a2e0", "sha256": "d8e8f4560066325f801342cdf65be65f1d7b817e144108b60bc2cb35fa6edd41" }, "downloads": -1, "filename": "akinaka-0.2.11.tar.gz", "has_sig": false, "md5_digest": "f646ed71302ab805c8e175016ba7a2e0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 19016, "upload_time": "2019-04-27T18:53:34", "url": "https://files.pythonhosted.org/packages/ca/3d/668952fc0d757c21745836cc6b5c6adbeafafc895d91ffac554533593701/akinaka-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "c1ea1095f6e7740e2c971e8fc3bde332", "sha256": "ad9baa6299230cfbeaf0b66431bac3aa69cff1ae57f04e5edd620ecc89b38194" }, "downloads": -1, "filename": "akinaka-0.2.12-py3-none-any.whl", "has_sig": false, "md5_digest": "c1ea1095f6e7740e2c971e8fc3bde332", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 38187, "upload_time": "2019-04-29T09:48:26", "url": "https://files.pythonhosted.org/packages/cb/99/ca1d45f5fdf7eb0fb9b4bca2c3c83c14ed126731b60f8d8a2ad7654bc283/akinaka-0.2.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "118f3078b8e491f9f31940e830ee88fd", "sha256": "443cc388a6b3a330e13714948c1550206f03587f713789796aceb6df30e2ed2a" }, "downloads": -1, "filename": "akinaka-0.2.12.tar.gz", "has_sig": false, "md5_digest": "118f3078b8e491f9f31940e830ee88fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 19058, "upload_time": "2019-04-29T09:48:30", "url": "https://files.pythonhosted.org/packages/bb/44/73891a23cdf03cb9f920e8115414610739a495affd3f5e253994707c5f86/akinaka-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "0b394ef3a8d3a5805dd5bfa3105cb446", "sha256": "370f0c1ab37aa3d8ffce8e947930bb67fc83294d8fda4ca56f19615f18c8121d" }, "downloads": -1, "filename": "akinaka-0.2.13-py3-none-any.whl", "has_sig": false, "md5_digest": "0b394ef3a8d3a5805dd5bfa3105cb446", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 38227, "upload_time": "2019-05-08T08:22:45", "url": "https://files.pythonhosted.org/packages/10/80/4a2c977bee0922df95299686731c1f1de42f16db12671a4517012a4693c4/akinaka-0.2.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aba8f7ea567e8b15e864fd66b9030299", "sha256": "62823dae116ae811bf6159afd47e0c778d6e5ce74e0d0669427b3a37102f20e5" }, "downloads": -1, "filename": "akinaka-0.2.13.tar.gz", "has_sig": false, "md5_digest": "aba8f7ea567e8b15e864fd66b9030299", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 19110, "upload_time": "2019-05-08T08:22:55", "url": "https://files.pythonhosted.org/packages/f9/b3/d0a5a5e032be68d27088bd35330e1d9cd0162dc98ff1ab2d2ba5cd33eca9/akinaka-0.2.13.tar.gz" } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "a072ffecdfc5f8fa010ad6ae73064a19", "sha256": "bb58154dca6a6f1372e493fa5506de9180bf5ece42957e8f51e2e5b62c3cfd1a" }, "downloads": -1, "filename": "akinaka-0.2.14-py3-none-any.whl", "has_sig": false, "md5_digest": "a072ffecdfc5f8fa010ad6ae73064a19", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 39621, "upload_time": "2019-05-29T07:36:36", "url": "https://files.pythonhosted.org/packages/8a/96/445f2db7eee8455d7256977b317dd2208c64936f97fb45e5a6d971c0898e/akinaka-0.2.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c99e84df60418fdf3dbbbd8c11db7ba5", "sha256": "8e80b050e9266451a3bc4ca13a988cf35a4c2572d52a1760d4a92efc73c4e7ae" }, "downloads": -1, "filename": "akinaka-0.2.14.tar.gz", "has_sig": false, "md5_digest": "c99e84df60418fdf3dbbbd8c11db7ba5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 19991, "upload_time": "2019-05-29T07:36:37", "url": "https://files.pythonhosted.org/packages/37/34/9e6affbaad2fa2da3f2cd48fe8c2a9d9b89cbc476e79fef17c9bed6fd7b7/akinaka-0.2.14.tar.gz" } ], "0.2.16": [ { "comment_text": "", "digests": { "md5": "f0fc0055aaf3be510170d67146f7256e", "sha256": "40d0bb1a9363a2c687ceee6a75e29edca1e73a215cd3aacb533821125ef5972f" }, "downloads": -1, "filename": "akinaka-0.2.16-py3-none-any.whl", "has_sig": false, "md5_digest": "f0fc0055aaf3be510170d67146f7256e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 39620, "upload_time": "2019-05-31T08:11:46", "url": "https://files.pythonhosted.org/packages/df/bb/bd6b004249ff94a6789592ce1afd44047c57d50f0993e971430826ad1831/akinaka-0.2.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa7feb9972e3b26cbe7ed52923ad03fd", "sha256": "7c4b611dcec1045558b74557963885d32e4ecf49266728d39734ecbd8c575f1a" }, "downloads": -1, "filename": "akinaka-0.2.16.tar.gz", "has_sig": false, "md5_digest": "aa7feb9972e3b26cbe7ed52923ad03fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 19995, "upload_time": "2019-05-31T08:11:48", "url": "https://files.pythonhosted.org/packages/f4/2c/60b8d09dde879f45a5b5517ff5bd82e33fd28307d10a41049d65e612fe50/akinaka-0.2.16.tar.gz" } ], "0.2.17": [ { "comment_text": "", "digests": { "md5": "3c70158e8971f744f6a53290d2dc079f", "sha256": "bb9f0e849b4ddca9b5971663c8810beb487626e56f6f8d7fed3a6e3b73fd6886" }, "downloads": -1, "filename": "akinaka-0.2.17-py3-none-any.whl", "has_sig": false, "md5_digest": "3c70158e8971f744f6a53290d2dc079f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 41321, "upload_time": "2019-06-05T14:57:25", "url": "https://files.pythonhosted.org/packages/04/90/d53f5a91fc6148d4135b78c129336a408f8960d1c087edf599344321b069/akinaka-0.2.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bfe06185d2dd001808f6389e39e1badd", "sha256": "03368589d7ddb4536960af58a57242170506e9a3cf298ca38fcf5521b681c458" }, "downloads": -1, "filename": "akinaka-0.2.17.tar.gz", "has_sig": false, "md5_digest": "bfe06185d2dd001808f6389e39e1badd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 20852, "upload_time": "2019-06-05T14:57:26", "url": "https://files.pythonhosted.org/packages/2c/9a/f8903397d5811020f1dc8ca8ff61b30cd277facc633d0b4dc0b50d64bad8/akinaka-0.2.17.tar.gz" } ], "0.2.18": [ { "comment_text": "", "digests": { "md5": "762fa8119291fe346371096ca4da833f", "sha256": "7cbfc6d08dad5a8c508d63f40d80d339147a650a5ef6f15587c632705fc56c0e" }, "downloads": -1, "filename": "akinaka-0.2.18-py3-none-any.whl", "has_sig": false, "md5_digest": "762fa8119291fe346371096ca4da833f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 41572, "upload_time": "2019-06-06T13:25:46", "url": "https://files.pythonhosted.org/packages/16/97/909a1319bc0d2ecfd3ab1a6dd595e572f922f0375c64cd1f16e8b4aebfa2/akinaka-0.2.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d91b5a9ab19ccc3ffcc7f01260d9ea4a", "sha256": "cd854bde7f1b203fe8affd4544aadcbacf54060d8b539751d73aa9ed4114607c" }, "downloads": -1, "filename": "akinaka-0.2.18.tar.gz", "has_sig": false, "md5_digest": "d91b5a9ab19ccc3ffcc7f01260d9ea4a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 21065, "upload_time": "2019-06-06T13:25:48", "url": "https://files.pythonhosted.org/packages/da/a6/715f20a942a6b2bf71fa674cf5ff36e2f9157acbe98df641e13525b36483/akinaka-0.2.18.tar.gz" } ], "0.2.19": [ { "comment_text": "", "digests": { "md5": "a9884fc706017317a6977d4fabde441d", "sha256": "5c911fc78c1a182d8dd8e72ea28bd43c8d623b86849aa635cceb4cdfcb8115bc" }, "downloads": -1, "filename": "akinaka-0.2.19-py3-none-any.whl", "has_sig": false, "md5_digest": "a9884fc706017317a6977d4fabde441d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 41575, "upload_time": "2019-06-12T13:55:53", "url": "https://files.pythonhosted.org/packages/41/bf/4a12d74ab4913c2087b01f65219866963399f8884a8798b74dad850c8951/akinaka-0.2.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e5550065ae8c91fdf924a7f28c089731", "sha256": "8aa60378f3f9b12d257cfb9bcd032b3b02cecdd7f666e359906be25e7c70cbc1" }, "downloads": -1, "filename": "akinaka-0.2.19.tar.gz", "has_sig": false, "md5_digest": "e5550065ae8c91fdf924a7f28c089731", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 21093, "upload_time": "2019-06-12T13:55:54", "url": "https://files.pythonhosted.org/packages/d4/04/26f7f1d037eca38e8b533a35e250c844b7225352df7ec13228ce51bd24ea/akinaka-0.2.19.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "a8125b7a7df0a9d2a08c9952cd747a0c", "sha256": "c6e4df13f2f89090ba43fbaaa4718bcb17183b183113fb7e5295a52ec1fc9cb2" }, "downloads": -1, "filename": "akinaka-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a8125b7a7df0a9d2a08c9952cd747a0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 30355, "upload_time": "2019-03-12T12:36:27", "url": "https://files.pythonhosted.org/packages/1b/9a/5a54f5c50fdb30ecc4a16c1bc44cdf10ca5647a6b9bb6a1afe545ed627b6/akinaka-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "629ce76726f1714a0e3e5d85f36a8ecd", "sha256": "6ac5ec7c8cc29b8a2733f117682fac5d3d3f4be4c784e87a5eb0e201472c13f4" }, "downloads": -1, "filename": "akinaka-0.2.2.tar.gz", "has_sig": false, "md5_digest": "629ce76726f1714a0e3e5d85f36a8ecd", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 16164, "upload_time": "2019-03-12T12:36:28", "url": "https://files.pythonhosted.org/packages/e9/73/eb5d11c9f88cc97273261e8aae38d7a7c54ed1a386c4f91acb4270684fcc/akinaka-0.2.2.tar.gz" } ], "0.2.20": [ { "comment_text": "", "digests": { "md5": "5d1ecaa2984bd14881d6b33d45dceec9", "sha256": "e65f7a7a2eba5e8297b30bed4cc6a5d4dee46618308a6f52ea8669c2923893ac" }, "downloads": -1, "filename": "akinaka-0.2.20-py3-none-any.whl", "has_sig": false, "md5_digest": "5d1ecaa2984bd14881d6b33d45dceec9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 41582, "upload_time": "2019-06-26T11:58:28", "url": "https://files.pythonhosted.org/packages/8c/ab/27f34aa3e7a9a54b435a82f65222bae5df4fb2d50be38d26fc6ddf250698/akinaka-0.2.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f0ac4db14628660e6ff07c60cb99e508", "sha256": "cb5208fd7084361052911e0a653f5b19c2abcb6fdc76c93ed44afb029b08ac12" }, "downloads": -1, "filename": "akinaka-0.2.20.tar.gz", "has_sig": false, "md5_digest": "f0ac4db14628660e6ff07c60cb99e508", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 21045, "upload_time": "2019-06-26T11:58:29", "url": "https://files.pythonhosted.org/packages/2e/c6/49115c27a5670354675adba2b3190dc487485407c87f5435d5257bf83f70/akinaka-0.2.20.tar.gz" } ], "0.2.21": [ { "comment_text": "", "digests": { "md5": "9680937f0f7a81c8ff682b6ee5948c47", "sha256": "998956a726293851b846afa4c02c920d2dede46b049cc9b7187c4774b79f9b90" }, "downloads": -1, "filename": "akinaka-0.2.21-py3-none-any.whl", "has_sig": false, "md5_digest": "9680937f0f7a81c8ff682b6ee5948c47", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 41590, "upload_time": "2019-06-26T15:06:57", "url": "https://files.pythonhosted.org/packages/c7/bc/7e89c1128fca08fc83275993476683ed5abca13287225b3dd9b4a272af95/akinaka-0.2.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d2be8a3c9b74ecc24b85357569a13995", "sha256": "1947f460da452f75c2b77dfc7dcf3fe1113af2961965fcda4c3d83fe06392296" }, "downloads": -1, "filename": "akinaka-0.2.21.tar.gz", "has_sig": false, "md5_digest": "d2be8a3c9b74ecc24b85357569a13995", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 21054, "upload_time": "2019-06-26T15:06:59", "url": "https://files.pythonhosted.org/packages/f4/ab/595b50faac991f3d87400e22e454cb2906d1018213f00b6dd071d8720d09/akinaka-0.2.21.tar.gz" } ], "0.2.22": [ { "comment_text": "", "digests": { "md5": "a05f25abca903ebaeae2d2a459b393c7", "sha256": "f322aa656accd2ad2750660b0f284f9c7d1d9b5a0f24c64fb08aaf4f700ab665" }, "downloads": -1, "filename": "akinaka-0.2.22-py3-none-any.whl", "has_sig": false, "md5_digest": "a05f25abca903ebaeae2d2a459b393c7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 41617, "upload_time": "2019-06-27T13:38:40", "url": "https://files.pythonhosted.org/packages/f2/74/bdafb4536e8a4240f06bfb2e2654c8d1ef3cf4e4f6cf1b07838988682b3d/akinaka-0.2.22-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5f258235e3b7ec5fd0bf83dea64ee0be", "sha256": "8affc7a8a88ac67549b180a2d5a49366b699fb08e00a82b432ed95f54e1c3a63" }, "downloads": -1, "filename": "akinaka-0.2.22.tar.gz", "has_sig": false, "md5_digest": "5f258235e3b7ec5fd0bf83dea64ee0be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 21082, "upload_time": "2019-06-27T13:38:42", "url": "https://files.pythonhosted.org/packages/ab/ee/3cae208bc93a2fd956ce3502c3720e7f26ccf13cffda2a069602a592c434/akinaka-0.2.22.tar.gz" } ], "0.2.23": [ { "comment_text": "", "digests": { "md5": "945203125c7e5da87945c9776b97b7e0", "sha256": "9b86de0e27534d8feaaa40e710ff628556cc05f0ccbe925608ee152ec4518eb5" }, "downloads": -1, "filename": "akinaka-0.2.23-py3-none-any.whl", "has_sig": false, "md5_digest": "945203125c7e5da87945c9776b97b7e0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 42704, "upload_time": "2019-07-02T08:30:40", "url": "https://files.pythonhosted.org/packages/4b/44/4754b557d751d11ae131991640184ac3930a41536af9b8cbbe6279f321c2/akinaka-0.2.23-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01697edab2bbe11746d8164d71d2b8e8", "sha256": "11908497cb1161ce43686c087a7b1afb9a70c977b3bd51d169f29d12fd089682" }, "downloads": -1, "filename": "akinaka-0.2.23.tar.gz", "has_sig": false, "md5_digest": "01697edab2bbe11746d8164d71d2b8e8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 21749, "upload_time": "2019-07-02T08:30:42", "url": "https://files.pythonhosted.org/packages/11/59/19fc413a8376d456448be38ca4e8bdddcbb92aa4ad4a5acc11cb92a31980/akinaka-0.2.23.tar.gz" } ], "0.2.24": [ { "comment_text": "", "digests": { "md5": "266ef98b572db1a7cbc0b7b3a12bf58e", "sha256": "ae56644312047f501bfbe739de0ed40f222b3ed09180cc782c93ce5bf85bc70f" }, "downloads": -1, "filename": "akinaka-0.2.24-py3-none-any.whl", "has_sig": false, "md5_digest": "266ef98b572db1a7cbc0b7b3a12bf58e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 42812, "upload_time": "2019-07-03T10:58:55", "url": "https://files.pythonhosted.org/packages/22/2a/23ef090598227e41483b30a44ab4742b16964d2e8a3664e51d05222d93ff/akinaka-0.2.24-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "683a257c271270d5e0244339009f0438", "sha256": "00f3ca57f063306e88653a7bd849a634e85d6315cb40a9476bb35efbb53ebcd5" }, "downloads": -1, "filename": "akinaka-0.2.24.tar.gz", "has_sig": false, "md5_digest": "683a257c271270d5e0244339009f0438", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 21849, "upload_time": "2019-07-03T10:58:57", "url": "https://files.pythonhosted.org/packages/9c/ad/c9cdcd194c36bd46f9c0ac90c987ee45b44680c6db91c7cd0f3c38f04b8f/akinaka-0.2.24.tar.gz" } ], "0.2.25": [ { "comment_text": "", "digests": { "md5": "379524aeae5173fb12fb2f09aef8a0c6", "sha256": "cde8ce51541d8f4a1e17eafe1245bb5c271e7573256a0ce5eed891959bab3bc3" }, "downloads": -1, "filename": "akinaka-0.2.25-py3-none-any.whl", "has_sig": false, "md5_digest": "379524aeae5173fb12fb2f09aef8a0c6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 44289, "upload_time": "2019-07-17T10:27:02", "url": "https://files.pythonhosted.org/packages/d4/ff/c04d437cc87f0ec5d4cc1d057017044c0b75685812f71bfae5e93afbcba6/akinaka-0.2.25-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6f5399bb342b8d523c46791358bf1e2d", "sha256": "1b662cc5802a244bc08a8c4f4f7ce7feed1af4e63f2888680a6ccf9f5b77cddf" }, "downloads": -1, "filename": "akinaka-0.2.25.tar.gz", "has_sig": false, "md5_digest": "6f5399bb342b8d523c46791358bf1e2d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 22747, "upload_time": "2019-07-17T10:27:03", "url": "https://files.pythonhosted.org/packages/a9/2f/236fe71aafaf80b52affe9d5c3fd23bea43ef36c84dea7117f743dc0134e/akinaka-0.2.25.tar.gz" } ], "0.2.26": [ { "comment_text": "", "digests": { "md5": "18677bbbb7f998602f3c36e94495462f", "sha256": "9a338362af515f4238103916e6f9d0145d2b4d42a1535a2008967c6da280d427" }, "downloads": -1, "filename": "akinaka-0.2.26-py3-none-any.whl", "has_sig": false, "md5_digest": "18677bbbb7f998602f3c36e94495462f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 44321, "upload_time": "2019-07-19T13:29:54", "url": "https://files.pythonhosted.org/packages/c6/4b/5ee0fa158c9b3968029d43db59cca165838dad8ffff1be87d41eafe5986e/akinaka-0.2.26-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "615afe933f6b59a2fd9259ca1dfc746c", "sha256": "136b2df2461f47dd3adb26b74e1090120331c15e442e6dad04953b39bebe6a52" }, "downloads": -1, "filename": "akinaka-0.2.26.tar.gz", "has_sig": false, "md5_digest": "615afe933f6b59a2fd9259ca1dfc746c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 22774, "upload_time": "2019-07-19T13:29:56", "url": "https://files.pythonhosted.org/packages/23/76/b874133c36b749c4eed02b2f9ff7ab94cdefaf303a7ad7016460c52c34a9/akinaka-0.2.26.tar.gz" } ], "0.2.27": [ { "comment_text": "", "digests": { "md5": "6f8977eee1c41d7593c0bdabb37da1d1", "sha256": "6b782c0bafdb0b48b521f9f93de89877da1eba1543098b189ef207b8799ceee6" }, "downloads": -1, "filename": "akinaka-0.2.27-py3-none-any.whl", "has_sig": false, "md5_digest": "6f8977eee1c41d7593c0bdabb37da1d1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 44321, "upload_time": "2019-07-31T12:21:42", "url": "https://files.pythonhosted.org/packages/13/47/c4fcc39b83986b6febf519f12c4922b9973fdc78e99a7f79e82677b712ff/akinaka-0.2.27-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "737fa32d27dddbc2c18cf5f166d8af99", "sha256": "cc8271ae3e2a7446f96e306d54972c9209c4e16d91a2da00dbff873bd472361e" }, "downloads": -1, "filename": "akinaka-0.2.27.tar.gz", "has_sig": false, "md5_digest": "737fa32d27dddbc2c18cf5f166d8af99", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 22736, "upload_time": "2019-07-31T12:21:44", "url": "https://files.pythonhosted.org/packages/5f/8b/2a84266e25e0cd9363fb0e9b21bc1ef5dcfe49c00ebe0aee5f68f9c81ab8/akinaka-0.2.27.tar.gz" } ], "0.2.28": [ { "comment_text": "", "digests": { "md5": "5129cfd209a5840e1539bfc58e6dad23", "sha256": "0dec4c2b2b037ffee043a17a05313af0d5c0f5faf3ff0b7419f56ae6e3dc4bd7" }, "downloads": -1, "filename": "akinaka-0.2.28-py3-none-any.whl", "has_sig": false, "md5_digest": "5129cfd209a5840e1539bfc58e6dad23", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 44585, "upload_time": "2019-08-28T14:16:55", "url": "https://files.pythonhosted.org/packages/01/f7/a9bfadef00cb2943c04e4a792cca6b522f98b0ed6492d2cf055a951dae18/akinaka-0.2.28-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a5f9cc1ab468781652866abe927bbd19", "sha256": "0eb2272b6242ce4705ed352a26194b932d3e3925c197e6e84550ff79fda3fe6a" }, "downloads": -1, "filename": "akinaka-0.2.28.tar.gz", "has_sig": false, "md5_digest": "a5f9cc1ab468781652866abe927bbd19", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 22956, "upload_time": "2019-08-28T14:16:57", "url": "https://files.pythonhosted.org/packages/bf/7b/04080e934a7aa0a71abce5396d97ec4d70e7965de4bab41c35c7e2e0da46/akinaka-0.2.28.tar.gz" } ], "0.2.29": [ { "comment_text": "", "digests": { "md5": "12f008c941bcfeaf24a9d2d30d7d30b0", "sha256": "405059906e5f0e53599cf07f5f8ccde102b44700b0c6df42f0c1f48378e4be56" }, "downloads": -1, "filename": "akinaka-0.2.29-py3-none-any.whl", "has_sig": false, "md5_digest": "12f008c941bcfeaf24a9d2d30d7d30b0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 44673, "upload_time": "2019-09-19T08:04:59", "url": "https://files.pythonhosted.org/packages/64/54/43cca4a3c00ee233c7aa037132f064faf70eb551d3bcec77a3fb9b415028/akinaka-0.2.29-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d60ac26b38065ce19c8882ca4947255", "sha256": "f6a6f71e3f8ff85d1cf9194d7be0b893d08b046942b61407f5be6d57de84a981" }, "downloads": -1, "filename": "akinaka-0.2.29.tar.gz", "has_sig": false, "md5_digest": "7d60ac26b38065ce19c8882ca4947255", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 23029, "upload_time": "2019-09-19T08:05:01", "url": "https://files.pythonhosted.org/packages/04/ed/5f8079cc45bcb5c716c4ffc2bf3069a8860013ae90ed998d78ff1479cd0a/akinaka-0.2.29.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "ab775bb1205d8b38cf378cfe4beedb0a", "sha256": "8b1dd71c36bfc317cebe808195180fe08edf891cedbdab183d35a03f0a69a09e" }, "downloads": -1, "filename": "akinaka-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "ab775bb1205d8b38cf378cfe4beedb0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 30377, "upload_time": "2019-03-13T09:05:28", "url": "https://files.pythonhosted.org/packages/b8/1f/e48bf46b372a3aa0a911c2bb5aae34ba0bbe71f81fb613867473e8bbb321/akinaka-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5fa8ab17164a503ae54c4cd9b51f240", "sha256": "f83e11dd56b56d89201f35e6804239c6b7646697be13a060cb90f5bf323f4802" }, "downloads": -1, "filename": "akinaka-0.2.3.tar.gz", "has_sig": false, "md5_digest": "b5fa8ab17164a503ae54c4cd9b51f240", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 16196, "upload_time": "2019-03-13T09:05:29", "url": "https://files.pythonhosted.org/packages/e9/01/090827dbed600a540c6397daa17ef6e2a549d6bc1858e0e61b2a3d6e5d8e/akinaka-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "b63782e269b68635a84813674f5c53d2", "sha256": "ae512f0a8d74a258042517b7546a016bbc8ed16bf47530403310019109fa0871" }, "downloads": -1, "filename": "akinaka-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "b63782e269b68635a84813674f5c53d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 31194, "upload_time": "2019-03-14T11:14:11", "url": "https://files.pythonhosted.org/packages/3d/d9/1f2649f5c8b7784093e3ed0c1b2c51a69578af5190e14507bc2a6de496f8/akinaka-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40f6b6b50140bda234f6c375e568e7b6", "sha256": "291ee438a2fb287f69410b07dbd97cac5ac79ae75600b6cdbd90e7564f0cb113" }, "downloads": -1, "filename": "akinaka-0.2.4.tar.gz", "has_sig": false, "md5_digest": "40f6b6b50140bda234f6c375e568e7b6", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 16498, "upload_time": "2019-03-14T11:14:13", "url": "https://files.pythonhosted.org/packages/60/1b/a6ec2d5d195c966a38f78b9ff9eb08197e50a350675ed77befb76df01f37/akinaka-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "26ff017a720e4dd4ac20b58df0fc9d7b", "sha256": "75ab5766f5b53e3d0206ad98e3aedee4d71db6d59c3924fb8d7564c5946256de" }, "downloads": -1, "filename": "akinaka-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "26ff017a720e4dd4ac20b58df0fc9d7b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 32269, "upload_time": "2019-03-14T11:45:02", "url": "https://files.pythonhosted.org/packages/6c/2c/5ffdb8c52bb7f804d85e38697f232f5022f8d1983db4ca4b2b572e6ef27b/akinaka-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "857e9873ef7e2bf58f6a171357d66152", "sha256": "989b3fe999ae2c51a60f2f11fbec31defb32fce08a206ecaf2d22e0a1421eed0" }, "downloads": -1, "filename": "akinaka-0.2.5.tar.gz", "has_sig": false, "md5_digest": "857e9873ef7e2bf58f6a171357d66152", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 16840, "upload_time": "2019-03-14T11:45:04", "url": "https://files.pythonhosted.org/packages/f9/5f/9dae851d7c6aa5d666d682f964b6d924441d0a3c7334ece7726bf354caa1/akinaka-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "570a2fcb1bb377d5ef6613997092823d", "sha256": "6c8df2e58345b8d5b0173bbfd052ea9ae19538378ef3aa5e780b0f77d4955880" }, "downloads": -1, "filename": "akinaka-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "570a2fcb1bb377d5ef6613997092823d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 32268, "upload_time": "2019-03-14T11:50:48", "url": "https://files.pythonhosted.org/packages/9a/02/9172437ce664d3dc810a045961b8a31cec41438d694d3104b2be5b0b25f1/akinaka-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d5a52befe516f6eb9779ceb672e4afd8", "sha256": "254821ceb5f178609f4426eebe5bc2f9e06e3ee2756513b6abae92e848f0219d" }, "downloads": -1, "filename": "akinaka-0.2.6.tar.gz", "has_sig": false, "md5_digest": "d5a52befe516f6eb9779ceb672e4afd8", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 16839, "upload_time": "2019-03-14T11:50:50", "url": "https://files.pythonhosted.org/packages/eb/2b/825d03c57b57e1107bc3928b276e4ff4e0dc352ce53a929f5a29f29acdf7/akinaka-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "c574b7c05480f81f9accc5f5b33deed9", "sha256": "8d96a5264cb44aaab63610a9a93d38f64175de88d5ca4bb607330557f1401b63" }, "downloads": -1, "filename": "akinaka-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "c574b7c05480f81f9accc5f5b33deed9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 33633, "upload_time": "2019-03-14T13:38:26", "url": "https://files.pythonhosted.org/packages/f9/32/61feafc91d46150c7f7df2f5e94a7754806f5e9234fa94aec81062fd31da/akinaka-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d3c4e39a220a64586977be2c89441247", "sha256": "d0e7ca9a24c0e443ab0374bca7f76385b5befb97ef3ad213d2537e75471eb10d" }, "downloads": -1, "filename": "akinaka-0.2.7.tar.gz", "has_sig": false, "md5_digest": "d3c4e39a220a64586977be2c89441247", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 17551, "upload_time": "2019-03-14T13:38:27", "url": "https://files.pythonhosted.org/packages/34/90/dae78a59845e246fb200e5a83d195491b46a29b3b2fff70e8961151535f9/akinaka-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "e8ff4cca329cfc52f1a8d05ed611f98c", "sha256": "1658c84b64879aab135e85366d7afb6d6d200ba7270c56ebad08993467f72fca" }, "downloads": -1, "filename": "akinaka-0.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e8ff4cca329cfc52f1a8d05ed611f98c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">3.0.0", "size": 34740, "upload_time": "2019-03-15T14:00:11", "url": "https://files.pythonhosted.org/packages/e1/f9/19b87921993e6f255394a1bc628e0230afdbf49109ffdad4984bdee43284/akinaka-0.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c24a1b9ae3df28d9813664fb2ddffb9", "sha256": "4d5e065cc82017de96d6be0ed55e6f555d4ef5337f8dc399c18add7f084c91b9" }, "downloads": -1, "filename": "akinaka-0.2.8.tar.gz", "has_sig": false, "md5_digest": "6c24a1b9ae3df28d9813664fb2ddffb9", "packagetype": "sdist", "python_version": "source", "requires_python": ">3.0.0", "size": 18533, "upload_time": "2019-03-15T14:00:13", "url": "https://files.pythonhosted.org/packages/e4/27/bc26957212b177376482fba96cd6bd721cfc8e16569aa59dddfbb3f3bf87/akinaka-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "588a4af847cf90884dbde9837c410de1", "sha256": "b9fbbc014192c94d102a8589222c8fd41e41318ad5bf6f01af2045ff9fb71816" }, "downloads": -1, "filename": "akinaka-0.2.9-py3-none-any.whl", "has_sig": false, "md5_digest": "588a4af847cf90884dbde9837c410de1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 38311, "upload_time": "2019-04-18T12:26:51", "url": "https://files.pythonhosted.org/packages/f0/11/eafd64f8f9c384bdc62b952fe8e13b53690ff6b1fc609e85eab5451366a1/akinaka-0.2.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ba9311222cf8aabc07576bdbdd58706c", "sha256": "70f5eb6c9a1a7c60787b1944ab4ad9a1a4bf11edbcdf1c53d43a565abb3b85ef" }, "downloads": -1, "filename": "akinaka-0.2.9.tar.gz", "has_sig": false, "md5_digest": "ba9311222cf8aabc07576bdbdd58706c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 19158, "upload_time": "2019-04-18T12:26:53", "url": "https://files.pythonhosted.org/packages/34/dc/905636f763805709e6fb1805796c7da80f193bc3cd5fbc003d84c972d537/akinaka-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "e1176f86b3ad9c8d8ce343e7c98a5926", "sha256": "3f11be31ca5937e0c2a3cd289fb3631eb5b47a828c3b7c46f33a3560458f5421" }, "downloads": -1, "filename": "akinaka-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e1176f86b3ad9c8d8ce343e7c98a5926", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 45883, "upload_time": "2019-10-18T10:59:54", "url": "https://files.pythonhosted.org/packages/13/27/c727d19d50202c7f0e150df7694c8e15804d0d2ef1050c4e4e9269bfeeb9/akinaka-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d0326c147d0963e3147321decb59c38", "sha256": "87de8f73148b375af46d9e0577db4ca2b52cde5a63fa0d02adbe8a71a3c1371b" }, "downloads": -1, "filename": "akinaka-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7d0326c147d0963e3147321decb59c38", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 23933, "upload_time": "2019-10-18T10:59:56", "url": "https://files.pythonhosted.org/packages/2d/c0/be07ff35e70c3b9bc3939d78449575dccf9bd5dbf9a25656957bbc347ab8/akinaka-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e1176f86b3ad9c8d8ce343e7c98a5926", "sha256": "3f11be31ca5937e0c2a3cd289fb3631eb5b47a828c3b7c46f33a3560458f5421" }, "downloads": -1, "filename": "akinaka-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e1176f86b3ad9c8d8ce343e7c98a5926", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.3.0", "size": 45883, "upload_time": "2019-10-18T10:59:54", "url": "https://files.pythonhosted.org/packages/13/27/c727d19d50202c7f0e150df7694c8e15804d0d2ef1050c4e4e9269bfeeb9/akinaka-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7d0326c147d0963e3147321decb59c38", "sha256": "87de8f73148b375af46d9e0577db4ca2b52cde5a63fa0d02adbe8a71a3c1371b" }, "downloads": -1, "filename": "akinaka-0.3.0.tar.gz", "has_sig": false, "md5_digest": "7d0326c147d0963e3147321decb59c38", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.3.0", "size": 23933, "upload_time": "2019-10-18T10:59:56", "url": "https://files.pythonhosted.org/packages/2d/c0/be07ff35e70c3b9bc3939d78449575dccf9bd5dbf9a25656957bbc347ab8/akinaka-0.3.0.tar.gz" } ] }