{ "info": { "author": "Simon Lars\u00e9n", "author_email": "slarse@kth.se", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Education", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython" ], "description": "# repobee-feedback\n[![Build Status](https://travis-ci.com/repobee/repobee-feedback.svg)](https://travis-ci.com/repobee/repobee-feedback)\n[![Code Coverage](https://codecov.io/gh/repobee/repobee-feedback/branch/master/graph/badge.svg)](https://codecov.io/gh/repobee/repobee-feedback)\n[![PyPi Version](https://badge.fury.io/py/repobee-feedback.svg)](https://badge.fury.io/py/repobee-feedback)\n![Supported Python Versions](https://img.shields.io/badge/python-3.5%7C3.6%7C3.7%7C3.8-blue)\n![Supported Platforms](https://img.shields.io/badge/platforms-Linux%2C%20macOS-blue.svg)\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)\n[![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n\nA [RepoBee](https://github.com/repobee/repobee) plugin that adds the\n`issue-feedback` command to RepoBee. It allows the user to specify a\ndirectory containing _issue files_. Issue files are simply markdown\nfiles in which the first line is taken to be the title of the issue, and the\nrest the body. The `issue-feedback` command looks for issue files called\n`.md`, and opens them in the respective student repos.\n\nAlternatively, you can also use a special file format to put all issues into\nthe same file, see [The multi issues file](#the-multi-issues-file).\n\n> **Important:** This plugin is still in very early stages and may change\n> considerably over the coming weeks.\n\n## Install\n`repobee-feedback` is on PyPi, so installing is as simple as:\n\n```\npython3 -m pip install --user --upgrade repobee-feedback\n```\n\nIf you want the latest dev-build, you can also install directly from the repo:\n\n```\n$ python3 -m pip install git+https://github.com/repobee/repobee-feedback.git\n```\n\n## Usage\n\n### Activate the plugin\nTo use `repobee-feedback`, you first need to [install it](#Install), and then\nactivate it as a plugin. You can do that either by providing it on the command\nline:\n\n```\n$ repobee -p feedback issue-feedback [...]\n```\n\nOr, you can add it to the `plugins` section of the config file.\n\n```\n[DEFAULTS]\nplugins = feedback\n```\n\nAnd then the `issue-feedback` command will simply appear. For more details on\nusing plugins, see the\n[RepoBee plugin docs](https://repobee.readthedocs.io/en/stable/plugins.html#using-existing-plugins).\n\n### The issue files\n`issue-feedback` looks for files called `.md`. So, if you for\nexample want to open feedback issues for students `slarse` and `rjglasse` for\nassignment `task-1`, it will expect the files `slarse-task-1.md` and\n`rjglasse-task-1.md` to be present in the issue files directory. More files can\nbe present, but if any of the expected issue files are missing, an error is\ndisplayed and no issues are opened.\n\nThe issue files should be Markdown-formatted. **The first line of the file is\nthe title, the rest is the body.** Note that the title (i.e. first line) should\nnot contain any formatting as it typically does not render well on\nGitHub/GitLab.\n\n### The multi issues file\nAlternatively, you can put all issues into a single file and specify the path\nto it with the `--multi-issues-file` argument (see [Optional\narguments](#optional-arguments)). Each issue should begin with\n`#ISSUE##`, and everything between that line\nand the next such line is considered to be the body of the issue. Here is an\nexample file with issues for students `slarse` and `rjglasse` for assignment\n`task-1`.\n\n```\n#ISSUE#slarse-task-1#This is a neat title\nWell done mr slarse, you did good here.\nYou could have done a bit better on blabla, though.\n\nOverall well done!\n\n#ISSUE#rjglasse-task-1#This is another title\nHmm, not sure what's going on here.\n\nCould you explain it better?\n```\n\n> **Note:** The first line of the multi issues file must be an `#ISSUE#` line.\n\n### Using the `issue-feedback` command\nThe `issue-feedback` command is straightforward. It takes the \"regular\" options\nthat most RepoBee commands (base url, token, etc), but these are also picked\nfrom the config file as per usual. With a typical RepoBee configuration, you\nonly need to supply `--mn|--master-repo-names` and `-s|--students` (or\n`--sf|--students_file`). Here's an example:\n\n```\n$ repobee -p feedback issue-feedback --mn task-1 -s slarse rjglasse\n```\n\nThis will cause `issue-feedback` to search through the current directory (which\nis the default issue directory) for `slarse-task-1.md` and `rjglasse-task-1.md`.\n\n> **Note:** By default, `issue-feedback` runs in interactive mode: it will\n> prompt you `y/n` before opening an issue. See the next section for how to\n> disable that.\n\n### Optional arguments\n`issue-feedback` has three optional arguments: `-b|--batch-mode`,\n`--id|--issue-dir` and `--mi|--multi-issues-file`.\n\n> **Note:** `--id` and `--mi` are mutually exclusive, you can only supply one.\n\n```\n -b, --batch-mode Run without any yes/no promts.\n --id ISSUES_DIR, --issues-dir ISSUES_DIR\n Directory containing issue files. The files should be\n named .md (for example, slarse-\n task-1.md). The first line is assumed to be the title,\n and the rest the body. Defaults to the current\n --mi MULTI_ISSUES_FILE, --multi-issues-file MULTI_ISSUES_FILE\n File containing all issues to be openend. Each\n separate issue should begin with a line containing\n only #ISSUE##. For\n example, for student `slarse` and assignment `task-1`\n and issue title `Pass`, the line should read\n `#ISSUE#slarse-task-1#Pass` (without backticks). The\n very first line of the file must be an #ISSUE# line.\n```\n\n# License\nSee [LICENSE](LICENSE) for details.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "https://github.com/slarse/repobee-feedback/archive/v0.5.0.tar.gz", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/slarse/repobee-feedback", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "repobee-feedback", "package_url": "https://pypi.org/project/repobee-feedback/", "platform": "", "project_url": "https://pypi.org/project/repobee-feedback/", "project_urls": { "Download": "https://github.com/slarse/repobee-feedback/archive/v0.5.0.tar.gz", "Homepage": "https://github.com/slarse/repobee-feedback" }, "release_url": "https://pypi.org/project/repobee-feedback/0.5.0/", "requires_dist": [ "repobee-plug (>=0.10.0)", "daiquiri", "pytest ; extra == 'test'", "pytest-cov ; extra == 'test'", "repobee ; extra == 'test'", "codecov ; extra == 'test'" ], "requires_python": ">=3.5", "summary": "A plugin that adds the issue-feedback command to RepoBee", "version": "0.5.0" }, "last_serial": 5935949, "releases": { "0.3.1": [ { "comment_text": "", "digests": { "md5": "0e39effced6b544335bed2c02a3baaf3", "sha256": "d2b7502cc8af949cc36d140dc76bd216a431ce205ce5371530c38334b6e2f33b" }, "downloads": -1, "filename": "repobee_feedback-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0e39effced6b544335bed2c02a3baaf3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 7158, "upload_time": "2019-09-12T07:25:49", "url": "https://files.pythonhosted.org/packages/e0/2e/c8abbd8474fea5de2a4f5dff43ba7860c321262f34b58a0176d69a6746a4/repobee_feedback-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5704cd7580b9191e8c046513726e3f15", "sha256": "31c905aaa783f8c8bf75f2a9eb1c8e6672d9ab58eee132086638fc26f9096bf0" }, "downloads": -1, "filename": "repobee-feedback-0.3.1.tar.gz", "has_sig": false, "md5_digest": "5704cd7580b9191e8c046513726e3f15", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6161, "upload_time": "2019-09-12T07:25:52", "url": "https://files.pythonhosted.org/packages/23/90/d1e7b38616f619acf3f8afc86dc6c5dd0e40eb319da2c66e1f957c524e68/repobee-feedback-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "684528e7f43d70a974572458d967bb85", "sha256": "cf4ae4f8e11c49c4c13e67429196a8b34e874b34511777e1cbfbb180738f5d6d" }, "downloads": -1, "filename": "repobee_feedback-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "684528e7f43d70a974572458d967bb85", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 7168, "upload_time": "2019-09-15T09:34:17", "url": "https://files.pythonhosted.org/packages/be/aa/0aa8129938c032c4aab69a2fabaa621f364a1b2b1ee25a887ab4d72d9129/repobee_feedback-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d4238ef1a2bebab41bb4bfd571806de2", "sha256": "5f915da7048cf70b4fe7691eb543e849b12f30ccc427e4ea80ac52235c6b3874" }, "downloads": -1, "filename": "repobee-feedback-0.3.2.tar.gz", "has_sig": false, "md5_digest": "d4238ef1a2bebab41bb4bfd571806de2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6179, "upload_time": "2019-09-15T09:34:18", "url": "https://files.pythonhosted.org/packages/26/5e/45095194eee9fb1d5313c28ed00c6aa917f591e3717c8e20b9e977330ce6/repobee-feedback-0.3.2.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "979fc3c500c80b5b31a28edaf08a0013", "sha256": "e1ca52ad08cb71198c30aba08c717844c47ce1691143161e9589cd8891052d88" }, "downloads": -1, "filename": "repobee_feedback-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "979fc3c500c80b5b31a28edaf08a0013", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 7321, "upload_time": "2019-09-28T13:29:24", "url": "https://files.pythonhosted.org/packages/de/d3/07a6f45cbe2274d562491403517d0b88502badd43ed48e0c00a28e831f93/repobee_feedback-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9b3c74c7dcabdc6b2770a2c3afc52125", "sha256": "4934f7f9fee1ca30ff2ccb46a4616248630b1edd50e848beea8499fb27d8803f" }, "downloads": -1, "filename": "repobee-feedback-0.4.0.tar.gz", "has_sig": false, "md5_digest": "9b3c74c7dcabdc6b2770a2c3afc52125", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6318, "upload_time": "2019-09-28T13:29:25", "url": "https://files.pythonhosted.org/packages/13/28/7a44298a8aaeae257de2d1634292190100dc65b6242e680adb60bc85233b/repobee-feedback-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "b884264f93f07ffb79e265ae9bb01dfe", "sha256": "d559ce4071e659b782837bfb94750d52b4f28f20ac88e61c3affe34445941333" }, "downloads": -1, "filename": "repobee_feedback-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b884264f93f07ffb79e265ae9bb01dfe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 7425, "upload_time": "2019-10-06T20:41:25", "url": "https://files.pythonhosted.org/packages/44/11/a901c8618b01b74ee5a01a699667c865b133b63b1fb40cb72abb2f10d72b/repobee_feedback-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d90cca6f9518167da0408bde9a882977", "sha256": "fa2c2f838981da82d20fdd4047c5502418422ad6236ccd5f9f5019695581e582" }, "downloads": -1, "filename": "repobee-feedback-0.5.0.tar.gz", "has_sig": false, "md5_digest": "d90cca6f9518167da0408bde9a882977", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6426, "upload_time": "2019-10-06T20:41:26", "url": "https://files.pythonhosted.org/packages/da/28/c5b8b4a13d7c6dde2e592dbf077d2903c384d3cc5b30fdd978b318cc1a8f/repobee-feedback-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b884264f93f07ffb79e265ae9bb01dfe", "sha256": "d559ce4071e659b782837bfb94750d52b4f28f20ac88e61c3affe34445941333" }, "downloads": -1, "filename": "repobee_feedback-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b884264f93f07ffb79e265ae9bb01dfe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 7425, "upload_time": "2019-10-06T20:41:25", "url": "https://files.pythonhosted.org/packages/44/11/a901c8618b01b74ee5a01a699667c865b133b63b1fb40cb72abb2f10d72b/repobee_feedback-0.5.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d90cca6f9518167da0408bde9a882977", "sha256": "fa2c2f838981da82d20fdd4047c5502418422ad6236ccd5f9f5019695581e582" }, "downloads": -1, "filename": "repobee-feedback-0.5.0.tar.gz", "has_sig": false, "md5_digest": "d90cca6f9518167da0408bde9a882977", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 6426, "upload_time": "2019-10-06T20:41:26", "url": "https://files.pythonhosted.org/packages/da/28/c5b8b4a13d7c6dde2e592dbf077d2903c384d3cc5b30fdd978b318cc1a8f/repobee-feedback-0.5.0.tar.gz" } ] }