semvec/pypi-packages huggingface dataset:
canvas-client 0.2.1
Canvas LMS client: Download submissions, upload grades and comments from excel
License: MIT

# Canvas client
A python client for grading canvas submissions.

## Install

1. Make sure you have installed `pip` and `python3`

2. Install the client: `pip install canvas_client`

## Setup

1. Create and open a folder where you want to download the submissions

2. Create a `config.json` file by running `canvas_client` in terminal (the config will be saved in the current folder)

3. Fill the config properly (see the notes below):
    
    - e.g:
        
            {
                "url": "canvas.university.edu",
                "access_token": "1234abcdef",
                "course_id": 157,
                "labs": {
                    "L1": {
                        "assignment_id": 1024
                    },
                    "L2": {
                        "assignment_id": 1025
                    }
                }
            }
            
            
        **Note$^1$**: you can find the `course id` and `assingment id` by opening the approriate assingment in canvas: 
        ![alt text](doc/canvas_url.png)

        **Note$^2$**: to get an *access token*: open canvas, go to `Your profile` -> `Settings` -> `New access token` -> `Generate Token` -> copy the value

    

## Usage
1. Download the submissions:

    `canvas_client <assingment name> -d`
    
    e.g.:
    
    `canvas_client L1 -d`

    This command downloads the submissions into the `assigments` folder and creates an `L1.xls` file with the student names, comments, etc. Write the grades and comments into this file.


2. To upload the grades and comments:
    
    `canvas_client <assingment_name> -u`
    e.g.:
    `canvas_client L1 -u`

    This command uploads the content of the `L1.xls`

    **Note**: the grades will appear on canvas after 10-15 seconds (refresh the page if necessary)
task-q 1.1.4
A simple commandline app that implements a task queue
License: MIT
Requires Python: >=3.8

# TaskQ

Simple CLI for multi user queue execution in Linux. TaskQ allows a single computer
to be used by different users concurrently. TaskQ allows each user to submit a
task to the same queue, which will be handled by the Task Handler Bot.

## 1. Setup

### 1.1. Installing Screen

The Linux program Screen is a TaskQ's dependecy. In order to install it on Ubuntu,
run the commands:

```
sudo apt-get update
sudo apt-get install screen
```

### 1.2. Installing TaskQ

TaskQ needs to be installed in order to set its dependecies correctly.
In order to do that, it needs a folder to be the TaskQ home, where the app
will save its local files, and also an UID to define
the owner of TaskQ's queue. It is important to note that the TaskQ Bot
will run with the privileges of user that executed the installation step below.

```
pip install task-q
sudo taskq install $HOME $(id -u $USER)
```

### 1.3. Starting Task Handler

The Task Handler is the bot that will execute the tasks in the TaskQ queue.
It is necessary to start it manually. It is important to note that only the
TaskQ queue owner has the priviliges to start or to stop the Task Handler.

``
taskq start
``

In order to stop the queue, do:

``
taskq stop
``

## 2. Using the TaskQ


### 2.1. Show the queue

To show the queue waiting list, run the command below:

``
taskq show-queue
``

It is possible to filter the table with the options below:
- **all**: shows all the tasks in the queue, including the completed and failed ones.
- **running**: shows only the tasks that are running at the moment
- **mine**: shows only the tasks that belong to the user
- **done**: shows only the tasks that are complete


### 2.2. Add a task to the queue

A task for TaskQ is basically a bash command that will be executed within the
queue owner context. To add a task to the queue, do:

``
taskq add '<command string>'
``

### 2.3. Abort a task

Aborting a task will remove it out of the waiting list:

``
taskq abort <task id>
``

### 2.4. Reset a task

Reseting a task will put it back into the waiting list:

``
taskq reset <task id>
``

For more information, excecute ``taskq --help``.