Some helpful codePost tools to aid with grading flow using the codePost SDK!
These tools were originally created to support the grading process for COS126, the introductory Computer Science course at Princeton University.
Please see the documentation for more detailed descriptions of the package.
$ pip install codepost-powertoolsYou should use a dedicated folder for the usage of these tools, since it requires an input config file and outputs files for certain commands and functions. For instance:
$ GRADING_FOLDER=codePostGrading
$ mkdir $GRADING_FOLDER
$ cd $GRADING_FOLDER
# You can now create the config file in this folder
GRADING_FOLDER $ echo "api_key: $CP_API_KEY" > config.yamlIt is also recommended to use a virtual environment:
GRADING_FOLDER $ VENV=env
GRADING_FOLDER $ python -m venv $VENV
GRADING_FOLDER $ source $VENV/bin/activate
(VENV) GRADING_FOLDER $ python -m pip install codepost-powertools
# You can now use the package
(VENV) GRADING_FOLDER $ cptools --help
(VENV) GRADING_FOLDER $ python my_script.pyBy default, the package will look for a configuration file called
config.yaml that contains a field "api_key" for your codePost API key.
See here
for instructions on how to access your codePost API key, as well as more
information on the config YAML file. You must have admin access to all the
courses you wish to access with this package.
Here is what the config.yaml file may look like:
api_key: YOUR_API_KEY_HEREYou can access the command-line interface with the cptools command:
$ cptools --help
Usage: cptools [OPTIONS] COMMAND [ARGS]...
The `codepost_powertools` package on the command line.Please see the CLI documentation page for more information.
You can import the package in a script:
import codepost_powertools as cptools
# Log in to codePost
cptools.log_in_codepost()
# Call methodsPlease see the "Writing Scripts" documentation page for more information.