{ "info": { "author": "porter.io", "author_email": "opensource@porter.io", "bugtrack_url": null, "classifiers": [], "description": "# Tagg-Python Utility/Library\r\n\r\n> Tagg is a library and command line utility built to help you manipulate the data of [Tag-Github]\r\n\r\n## Installation\r\n\r\n```bash\r\n> pip install tagg-python\r\n```\r\n\r\n## Usage\r\n\r\n`tagg` and `autotagg` should run in the root of the data dir. If you wish to run them outside the data dir, use `-d datadir` to specify the data dir or `--force` to operate in a new data dir.\r\n\r\n### Tagg Utility\r\n\r\nTagg cli tool provides basic functionalities to add, remove, update and validate tag and repo data.\r\n\r\n#### General\r\n\r\n```bash\r\n# Export data to json\r\ntagg export > data.json\r\n\r\n# Enter REPL with history, autocomplete and basic syntax highlighting support\r\ntagg shell\r\n```\r\n\r\n#### Tags\r\n\r\n```bash\r\n# List all tags\r\ntagg tags [list]\r\n\r\n# Add a tag named c++ in language domain\r\ntagg tags add language/c++\r\n\r\n# Remove a tag and all its links in repos\r\ntagg tags remove language/c++\r\n\r\n# Show tag information\r\ntagg tags show language/c++\r\n\r\n# Rename a tag and all its links in repos \r\ntagg tags rename language/c++ language/cplusplus\r\n\r\n# Edit tag meta in VIM\r\ntagg tags edit language/c++\r\n\r\n# Validate tag data\r\ntagg tags validate\r\n```\r\n\r\n#### Repos\r\n\r\n```bash\r\n# List all repos\r\ntagg repos [list]\r\n\r\n# Find all repos with one or more tags\r\ntagg repos links python,framework\r\n\r\n# Find all repos with one or more keywords in their names or descriptions\r\ntagg repos find django\r\n\r\n# Add a repo and fetch its meta from Github\r\ntagg repos add django/django\r\n\r\n# Remove a repo\r\ntagg repos remove django/django\r\n\r\n# Show repo information\r\ntagg repos show django/django\r\n\r\n# Edit repo meta in VIM\r\ntagg repos edit django/django\r\n\r\n# Rename a repo\r\ntagg repos rename django/django django/django2\r\n\r\n# Tag a repo with one or more tags\r\ntagg repos tag django/django language/c++\r\n\r\n# Untag a repo\r\ntagg repos untag django/django [language/]c++\r\n\r\n# Get stats info of tagged repos\r\ntagg repos link_stats\r\n\r\n# Validate repo data\r\ntagg repos validate\r\n```\r\n\r\n### Autotagg Utility\r\n\r\nAutomatically tag repos according to their meta data. By default, it prints a list of suggested commands instead of actually modifying the data.\r\n\r\n```bash\r\n# Run on a repo\r\nautotagg owner/name\r\n\r\n# Run on all existing repos\r\nautotagg -a|--all\r\n\r\n# Get my repos from Github and run on them\r\nautotagg -g GITHUB_ACCOUNT\r\n\r\n# Get my repos and also my starred repos from Github and run on them\r\nautotagg -g GITHUB_ACCOUNT --starred\r\n\r\n# Get top1k repos from Github and run on them\r\nautotagg --top1k\r\n```\r\n\r\nThen to apply commands printed by `autotagg`, just pipe it to `tagg`\r\n\r\n```bash\r\nautotag -a > pending_review.txt\r\ncat pending_review.txt | tagg\r\n```\r\n\r\nFor more details option list please see --help of autotagg\r\n\r\n##### Autotagg Definition File\r\n\r\nA json file that defines autotag criterias. Let's explain it with an example:\r\n\r\n```json\r\n{\r\n \"default_type\": \"general\",\r\n \"brands\": {\r\n \"twitter\": [\r\n \"twbs\", \r\n \"twitter\"\r\n ]\r\n },\r\n \"keywords\":{\r\n \"framework\": [\r\n \"/^django$/\"\r\n ],\r\n \"python\": [\r\n \"python\",\r\n \"/^py/\"\r\n ]\r\n }\r\n}\r\n```\r\n\r\nThis defines three tags:\r\n\r\n* \"brands/twitter\" tag to be placed when the repo owner is \"twbs\" or \"twitter\"\r\n* \"general/framework\" tag to be placed when the repo name is exactly \"django\"\r\n* \"general/python\" tag to be placed when the repo name starts with \"py\" or the keyword \"python\" shows up anywhere in the repo name or the repo description\r\n\r\n# License\r\n\r\nMIT\r\n\r\n[Tag-Github]: https://github.com/porter-io/tag-github\r\n", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/porter-io/tagg-python", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "tagg", "package_url": "https://pypi.org/project/tagg/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/tagg/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/porter-io/tagg-python" }, "release_url": "https://pypi.org/project/tagg/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "CLI tool for tag-github project", "version": "0.1.2" }, "last_serial": 1489429, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "84f1b3f22c8e0115f4b6ebb737383fa5", "sha256": "9670183e329af7571243122aa1fb24fa2b9e85943ef67f226bd6d3d52a7133e9" }, "downloads": -1, "filename": "tagg-0.1.2.tar.gz", "has_sig": false, "md5_digest": "84f1b3f22c8e0115f4b6ebb737383fa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14921, "upload_time": "2015-04-03T09:39:31", "url": "https://files.pythonhosted.org/packages/cb/7f/2be90ae25f8281372ef3a1effb581d66299501ec273674c47ace6a41f4a8/tagg-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "84f1b3f22c8e0115f4b6ebb737383fa5", "sha256": "9670183e329af7571243122aa1fb24fa2b9e85943ef67f226bd6d3d52a7133e9" }, "downloads": -1, "filename": "tagg-0.1.2.tar.gz", "has_sig": false, "md5_digest": "84f1b3f22c8e0115f4b6ebb737383fa5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14921, "upload_time": "2015-04-03T09:39:31", "url": "https://files.pythonhosted.org/packages/cb/7f/2be90ae25f8281372ef3a1effb581d66299501ec273674c47ace6a41f4a8/tagg-0.1.2.tar.gz" } ] }