{ "info": { "author": "Matei-Marius Micu", "author_email": "contact@mateimicu.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: MacOS X", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Version Control :: Git", "Topic :: System :: Software Distribution" ], "description": "# Auto-Tag\n[![Updates](https://pyup.io/repos/github/mateimicu/auto-tag/shield.svg)](https://pyup.io/repos/github/mateimicu/auto-tag/)\n[![Python 3](https://pyup.io/repos/github/mateimicu/auto-tag/python-3-shield.svg)](https://pyup.io/repos/github/mateimicu/auto-tag/)\n![PyPI](https://img.shields.io/pypi/v/auto-tag)\n![PyPI - Implementation](https://img.shields.io/pypi/implementation/auto-tag)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/auto-tag)\n[![codecov](https://codecov.io/gh/mateimicu/auto-tag/branch/master/graph/badge.svg)](https://codecov.io/gh/mateimicu/auto-tag)\n![PyPI - License](https://img.shields.io/pypi/l/auto-tag)\n\n\nAutomatically tag a branch with the following SemVersion tag.\n\nThis is useful if you want to automatically tag something merged on the master, for example, microservices.\nIf there is a trigger based on tags then this can be used to apply the tags.\n\n\n# TOC\n\n - [Install](#how-to-install)\n - [How it Works](#how-it-works)\n - [Exampels](#examples)\n - [Detectors](#detectors)\n - [Git Author](#git-author)\n\n# How to install\n\n```bash\n~ $ pip install auto-tag\n```\n\nTo see if it works, you can try\n\n```bash\n~ $ auto-tag -h\nusage: auto-tag [-h] [-b BRANCH] [-r REPO]\n [-u [UPSTREAM_REMOTE [UPSTREAM_REMOTE ...]]]\n [-l {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]\n [--name NAME] [--email EMAIL] [-c CONFIG]\n [--skip-tag-if-one-already-present] [--append-v-to-tags]\n\nTag branch based on commit messages\n\noptional arguments:\n -h, --help show this help message and exit\n -b BRANCH, --branch BRANCH\n On what branch to work on. Default `master`\n -r REPO, --repo REPO Path to repository. Default `.`\n -u [UPSTREAM_REMOTE [UPSTREAM_REMOTE ...]], --upstream_remote [UPSTREAM_REMOTE [UPSTREAM_REMOTE ...]]\n To what remote to push to.Can be specified multiple\n time.\n -l {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}, --logging {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}\n Logging level.\n --name NAME User name used for creating git objects.If not\n specified the system one will be used.\n --email EMAIL Email name used for creating git objects.If not\n specified the system one will be used.\n -c CONFIG, --config CONFIG\n Path to detectors configuration.\n --skip-tag-if-one-already-present\n If a tag is already present on the latest commit don't\n apply a new tag\n --append-v-to-tags Append a v to the tag (ex v1.0.5)\n```\n\n# How it Works\n\nThe flow is as follows:\n- figure our repository based on the argument\n- load detectors from file if specified (`-c` option), if none specified load default ones (see [Detectors](#detectors))\n- check for the last tag \n- look at all commits done after that tag on a specific branch (or from the start of the repository if no tag is found)\n- apply the detector (see [Detectors](#detectors)) on each commit and save the highest change detected (PATH, MINOR, MAJOR)\n- bump the last tag with the approbate change and apply it using the default git author in the system or a specific one (see [Git Author](#git-author))\n- if an upstream was specified push the tag to that upstream\n\n\n# Examples\nHere we can see in commit `2245d5d` that it stats with `feature(`\nso the latest know tag (`0.2.1`) was bumped to `0.3.0`\n```\n~ $ git log --oneline\n2245d5d (HEAD -> master) feature(component) commit #4\n939322f commit #3\n9ef3be6 (tag: 0.2.1) commit #2\n0ee81b0 commit #1\n~ $ auto-tag\n2019-08-31 14:10:24,626: Start tagging \n2019-08-31 14:10:24,649: Bumping tag 0.2.1 -> 0.3.0\n2019-08-31 14:10:24,658: No push remote was specified\n~ $ git log --oneline\n2245d5d (HEAD -> master, tag: 0.3.0) feature(component) commit #4\n939322f commit #3\n9ef3be6 (tag: 0.2.1) commit #2\n0ee81b0 commit #1\n```\n\nIn this example we can see `2245d5deb5d97d288b7926be62d051b7eed35c98` introducing a feature that will trigger a MINOR change but we can also see `0de444695e3208b74d0b3ed7fd20fd0be4b2992e` having a `BREAKING_CHANGE` that will introduce a MAJOR bump, this is the reason the tag moved from `0.2.1` to `1.0.0`\n```\n~ $ git log\ncommit 0de444695e3208b74d0b3ed7fd20fd0be4b2992e (HEAD -> master)\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 21:58:01 2019 +0300\n\n fix(something) ....\n\n BREAKING_CHANGE: this must trigger major version bump\n\ncommit 65bf4b17669ea52f84fd1dfa4e4feadbc299a80e\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 21:57:47 2019 +0300\n\n fix(something) ....\n\ncommit 2245d5deb5d97d288b7926be62d051b7eed35c98\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:52:10 2019 +0300\n\n feature(component) commit #4\n\ncommit 939322f1efaa1c07b7ed33f2923526f327975cfc\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:51:24 2019 +0300\n\n commit #3\n\ncommit 9ef3be64c803d7d8d3b80596485eac18e80cb89d (tag: 0.2.1)\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:51:18 2019 +0300\n\n commit #2\n\ncommit 0ee81b0bed209941720ee602f76341bcb115b87d\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:50:25 2019 +0300\n\n commit #1\n~ $ auto-tag\n2019-08-31 14:10:24,626: Start tagging \n2019-08-31 14:10:24,649: Bumping tag 0.2.1 -> 1.0.0\n2019-08-31 14:10:24,658: No push remote was specified\n~ $ git log\ncommit 0de444695e3208b74d0b3ed7fd20fd0be4b2992e (HEAD -> master, tag: 1.0.0)\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 21:58:01 2019 +0300\n\n fix(something) ....\n\n BREAKING_CHANGE: this must trigger major version bump\n\ncommit 65bf4b17669ea52f84fd1dfa4e4feadbc299a80e\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 21:57:47 2019 +0300\n\n fix(something) ....\n\ncommit 2245d5deb5d97d288b7926be62d051b7eed35c98\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:52:10 2019 +0300\n\n feature(component) commit #4\n\ncommit 939322f1efaa1c07b7ed33f2923526f327975cfc\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:51:24 2019 +0300\n\n commit #3\n\ncommit 9ef3be64c803d7d8d3b80596485eac18e80cb89d (tag: 0.2.1)\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:51:18 2019 +0300\n\n commit #2\n\ncommit 0ee81b0bed209941720ee602f76341bcb115b87d\nAuthor: Matei-Marius Micu \nDate: Fri Aug 30 19:50:25 2019 +0300\n\n commit #1\n```\n# Detectors\n\nIf you want to detect what commit enforces a specific tag bump(PATH, MINOR, MAJOR) you can configure detectors.\nThey are configured in a yaml file that looks like this:\n```yaml\ndetectors:\n\n check_for_feature_heading:\n type: CommitMessageHeadStartsWithDetector\n produce_type_change: MINOR\n params:\n pattern: 'feature'\n\n\n check_for_breaking_change:\n type: CommitMessageContainsDetector\n produce_type_change: MAJOR\n params:\n pattern: 'BREAKING_CHANGE'\n case_sensitive: false\n```\nHere is the default configuration for detectors if none is specified.\nWe can see we have two detectors `check_for_feature_heading` and `check_for_breaking_change`, with a type, what change they will trigger and specific parameters for each one.\nThis configuration will do the following:\n- if the commit message starts with `feature(` a MINOR change will BE triggered\n- if the commit has `BREAKIN_CHANGE` in the message a MAJOR change will be triggered\nThe bump on the tag will be based on the higher priority found.\n\nThe `type` and `produce_type_change` parameters are required `params` is specific to every detector.\n\nTo pass the file to the process just use the `-c` CLI parameter.\n\nCurrently we support the following triggers:\n - CommitMessageHeadStartsWithDetector\n - Parameters:\n - `case_sensitive` of type `bool`, if the comparison is case sensitive\n - `strip` of type `bool`, if we strip the spaces from the commit message\n - `pattern` of type `string`, what pattern is searched at the start of the commit message\n - CommitMessageContainsDetector\n - `case_sensitive` of type `bool`, if the comparison is case sensitive\n - `strip` of type `bool`, if we strip the spaces from the commit message\n - `pattern` of type `string`, what pattern is searched in the body of the commit message\n - CommitMessageMatchesRegexDetector\n - `strip` of type `bool`, if we strip the spaces from the commit message\n - `pattern` of type `string`, what regex pattern to match against the commit message\n\nThe regex detector is the most powerful one.\n\n# Git Author\nWhen creating and tag we need to specify a git author, if a global one is not set (or if we want to make this one with a specific user), we have the option to specify one.\nThe following options will add a temporary config to this repository(local config). After the tag was created it will restore the existing config (if any was present)\n```\n --name NAME User name used for creating git objects.If not\n specified the system one will be used.\n --email EMAIL Email name used for creating git objects.If not\n specified the system one will be used.\n```\nIf another user interacts with git while this process is taking place it will use the temporary config, but we assume we are run in a CI pipeline and this is the only process interacting with git.\n\n---\nThis project is licensed under the terms of the MIT license.\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": "https://github.com/mateimicu/auto-tag", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "auto-tag", "package_url": "https://pypi.org/project/auto-tag/", "platform": "", "project_url": "https://pypi.org/project/auto-tag/", "project_urls": { "Homepage": "https://github.com/mateimicu/auto-tag" }, "release_url": "https://pypi.org/project/auto-tag/0.7.3/", "requires_dist": null, "requires_python": "", "summary": "Automatically tag a branch based on commit message", "version": "0.7.3" }, "last_serial": 5841427, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "d0e42d681e7f78f3c0f29bda139fa9e6", "sha256": "e7fc8a6c581677a724abd098930d84705fcadbbe90f313af6d6c99c93d16ddff" }, "downloads": -1, "filename": "auto_tag-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d0e42d681e7f78f3c0f29bda139fa9e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 1433, "upload_time": "2019-08-30T14:33:53", "url": "https://files.pythonhosted.org/packages/a2/27/a599d8f07f2d67377281b7fcd08977a17c7a23315b8e83e5f3afc741646c/auto_tag-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad68253b5d60e0361efc1dbcfa6592f8", "sha256": "1cafdf81d0c82c44e9ce6eef40e728fed5468d407e52cea50f0f343d3369c599" }, "downloads": -1, "filename": "auto-tag-0.0.1.tar.gz", "has_sig": false, "md5_digest": "ad68253b5d60e0361efc1dbcfa6592f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2813, "upload_time": "2019-08-30T14:33:55", "url": "https://files.pythonhosted.org/packages/0e/8a/6cd33f6e82384125d00d4af90c3da83257611fa3b3dca3201cb85e02db26/auto-tag-0.0.1.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "ca814d7c0c45bc1437a001a309d186f8", "sha256": "cb662f86d9c27b39f30b34f6e3020af2e64371e2ad70b950c44ff13ef96c4efb" }, "downloads": -1, "filename": "auto_tag-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ca814d7c0c45bc1437a001a309d186f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2653, "upload_time": "2019-08-30T19:35:55", "url": "https://files.pythonhosted.org/packages/7e/21/76217fa7895a3a3da6a9c183b8b436a13ffd54fa2956ece150ab368a5f8f/auto_tag-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bec1482a40f314e601730b9f25d2cea8", "sha256": "751d04791fae1847c216115a96ccf45468e59ee6c8b9599d42ee6b6f99a7dcf5" }, "downloads": -1, "filename": "auto-tag-0.1.0.tar.gz", "has_sig": false, "md5_digest": "bec1482a40f314e601730b9f25d2cea8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4313, "upload_time": "2019-08-30T19:35:57", "url": "https://files.pythonhosted.org/packages/68/90/d3d5da6ded6ac0d30c008ee1eb1c56dfbd689589573a5e69f8067935c581/auto-tag-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "3cb462bf1964865abd790706996df951", "sha256": "8cf2297d90063861a3514791e506b507f3e964171d2d8d4f4e31f98f8a594b1e" }, "downloads": -1, "filename": "auto_tag-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3cb462bf1964865abd790706996df951", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2649, "upload_time": "2019-08-30T20:00:51", "url": "https://files.pythonhosted.org/packages/fd/5d/40812999c0c04b1b66b0779891743cac556e5b5759c1d88bdda0b9d8e606/auto_tag-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c7204ef4b3e8efd7180bc1d5561abca", "sha256": "deb3c9595f7b03e38ae18970993cb46e17ccc8658c3cc13532c7309d21fb79d2" }, "downloads": -1, "filename": "auto-tag-0.1.1.tar.gz", "has_sig": false, "md5_digest": "4c7204ef4b3e8efd7180bc1d5561abca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4450, "upload_time": "2019-08-30T20:00:53", "url": "https://files.pythonhosted.org/packages/99/2f/869fd8346b9708face87fbe617b88fae5e4dbd78a7d4b2227cd559f8b524/auto-tag-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "9a3ab70ffb805e3cd48c40f2767aac0a", "sha256": "b66cd1177f4ae2df4238122d8b29853774b378dce9ee5a5359edf701c3e7bc88" }, "downloads": -1, "filename": "auto_tag-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9a3ab70ffb805e3cd48c40f2767aac0a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 2699, "upload_time": "2019-08-31T11:14:27", "url": "https://files.pythonhosted.org/packages/87/fa/312d2a3d896f69f86b554f501625e03c2f262913d1f6cceb39317d3cde62/auto_tag-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c41d4d7070edeb499d8f33f0d573dfe9", "sha256": "f4bc1c3662bd11642e36f8d84e3527e0abf7de8b585d4de15c024c01913f1632" }, "downloads": -1, "filename": "auto-tag-0.2.0.tar.gz", "has_sig": false, "md5_digest": "c41d4d7070edeb499d8f33f0d573dfe9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5224, "upload_time": "2019-08-31T11:14:30", "url": "https://files.pythonhosted.org/packages/9c/41/41880e60e7915d0602417ac66bcfba52d78519fbc8622afe9a9c53a38cf4/auto-tag-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "38d8728c54926f9b22f171635762cdf9", "sha256": "efa5d0e108ac24e78b0cf93c3ae5d9b045e8ec724d0d1388bb8b94953d113e6d" }, "downloads": -1, "filename": "auto_tag-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "38d8728c54926f9b22f171635762cdf9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6292, "upload_time": "2019-08-31T15:35:33", "url": "https://files.pythonhosted.org/packages/c6/f4/98fb41445b1f6a617efd380e9efd8f69f6cf04eb2514e88f6b4a2cc9aee2/auto_tag-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "28e49a5dbd6101026aa23c5e4ee9d874", "sha256": "387d7b15bed8adcb331b7a6352a60c32129af4035c85c5351971cb02e46f5de6" }, "downloads": -1, "filename": "auto-tag-0.2.1.tar.gz", "has_sig": false, "md5_digest": "28e49a5dbd6101026aa23c5e4ee9d874", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5542, "upload_time": "2019-08-31T15:35:38", "url": "https://files.pythonhosted.org/packages/43/2c/edffcd1f94f3fb5642107d984869099bb484c6a557f8b08310dba90f9ac6/auto-tag-0.2.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "5554aabe9624c8bffbe5d33b905675ca", "sha256": "ef82ea2957edb65fed26e235e67b21fe9f471e118a84ddfcdc1b6f6c058f23d2" }, "downloads": -1, "filename": "auto_tag-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5554aabe9624c8bffbe5d33b905675ca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6292, "upload_time": "2019-08-31T17:06:19", "url": "https://files.pythonhosted.org/packages/e8/e5/ae89147b225387f23ef35270c85775eb1f2e68fada1e1d669bfbcccd8761/auto_tag-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8c60ef5cb6adb3ff69d0200b1299c3df", "sha256": "d533dd9b1c34c2f281a2275b1da0394da9a660bb49d0e5ee71d174833cc2fa47" }, "downloads": -1, "filename": "auto-tag-0.3.2.tar.gz", "has_sig": false, "md5_digest": "8c60ef5cb6adb3ff69d0200b1299c3df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5537, "upload_time": "2019-08-31T17:06:25", "url": "https://files.pythonhosted.org/packages/7f/76/16306805d6edf81998ea6e1363685f86e269cd99d5c8b00345707d26b93d/auto-tag-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "0e38c563abdabb2115f939968cc0a498", "sha256": "d842b5418d4c7e1900e17de7c571a6e9084d0bdf774acfd2dd1cbf667090b978" }, "downloads": -1, "filename": "auto_tag-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0e38c563abdabb2115f939968cc0a498", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6973, "upload_time": "2019-09-01T16:04:37", "url": "https://files.pythonhosted.org/packages/3d/9f/5f858a1ebdb83b091b3a26b03b1cb1f7b96bab2e28dc345245590e27e8ed/auto_tag-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5bb8e1cda88f1bd95d9be06f49fe6c21", "sha256": "a6fcd5430cb6ac9e1a512b791634ae53445ebaaad5526176ff0393b4f584f472" }, "downloads": -1, "filename": "auto-tag-0.4.0.tar.gz", "has_sig": false, "md5_digest": "5bb8e1cda88f1bd95d9be06f49fe6c21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6225, "upload_time": "2019-09-01T16:04:42", "url": "https://files.pythonhosted.org/packages/d6/53/633dc5517b0c818d6990438cee09f8b80eede0535eaf35a487782e92b742/auto-tag-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "31c4db709597c3e5333c95ffa38eb999", "sha256": "9d645dff96c9809752e3d63b95f189d90529e503ea8733eab00f2a3d6a78197d" }, "downloads": -1, "filename": "auto_tag-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "31c4db709597c3e5333c95ffa38eb999", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13361, "upload_time": "2019-09-02T20:00:52", "url": "https://files.pythonhosted.org/packages/14/08/b7274359c68c86e165096d3bc5ffbe560ac44dec7bf55e852e141f2365f0/auto_tag-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b1e3138535680b92f1bb985f331108b", "sha256": "d6368553306e41d8258fed33e11cdcbdcbeaca2c19b9158e15ddec14a3e4eacc" }, "downloads": -1, "filename": "auto-tag-0.5.0.tar.gz", "has_sig": false, "md5_digest": "5b1e3138535680b92f1bb985f331108b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12515, "upload_time": "2019-09-02T20:00:58", "url": "https://files.pythonhosted.org/packages/87/c5/180bb52f1d8cea310b306a080e6f54fceda3cf915570468c213c5e049458/auto-tag-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "c397fdfdf6a2f5cdf370122a1f12fd24", "sha256": "5ec634eda3109f1e2d5182022c9e1ffd1382054bb44fd966f59c86347973aa1e" }, "downloads": -1, "filename": "auto_tag-0.6.0-py3-none-any.whl", "has_sig": false, "md5_digest": "c397fdfdf6a2f5cdf370122a1f12fd24", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14077, "upload_time": "2019-09-12T10:38:11", "url": "https://files.pythonhosted.org/packages/94/a6/6fed815ad557c427fb482fd3b23fd07519ea9282521e22e9d3d617b866a5/auto_tag-0.6.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3124a91bf48c21cdc3608eb4354be42f", "sha256": "9062fbfda768383bc5cbe654af74795949cab4256b9a8f1eb991bfd878abddc7" }, "downloads": -1, "filename": "auto-tag-0.6.0.tar.gz", "has_sig": false, "md5_digest": "3124a91bf48c21cdc3608eb4354be42f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13437, "upload_time": "2019-09-12T10:38:19", "url": "https://files.pythonhosted.org/packages/d1/3e/43a64ebd7ecc0f1a573b1bfe499a7a16b1b9ebb332f6abcbabd42515b32f/auto-tag-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "3191df53cc3a441710c354d64ef0732e", "sha256": "9491d92eeeb9ae3191f38148d40f79df0d8bf025c801a53ae0eaa066ae6aff25" }, "downloads": -1, "filename": "auto_tag-0.7.0-py3-none-any.whl", "has_sig": false, "md5_digest": "3191df53cc3a441710c354d64ef0732e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14142, "upload_time": "2019-09-12T13:10:18", "url": "https://files.pythonhosted.org/packages/b2/58/aa5e275f7141834f540ef935986461431910d69cf6b6f9b93625dea79024/auto_tag-0.7.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4a8e794b40ab98ddf09c6889a9be7d07", "sha256": "16e6b390aef5bca63c491bc1207a190cd0ea3d66877c378410f85c15973e549e" }, "downloads": -1, "filename": "auto-tag-0.7.0.tar.gz", "has_sig": false, "md5_digest": "4a8e794b40ab98ddf09c6889a9be7d07", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13571, "upload_time": "2019-09-12T13:10:25", "url": "https://files.pythonhosted.org/packages/1d/2d/e0b0f9d9602152680da32897e0c17849047d5006069c012909d787522378/auto-tag-0.7.0.tar.gz" } ], "0.7.1": [ { "comment_text": "", "digests": { "md5": "568917b51e0116cde5004081f9ed20e5", "sha256": "6e5597e0c46b751cf625e220c7afeb7536b558055a29899b1425d6ff53785889" }, "downloads": -1, "filename": "auto_tag-0.7.1-py3-none-any.whl", "has_sig": false, "md5_digest": "568917b51e0116cde5004081f9ed20e5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14072, "upload_time": "2019-09-12T13:29:49", "url": "https://files.pythonhosted.org/packages/d1/8c/c2d66f7b48e10f0629d76013bb96b65c8a6ec07526918b23bd414d86e6e2/auto_tag-0.7.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "299b290e69a0b325f3193af3f075ffd7", "sha256": "a6fa5469f568b8ea5764f02e562dbb079f4d27f7736765d77f432d08d43e8a14" }, "downloads": -1, "filename": "auto-tag-0.7.1.tar.gz", "has_sig": false, "md5_digest": "299b290e69a0b325f3193af3f075ffd7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13434, "upload_time": "2019-09-12T13:29:58", "url": "https://files.pythonhosted.org/packages/5b/35/99e4fe64651e0f65d24921dbca6edca4f9c6bd5d127df610f54a60e54014/auto-tag-0.7.1.tar.gz" } ], "0.7.2": [ { "comment_text": "", "digests": { "md5": "6360f8bd59701f994f1818088c532224", "sha256": "673e20b6bbf3b909e059394274cb328b5bca48f806b37f0dce508b1520eb4ab5" }, "downloads": -1, "filename": "auto_tag-0.7.2-py3-none-any.whl", "has_sig": false, "md5_digest": "6360f8bd59701f994f1818088c532224", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14072, "upload_time": "2019-09-12T14:12:19", "url": "https://files.pythonhosted.org/packages/36/9a/5ca6d96e234cfc18a8cad552938dd321c8a182686f6bca53c93d8033c08c/auto_tag-0.7.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8f4556d6f4ef838d5cfcd8d47185ca09", "sha256": "4bf6d687734148f3d388526512fa892728c47c0de8a2935744cd4cb458e41a7c" }, "downloads": -1, "filename": "auto-tag-0.7.2.tar.gz", "has_sig": false, "md5_digest": "8f4556d6f4ef838d5cfcd8d47185ca09", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13434, "upload_time": "2019-09-12T14:12:28", "url": "https://files.pythonhosted.org/packages/7a/39/71e5f873b3d182428062f0b5dccf48b0c0551b65134dd05da798572e3b25/auto-tag-0.7.2.tar.gz" } ], "0.7.3": [ { "comment_text": "", "digests": { "md5": "16b0170a8a0edffde74891b1f6dd1efd", "sha256": "4b3486719ad53d594a898a84741bdceed0be266a66e875659ea4b2c8f6ca3e12" }, "downloads": -1, "filename": "auto_tag-0.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "16b0170a8a0edffde74891b1f6dd1efd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14097, "upload_time": "2019-09-17T12:10:33", "url": "https://files.pythonhosted.org/packages/97/aa/0c405b24431ab7f92ee9a041ff26385bbcad6af7570261284794bd3bba48/auto_tag-0.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cb585b464d7cd95879da0b7953f7017", "sha256": "9ce125a8865c89b3f78175ca821d47853f72f3492911f7cd8dae50f66aa7e79f" }, "downloads": -1, "filename": "auto-tag-0.7.3.tar.gz", "has_sig": false, "md5_digest": "5cb585b464d7cd95879da0b7953f7017", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13455, "upload_time": "2019-09-17T12:10:43", "url": "https://files.pythonhosted.org/packages/5f/80/303bb39bc0e78b3c1367261982b6a81b39739be79f351f6f4b7e51dbea1b/auto-tag-0.7.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "16b0170a8a0edffde74891b1f6dd1efd", "sha256": "4b3486719ad53d594a898a84741bdceed0be266a66e875659ea4b2c8f6ca3e12" }, "downloads": -1, "filename": "auto_tag-0.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "16b0170a8a0edffde74891b1f6dd1efd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14097, "upload_time": "2019-09-17T12:10:33", "url": "https://files.pythonhosted.org/packages/97/aa/0c405b24431ab7f92ee9a041ff26385bbcad6af7570261284794bd3bba48/auto_tag-0.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5cb585b464d7cd95879da0b7953f7017", "sha256": "9ce125a8865c89b3f78175ca821d47853f72f3492911f7cd8dae50f66aa7e79f" }, "downloads": -1, "filename": "auto-tag-0.7.3.tar.gz", "has_sig": false, "md5_digest": "5cb585b464d7cd95879da0b7953f7017", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13455, "upload_time": "2019-09-17T12:10:43", "url": "https://files.pythonhosted.org/packages/5f/80/303bb39bc0e78b3c1367261982b6a81b39739be79f351f6f4b7e51dbea1b/auto-tag-0.7.3.tar.gz" } ] }