加速向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多对一关联插入而不是更新   使用SVGSalamander将java SVG转换为图像未正确呈现SVG   java如何在Eclipse Ganymede中启动时显示帮助视图而无需用户输入?   java将项目文件夹并行部署到tomcat和本地repo中   java如何对mongodb内部字段求和,并在使用MongoTemplate进行分组时推送它   java如何显示网页的servlet部分的响应?   线程“main”java中出现异常。lang.ClassCastException:org。j3d。航空专家x3d。输出图样SimpleAWTSurface无法转换为javax。摆动JComponent   java使用JDBC驱动程序将带有CJK的表单提交到MySQL   java有没有一种方法可以在图像从外部存储中删除后立即获取其uri?   java VSCode无法识别渐变源依赖项   java为什么我的第一张卡片会被点击。setDisabledIcon(img)工作,但我的第二张卡单击。setDisabledIcon(img)不工作?   java提取运行时maven信息   用Java保存文件   java在netbeans中触发事件   Java tomcat6,大量的com。mysql。jdbc。语句impl实例   java如何使用日历测试方法。getInstance()   spring boot如何将此Java代码转换为Kotlin代码?   Java8接口问题   应用程序在playstore上发布时java OkHttp连接超时   mysql java hibernate即使使用<property name=“hibernate.hbm2ddl.auto”>更新也不会创建表