Skip to main content

Command line tools to manage codePost from the comfort of your terminal!

Project description

codePost Terminal Tools

The codePost Terminal Tools provides a set of tools to control your codePost course from the comfort of your terminal or shell scripts. These tools are built in Python 3.x using our codePost API Python bindings, which can also be installed from PyPi.


You can install the codePost Terminal Tools in your path using pip:

pip install --upgrade codePost-tools


To use the functions available in this library, you must have a codePost API key. As of March 2019, to retrieve a codePost API key, you must be a administrator of a course on codePost. It will then be accessible from


For convenience, it is also possible to specify a default course name, course period and codePost API key, by providing these in a configuration file. This configuration file can be called codepost-config.yaml or .codepost-config.yaml and be located in the root of the local user's home directory.

api_key: "<API KEY HERE>" #
course_name: "<COURSE NAME HERE>"
course_period: "<COURSE PERIOD HERE>"

Command Line Syntax

> ./upload-to-codePost --help
usage: upload-to-codePost [-h] [-api_key API_KEY] [-course_name COURSE_NAME]
                          [-course_period COURSE_PERIOD]
                          [-assignment_name ASSIGNMENT_NAME]
                          [-students STUDENTS] [-files FILES [FILES ...]]
                          [--extend] [--overwrite]

optional arguments:
  -h, --help                            show this help message and exit
  -api_key API_KEY                      the API key to authenticate upload
  -course_name COURSE_NAME              the name of the course to upload to (e.g. COS126)
  -course_period COURSE_PERIOD          the period of the course to upload to (e.g. S2019)
  -assignment_name ASSIGNMENT_NAME      the name of the assignment to upload to (e.g. Loops)
  -students STUDENTS                    comma-separated list of student emails
  -files FILES [FILES ...]              comma-separated list of file paths
  --extend                              If submission already exists, add new files to it and
                                        replace old files if the code has changed.
  --overwrite                           If submission already exists, overwrite it.

Related Repositories

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for codePost-tools, version 1.0.3
Filename, size & hash File type Python version Upload date
codePost_tools-1.0.3-py3-none-any.whl (5.6 kB) View hashes Wheel py3
codePost-tools-1.0.3.tar.gz (4.3 kB) View hashes Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page