The Project Assistant is a system that students interact with to get automatic feedback and test their project code before submitting for review. The system includes:
Students typically only have direct access to the CLI tool.
Submitting a project with the CLI tool starts a chain of events:
.udacity-pa
folder of the project git repo) are zipped (locally on the student's machine) and sent to the serverNOTES:
The Project Assistant CLI tool can be installed from PyPI via pip:
pip install udacity-pa
Once the tool is installed, you can submit most projects by changing your working directory to a valid Udacity project folder (one that contains a .udacity-pa
folder -- example), and invoking the "submit" procedure:
udacity submit
See the Project Assistant FAQ and the common errors pages if you encounter any problems.
The CLI automatically pretty-prints the feedback generated for each submission to the terminal when the connection closes. However, many students run the tool in a window that closes with the network connection, or otherwise want to regenerate the feedback outside the PA. There are a couple of easy ways (and others exist). JQ is especially nice because it colors the json (you can use the pygments library to enhance the python versions).
Note: replace "foo.json" in the commands below with the name of your specific feedback file.
cat foo.json | python -m json.tool
Install the jq tool, then run:
cat foo.json | jq .
cat foo.json | python -c "import json; print(json.dumps(json.loads(input()), sort_keys=True, indent=2))"
python -c "import sys; import json; print(json.dumps(json.load(open(sys.argv[-1], 'r')), sort_keys=True, indent=2)" foo.json