加速向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对ServiceListener和ServiceTracker调用提供了哪些排序保证?   java找不到方法格式的符号(DateTimeFormatter)?   mysql有没有一种方法可以将TCPDump输出到一个文件中,并用Java对其进行过滤,每5秒钟用新数据覆盖一次该文件?   java如何最好地配置用户上传支持文件的上传位置   java我在Android上使用OData4j,我无法获取实体   JPA实体关系简单示例中的java获取错误   JAVANoClassDefFoundError:安卓。应用程序。用法安卓中的UsageStatsManager   Eclipse中javaoo代码分析   java MethodVisitor抛出类格式错误   java为什么在从ViewModel调用时,改型排队不起作用?   调试小程序Java控制台:删除跟踪消息大小限制   java复杂安卓活动动画   java如何在使用JDOM2解析XML时忽略注释内容   java通过循环创建文本字段   即使在bufferedwriter关闭后也未发现java文件异常   单链表恢复中的java错误