加速向GradeScope提交Jupyter笔记本的一组实用程序

gsExport的Python项目详细描述


gsexport是一个旨在帮助教育者简化和 简化学生笔记本的评分过程。设计目的 缓解加州大学伯克利分校的data 8系统中的困难 允许学生轻松地将Jupyter笔记本导出为PDF 分段以便通过GradeScope界面轻松分级。

功能

一旦安装在客户机上,系统就很容易使用。

为了生成笔记本的pdf文件,学生只需运行以下命令 命令

import gsExport
gsExport.generateSubmission("hw01a.ipynb")

导出工具执行以下操作:

  • 我们将学生的笔记本与默认的“开始”笔记本进行区分, 看看学生到底对哪些地区做出了贡献。这样做,我们 消除许多不需要 分级
  • 使用自定义乳胶模板,我们将导出到PDF(根据需要使用分页符)

结构要求

如何使用gsexport

在笔记本中,添加以下内容

  • 在标记单元格中添加文本newpage,在标记单元格之前,您要分页符(例如,问题的开头)
  • 在希望学生在其中写入信息的所有单元格中添加“student”

要生成新笔记本,请在shell中运行以下命令

jupyter nbconvert hw01a.ipynb --NotebookExporter.preprocessors="['gsExport.gsExportPreprocessor']" --to notebook

它将生成一个具有hw01a.nbconvert.ipynb中所有适当结构的笔记本。ipython笔记本中添加了以下结构

  • nb['metadata']['numberofu pages']
  • 所有带有“student”的单元格设置单元格[“metadata”][“student”]=true,并且带有“student”的行将被删除
  • 我们在笔记本元数据中保存每个单元格的md5校验和列表:nb['metadata]['checksums']

安装

pip install gsExport
pip install git+git://github.com/dibyaghosh/gsExport # alternatively

开发

  • exporter.py-包含导出程序的主逻辑
  • utils.py-包含用于导入和导出的实用程序 笔记本
  • ok_grading.py-包含ok自动加载器和导出逻辑

对于那些对捆绑文件感兴趣的人

请参见setup.py有关安装捆绑文件所需的命令,请参见 utils.py用于获取捆绑文件所需的命令(这 现在真的很紧张,因为有个奇怪的错误jupyter nbconvert

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java创建猜谜游戏程序   JavaWebSocketContainer。connectToServer似乎挂起了   如何在java中中断函数   java c#socket client multiple BeginSend()未到达服务器   不可见的组件然后在Java中的窗格之间切换   java在应用程序类中使用静态接口安全吗?   java等待函数完成,直到回调到来   使用DataOutputStream时的java新行,Android   java服务对象的定义是什么?   基于视图的javahibernate复合密钥   java将varchar连接到char在JPA(oracle)中不起作用   如何在java中通过point类读取多个点?