canvascli


Namecanvascli JSON
Version 0.8.0 PyPI version JSON
download
home_pagehttps://github.com/joelostblom/canvascli
SummaryA CLI to reformat and review Canvas grades
upload_time2024-11-20 02:43:40
maintainerNone
docs_urlNone
authorJoel Ostblom
requires_python<3.13,>=3.10
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # canvascli

`canvascli` downloads grades from Canvas,
converts them into the format required
for final submission to the FSC at UBC,
and creates a few helpful visualizations.

## Installation

`canvascli` requires a recent version of Python and its package manager `pip`.
After installing those ([e.g. via miniconda](https://docs.conda.io/en/latest/miniconda.html)),
you can run this command from your terminal.

```shell
python -m pip install -U canvascli
```

## Usage

All `canvascli` functionality requires that you have [created an Canvas API access
token](https://community.canvaslms.com/t5/Instructor-Guide/How-do-I-manage-API-access-tokens-as-an-instructor/ta-p/1177),
so do that first if you don't have one already.

> When running `canvascli`,
you can either paste your Canvas token when prompted at the command line
(ideally using a password manager, e.g. [KeePassXC](https://keepassxc.org/)),
or [store it in an environment variable](https://www.poftut.com/how-to-set-environment-variables-for-linux-windows-bsd-and-macosx/) named `CANVAS_PAT`.

Typing `canvascli` at the command prompt will show the general help message
including the available sub-commands.
The most common use case
is probably to prepare final grades for FSC submission,
which you can do like so:

```shell
canvascli prepare-fsc-grades --course-id 53665
```

This will save a CSV file in the current directory
which can be uploaded to the FSC.
The file should automatically be correctly formatted,
but it is a good idea to double check
in case there are unexpected changes
to how UBC inputs course info on Canvas.

`canvascli` drops students without a grade by default,
and creates a few helpful visualizations of the final grades
and assignment scores.
Run `canvascli prepare-fsc-grades --help`
to view all available options.

If you don't know the Canvas course id of your course,
`canvascli` can check for you:

```shell
canvascli show-courses
```

This will output a table with all the courses
your API token has access to.
Run `canvascli show-courses --help`
to view all available options.

<details><summary>

## Shell completion (optional, click to expand)

</summary>

If you want suggestions for subcommands and option flags when you press <kbd>TAB</kbd>
you can download the corresponding completion file
from the GitHub repository
and source it in your terminal's configuration file.
If you don't want to do this manually,
you can run one of the following commands
(don't forget to restart your shell afterwards).

### Zsh

> First make sure that your zsh general shell completion enabled
by adding `autoload -Uz compinit && compinit` to your `.zshrc`;
it is important that this line is added before running the command below.

```sh
curl -Ss https://raw.githubusercontent.com/joelostblom/canvascli/main/canvascli-complete.zsh > ~/.canvascli-complete.zsh && echo ". ~/.canvascli-complete.zsh" >> ~/.zshrc
```

### Bash

> Bash shell completion requires bash >= 4.0
(notably macOS ships with 3.x so use zsh instead).
If you are using GitBash for Windows,
change `.bashrc` to `.bash_profile` in the command below,
and note that you will only get shell completion after typing `cavascli`,
not `canvascli.exe`.

```sh
curl -Ss https://raw.githubusercontent.com/joelostblom/canvascli/main/canvascli-complete.bash > ~/.canvascli-complete.bash && echo ". ~/.canvascli-complete.bash" >> ~/.bashrc
```

</details>

## Questions and contributing

Questions and contributions are welcome!
The best way to get in touch is to
[open a new issue or discussion](https://github.com/joelostblom/canvascli/issues/new/choose).
Remember to follow the [Code of Conduct](CODE_OF_CONDUCT.md)
when you participate in this project.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/joelostblom/canvascli",
    "name": "canvascli",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<3.13,>=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": "Joel Ostblom",
    "author_email": "joelostblom@protonmail.com",
    "download_url": "https://files.pythonhosted.org/packages/6c/bc/da934acea39273793706c8dabc116dd98ac0701c8a65dc4f44f7554a2a6a/canvascli-0.8.0.tar.gz",
    "platform": null,
    "description": "# canvascli\n\n`canvascli` downloads grades from Canvas,\nconverts them into the format required\nfor final submission to the FSC at UBC,\nand creates a few helpful visualizations.\n\n## Installation\n\n`canvascli` requires a recent version of Python and its package manager `pip`.\nAfter installing those ([e.g. via miniconda](https://docs.conda.io/en/latest/miniconda.html)),\nyou can run this command from your terminal.\n\n```shell\npython -m pip install -U canvascli\n```\n\n## Usage\n\nAll `canvascli` functionality requires that you have [created an Canvas API access\ntoken](https://community.canvaslms.com/t5/Instructor-Guide/How-do-I-manage-API-access-tokens-as-an-instructor/ta-p/1177),\nso do that first if you don't have one already.\n\n> When running `canvascli`,\nyou can either paste your Canvas token when prompted at the command line\n(ideally using a password manager, e.g. [KeePassXC](https://keepassxc.org/)),\nor [store it in an environment variable](https://www.poftut.com/how-to-set-environment-variables-for-linux-windows-bsd-and-macosx/) named `CANVAS_PAT`.\n\nTyping `canvascli` at the command prompt will show the general help message\nincluding the available sub-commands.\nThe most common use case\nis probably to prepare final grades for FSC submission,\nwhich you can do like so:\n\n```shell\ncanvascli prepare-fsc-grades --course-id 53665\n```\n\nThis will save a CSV file in the current directory\nwhich can be uploaded to the FSC.\nThe file should automatically be correctly formatted,\nbut it is a good idea to double check\nin case there are unexpected changes\nto how UBC inputs course info on Canvas.\n\n`canvascli` drops students without a grade by default,\nand creates a few helpful visualizations of the final grades\nand assignment scores.\nRun `canvascli prepare-fsc-grades --help`\nto view all available options.\n\nIf you don't know the Canvas course id of your course,\n`canvascli` can check for you:\n\n```shell\ncanvascli show-courses\n```\n\nThis will output a table with all the courses\nyour API token has access to.\nRun `canvascli show-courses --help`\nto view all available options.\n\n<details><summary>\n\n## Shell completion (optional, click to expand)\n\n</summary>\n\nIf you want suggestions for subcommands and option flags when you press <kbd>TAB</kbd>\nyou can download the corresponding completion file\nfrom the GitHub repository\nand source it in your terminal's configuration file.\nIf you don't want to do this manually,\nyou can run one of the following commands\n(don't forget to restart your shell afterwards).\n\n### Zsh\n\n> First make sure that your zsh general shell completion enabled\nby adding `autoload -Uz compinit && compinit` to your `.zshrc`;\nit is important that this line is added before running the command below.\n\n```sh\ncurl -Ss https://raw.githubusercontent.com/joelostblom/canvascli/main/canvascli-complete.zsh > ~/.canvascli-complete.zsh && echo \". ~/.canvascli-complete.zsh\" >> ~/.zshrc\n```\n\n### Bash\n\n> Bash shell completion requires bash >= 4.0\n(notably macOS ships with 3.x so use zsh instead).\nIf you are using GitBash for Windows,\nchange `.bashrc` to `.bash_profile` in the command below,\nand note that you will only get shell completion after typing `cavascli`,\nnot `canvascli.exe`.\n\n```sh\ncurl -Ss https://raw.githubusercontent.com/joelostblom/canvascli/main/canvascli-complete.bash > ~/.canvascli-complete.bash && echo \". ~/.canvascli-complete.bash\" >> ~/.bashrc\n```\n\n</details>\n\n## Questions and contributing\n\nQuestions and contributions are welcome!\nThe best way to get in touch is to\n[open a new issue or discussion](https://github.com/joelostblom/canvascli/issues/new/choose).\nRemember to follow the [Code of Conduct](CODE_OF_CONDUCT.md)\nwhen you participate in this project.\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "A CLI to reformat and review Canvas grades",
    "version": "0.8.0",
    "project_urls": {
        "Homepage": "https://github.com/joelostblom/canvascli"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6cbcda934acea39273793706c8dabc116dd98ac0701c8a65dc4f44f7554a2a6a",
                "md5": "7ae1d9e73ea21fe4f75a4f1c767907c0",
                "sha256": "48c16575716bdbe0bf79c20dda083c0f6f234f883370a2ac193ec672ad71f18e"
            },
            "downloads": -1,
            "filename": "canvascli-0.8.0.tar.gz",
            "has_sig": false,
            "md5_digest": "7ae1d9e73ea21fe4f75a4f1c767907c0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<3.13,>=3.10",
            "size": 40190,
            "upload_time": "2024-11-20T02:43:40",
            "upload_time_iso_8601": "2024-11-20T02:43:40.040982Z",
            "url": "https://files.pythonhosted.org/packages/6c/bc/da934acea39273793706c8dabc116dd98ac0701c8a65dc4f44f7554a2a6a/canvascli-0.8.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-20 02:43:40",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "joelostblom",
    "github_project": "canvascli",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "canvascli"
}
        
Elapsed time: 0.47978s