{ "info": { "author": "The CodeGrade team", "author_email": "info@codegra.de", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Operating System :: MacOS", "Operating System :: POSIX", "Programming Language :: Python :: 3" ], "description": "# CodeGra.fs\n\n

\n \n \"Build\n \n \n \"Made\n \n \n \"CodeGra.de\"\n \n \n \"Semantic\n \n \n \"License\n \n

\n\n## Installation\nCodeGra.fs should work on all popular operating systems: GNU/Linux, MacOS and\nWindows. The support for windows is currently experimental: we would love to\nhear your feedback!\n\n### GNU/Linux and MacOS\nThe installation for GNU/Linux and mac is done using `pip`: `sudo pip install\nCodeGra.fs`. This installs three scripts, `cgfs` used to mount the file-system,\n`cgfs-qt` a GUI that can be used to mount the file-system, and `cgapi-consumer`\nused by editor plugins. You can also install `cgfs` by giving `pip` the `--user`\nflag, however make sure `$HOME/.local/bin` is in your `$PATH` in this case.\n\nPlease note that `pip3` is used, this because CodeGra.fs only with works with\npython **3.5** or higher. For MacOS this will probably mean you need to install\nPython3, you can do this using [homebrew](https://brew.sh/) (`brew install\npython`) or by doing python [here](https://www.python.org/downloads/mac-osx/).\n\nOn GNU/Linux and MacOS CodeGra.fs depends on:\n- [fusepy](https://github.com/terencehonles/fusepy)\n- [requests](http://docs.python-requests.org/en/master/)\n\n### Windows (**experimental**)\nInstallation on windows can also be done by using `pip`, however we also supply\nan installer. You can download the installer for the latest release\n[here](https://github.com/CodeGra-de/CodeGra.fs/releases). The installer doesn't\ninstall the command line `cgfs` script, if you need this script for whatever\nreason simply install the package using `pip`.\n\nWhen using the Windows installer you still need to install\n[WinFsp](https://github.com/billziss-gh/winfsp) separately. Currently only\nversion 1.4B3 is supported (which is in beta), you can download it\n[here](https://github.com/billziss-gh/winfsp/releases/tag/v1.4B3).\n\nWhen installing using pip CodeGra.fs depends on:\n- [fusepy](https://github.com/terencehonles/fusepy)\n- [requests](http://docs.python-requests.org/en/master/)\n- [cffi](https://bitbucket.org/cffi/cffi)\n- [WinFsp](https://github.com/billziss-gh/winfsp) installed with dev headers.\n- [winfspy](https://github.com/Scille/winfspy)\n\n## Usage\n### Command line usage\nThe basic used of the `cgfs` can be viewed by executing `cgfs --help`. The idea\nbehind `cgfs` is that you mount a CodeGra.de instance on you local computer, in\nthe mounted folder you can now browse, alter and delete files submitted by\nyourself and people you have to grade.\n\n### GUI usage\nIf you prefer to use a GUI you can use the `cgfs-qt` command. This is a simple\nGUI to use CodeGra.fs. Please note that this GUI is still in alpha state. To use\nthe GUI fill in all required fields, you can get help for each field by clicking\nthe question mark, and click mount. You will now see a output field stating\n'Mounting...' and a bit later 'Mounted...'. You can now use the file system as\nnormal. To unmount simply click 'Stop!'.\n\n### Available files\nThe basic layout of the file-system is `/course/assingment/submission -\nsubmission_time`, so for example `/datastructures/linked-list/Thomas Schaper -\n2017-11-14T13:41:26.324712`. All files that a student submitted can be found in\nthe submission folder.\n\nThe file-system also contains a few *special* files, these are files that are\nnot submitted by a student but can be used to control CodeGra.de. These files\nare validated on a close, which fails if the file format is not correct. The\nfollowing special files exist:\n\n| Name | Editable1 | Location | Use | Format |\n| ---- | -------- | -------- | --- | ------ |\n| `.api.socket` | \u2717 | Root | Location of the api socket | Single line with file location |\n| `.cg-mode` | \u2717 | Root | Mode file system | `FIXED` or `NOT_FIXED` |\n| `.cg-assignment-id` | \u2717 | Assignment | Id of this assignment | Single line with id |\n| `.cg-assignment-settings.ini` | \u2713 | Assignment | Settings for this assignment | Ini file with settings |\n| `.cg-edit-rubric.md` | \u2713 | Assignment | Rubric for this assignment, editing changes the rubric | See `.cd-edit-rubric.help` |\n| `.cg-edit-rubric.help` | \u2717 | Assignment | Help file for the rubric file | Plain text file |\n| `.cg-feedback` | \u2713 | Submission | The general feedback for this submission | Plain text file |\n| `.cg-grade` | \u2713 | Submission | The grade for this submission | Single float or empty to delete or reset2 the grade |\n| `.cg-rubric.md` | \u27133 | Submission | The rubric for this submission | Markdown file where a ticked box means the item is selected. |\n| `.cg-submission-id` | \u2717 | Submission | Id of this submission | Single line with id |\n\n1: Only if\nyou have the correct permissions.\n\n2: The grade is reset\nif a rubric grade is available, otherwise it is deleted.\n\n3: Only\nmarkdown checkboxes should be changed.\n\nIt can happen that you didn't follow the exact format of the special file and\ncan't easily recover anymore. This isn't a really big deal, you can write the\nstring `__RESET__` to any writable special file to reset it to its server state.\n\nCodeGra.fs is best used in combination with an editor plugin, such plugins exist\nfor [emacs](https://github.com/CodeGra-de/CodeGra.el) and\n[atom](https://github.com/CodeGra-de/CodeGra.atom) and more are being created.\n\n## Privacy\nYou can use CodeGra.fs for any CodeGrade instance. The application does a\nversion check at every startup, this is done by doing a request to\n`https://codegra.de/.cgfs.version`. We do not collect any personal information\nat this route. It is currently not possible to disable this version check. If\nthis request is a problem for you, it is possible to block this host/url:\nCodeGra.fs will continue to function normally; creating a pull request to make\nthis check optional is also possible of course!\n\n## Support\nPlease report any issues by creating a GitHub issue\n[here](https://github.com/CodeGra-de/CodeGra.fs/issues/new), if possible please\ninclude link to uploaded a log output when encountering the bug using the\n`verbose` mode (use the `--verbose` command line flag, or click 'verbose' in the\nGUI). You can upload logs to any pastebin like website, for example\n[glot.io](https://glot.io/new/plaintext).\n\nCommercial support of CodeGra.fs is available and included in a commercial\nCodeGrade instance. We would love to provide more information, please send an\ne-mail to info@codegra.de!\n\n## License\nCodeGra.fs as a whole is licensed under the [GNU Affero General Public License\nv3.0 (AGPL-3.0-only)](https://www.gnu.org/licenses/agpl-3.0.html). All license\nidentifiers used in this product are SPDX license identifiers.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "CodeGra.fs", "package_url": "https://pypi.org/project/CodeGra.fs/", "platform": "", "project_url": "https://pypi.org/project/CodeGra.fs/", "project_urls": null, "release_url": "https://pypi.org/project/CodeGra.fs/0.5.0/", "requires_dist": null, "requires_python": "", "summary": "File-system for CodeGrade instances", "version": "0.5.0" }, "last_serial": 4820468, "releases": { "0.3.2": [ { "comment_text": "", "digests": { "md5": "823a442e149a6af2a5ee16ba0698d20c", "sha256": "75f3c469597917140f8f95f0cc08a96dd917db347162dc5f52842d4fae78e16f" }, "downloads": -1, "filename": "CodeGra.fs-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "823a442e149a6af2a5ee16ba0698d20c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17529, "upload_time": "2018-09-17T20:27:47", "url": "https://files.pythonhosted.org/packages/50/89/f0b60464607981133b4ee41feabe69442aad3ab376c6969fed7bc1d8ec5f/CodeGra.fs-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afb9ba90207626671343ec3b0223c20a", "sha256": "70110b18583451868441f1932d6dae8cb08fa4a25a2a4c548aa1a72e99395323" }, "downloads": -1, "filename": "CodeGra.fs-0.3.2.tar.gz", "has_sig": false, "md5_digest": "afb9ba90207626671343ec3b0223c20a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22987, "upload_time": "2018-09-17T20:27:48", "url": "https://files.pythonhosted.org/packages/12/ca/4496d193f153ce25ec13e4107839e5a3ab675e493201f50d43a8cd473494/CodeGra.fs-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "1cc08c0e7b6536d6877ac8e8711d4d38", "sha256": "bd90068e50b54901f0a263a1090f654b661104521d08101d1a65676c1a4ae0a4" }, "downloads": -1, "filename": "CodeGra.fs-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "1cc08c0e7b6536d6877ac8e8711d4d38", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17605, "upload_time": "2018-09-17T21:41:57", "url": "https://files.pythonhosted.org/packages/94/b1/a2134cd04990c9859429781253276d27c997f336e7a936cfb74c0d615f88/CodeGra.fs-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d050ee61cdef5de954d6a8b0ae617c31", "sha256": "f67efa6f068345efc028c2d978f1bb9ede593b37ef89f5cc86f73c4e555b995a" }, "downloads": -1, "filename": "CodeGra.fs-0.3.3.tar.gz", "has_sig": false, "md5_digest": "d050ee61cdef5de954d6a8b0ae617c31", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23052, "upload_time": "2018-09-17T21:41:59", "url": "https://files.pythonhosted.org/packages/a8/95/752d97bd770c5aee46b433002c33a8227ca670131302b79ec44407d9432a/CodeGra.fs-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "7341ba9f4c88d9f08ba3cbc9d75a384b", "sha256": "25ee9b34ac35f846e41b533c3208c4cf17cddf1466edc57e654284dbdac82bbf" }, "downloads": -1, "filename": "CodeGra.fs-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "7341ba9f4c88d9f08ba3cbc9d75a384b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17785, "upload_time": "2018-09-20T13:32:41", "url": "https://files.pythonhosted.org/packages/bc/98/4fcde0c53b37be6bd610a00e373e72d5fcf39d43ba1eaba1d4172074f487/CodeGra.fs-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "42c8776c3c66e62fc964231e5695ad9e", "sha256": "12ba32d9ed9e378696eaf715d3825e6c00b777a9b8fc018426e694df284a77b3" }, "downloads": -1, "filename": "CodeGra.fs-0.3.4.tar.gz", "has_sig": false, "md5_digest": "42c8776c3c66e62fc964231e5695ad9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23290, "upload_time": "2018-09-20T13:32:44", "url": "https://files.pythonhosted.org/packages/68/ac/ff426efd19a37c621e5f0acd314f3638f0fd9b61ce295c2a9e59007804c7/CodeGra.fs-0.3.4.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "e4f66463b07e32a5f902a7f840293043", "sha256": "69e1c6c74027be062fe6765045fc9cae09684aa1cb91db86c2b3d619f116ec1e" }, "downloads": -1, "filename": "CodeGra.fs-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e4f66463b07e32a5f902a7f840293043", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 39405, "upload_time": "2018-10-30T16:45:27", "url": "https://files.pythonhosted.org/packages/de/40/4abc220fa925e221f1cce4dfccae106c4b2e2c54579bb5c1c87614b6d2c5/CodeGra.fs-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fe03e9d08f0ae9270e11bf13a974501", "sha256": "1108c16dcb6630339bffa41b4e4ebbebc0577c1db8d7ba2ef26611fdab7c9fc5" }, "downloads": -1, "filename": "CodeGra.fs-0.4.0.tar.gz", "has_sig": false, "md5_digest": "6fe03e9d08f0ae9270e11bf13a974501", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31329, "upload_time": "2018-10-30T16:45:32", "url": "https://files.pythonhosted.org/packages/59/18/e74d64210b8fca3fd2059689774e3d47a2389cee67fdfdb4a0fee2ccb66b/CodeGra.fs-0.4.0.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "df1f9b9b1cf5de3b56c858ac4b9d1c84", "sha256": "1ab34a6a723430f50508878c29a4bc08d2f62c16ad9d9ae357bea6653043b6a1" }, "downloads": -1, "filename": "CodeGra.fs-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "df1f9b9b1cf5de3b56c858ac4b9d1c84", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 29858, "upload_time": "2018-10-30T16:45:28", "url": "https://files.pythonhosted.org/packages/85/96/18dad722cb73dce3b149c27c158f56ee8231968b547bd00027fe2c328b60/CodeGra.fs-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e250627eedf9dc9c28ddc8c2dc877080", "sha256": "151a3ddf4f6ebc5af1418ec508024a3a6e59e458adb4a341f74883bdcb4d3dbe" }, "downloads": -1, "filename": "CodeGra.fs-0.4.2.tar.gz", "has_sig": false, "md5_digest": "e250627eedf9dc9c28ddc8c2dc877080", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34347, "upload_time": "2018-10-30T16:45:33", "url": "https://files.pythonhosted.org/packages/29/bc/7939cbdd45b7127ac8a987a59d5f0cda2005a930b9edc9d45626311619a1/CodeGra.fs-0.4.2.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "fa990f2bf2d4e15025501465a8f3d14a", "sha256": "50390cad8aa05eafb4f8a6ce28bf683b51c4b5438d1e63acdc4403f43af39395" }, "downloads": -1, "filename": "CodeGra.fs-0.5.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "fa990f2bf2d4e15025501465a8f3d14a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67896, "upload_time": "2019-02-14T13:46:20", "url": "https://files.pythonhosted.org/packages/77/19/091d8168e2cdd20c73ed98f717396c2b6bf9202f7e78f5f6d73330b69b78/CodeGra.fs-0.5.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "b77b4195ccc6d7b995b1c3b621663f0b", "sha256": "5f7ea8b80db8e83cbc3c975a7d7eb7a8177ee7d3a087d99fe24aa32dda90dedd" }, "downloads": -1, "filename": "CodeGra.fs-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b77b4195ccc6d7b995b1c3b621663f0b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42580, "upload_time": "2019-02-14T13:59:15", "url": "https://files.pythonhosted.org/packages/12/a2/35544a5cf06b6accd7c231f52b9c26234a3328a202c71fee5a23fe085c7e/CodeGra.fs-0.5.0-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fa990f2bf2d4e15025501465a8f3d14a", "sha256": "50390cad8aa05eafb4f8a6ce28bf683b51c4b5438d1e63acdc4403f43af39395" }, "downloads": -1, "filename": "CodeGra.fs-0.5.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "fa990f2bf2d4e15025501465a8f3d14a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 67896, "upload_time": "2019-02-14T13:46:20", "url": "https://files.pythonhosted.org/packages/77/19/091d8168e2cdd20c73ed98f717396c2b6bf9202f7e78f5f6d73330b69b78/CodeGra.fs-0.5.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "b77b4195ccc6d7b995b1c3b621663f0b", "sha256": "5f7ea8b80db8e83cbc3c975a7d7eb7a8177ee7d3a087d99fe24aa32dda90dedd" }, "downloads": -1, "filename": "CodeGra.fs-0.5.0-py3-none-any.whl", "has_sig": false, "md5_digest": "b77b4195ccc6d7b995b1c3b621663f0b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42580, "upload_time": "2019-02-14T13:59:15", "url": "https://files.pythonhosted.org/packages/12/a2/35544a5cf06b6accd7c231f52b9c26234a3328a202c71fee5a23fe085c7e/CodeGra.fs-0.5.0-py3-none-any.whl" } ] }