Skip to main content

A Python ToolBox for CourseGrading platform.

Project description

Pygrading

CourseGrading(希冀)信息类专业教学与科研一体化平台开发用Python工具包

Official Site Pypi package Documentation Status GitHub license

What is itInstallQuick StartChange LogFAQCG Site

Made by Charles Zhang • :globe_with_meridians: https://gitlab.educg.net/zhangmingyuan/PyGrading

What is it

希冀平台 全面支撑计算机、大数据、人工智能、集成电路、信息安全、机器人、金融科技、区块链等专业建设。 基于平台建成了涵盖实验、质量指标及过程控制的完整在线实验体系,实现了“任何人、任何时间、任何地点均能开展实验学习”的目标。

通用评测 是一个通用的自动评测框架,基于该框架可以定制开发任何自己需要的自动评测内核。

PyGrading工具包 目前该工具包包含以下功能:

  1. 支持CourseGrading平台通用评测内核快速构建;
  2. 支持适用于通用评测题、云桌面环境和Jupyter实验环境的评测结果JSON串的快速生成;
  3. 支持HTML标签文本内容的快速生成,绝对好用的HTML生成工具;

希望使用本工具能够提高大家的工作效率,祝各位开发顺利!

Install

使用pip可以轻松安装PyGrading:

pip install pygrading

PyGrading的运行环境要求 Python >= 3.5,不支持Python2。

Quick Start

下面从一段简单的代码开始,使用PyGrading创建一个简单的通用评测内核:

from pygrading import Job

# 创建一个任务对象
job = Job()

# 设定任务得分、评定结果和评语
job.score(100)
job.verdict("Accept") 
job.comment("Hello World")

# 输出评测结果
job.print()

这样就可以得到一个评测结果:

{"verdict": "Accept", "score": "100", "rank": {"rank": "-1.0"}, "HTML": "enable", "comment": "Hello World"}

详细的使用手册请参考:PyGrading开发文档

Change Log

v1.1.7 Change Log (2020.12.14)

  1. gg.utils.loge()输出位置从stdout定向到了stderr

v1.1.6 Change Log (2020.12.14)

  1. gg.utils.loge()绑定了环境变量PYGRADING_DEBUG,该变量为Trueloge生效。

v1.1.5 渲染更新 Change Log (2020.11.28)

  1. 添加了Bootstrap4和Jinja2模板引擎的支持。
  2. 支持了使用gg.render_template()方法渲染HTML模板!
  3. 添加了默认渲染模板,该模板可使用python -m pygrading init创建,位于新建项目中的templates/html/index.html

v1.0.1 Change Log (2020.11.24)

  1. 去除了渲染结果时默认使用str2html的特性,因为其可能会导致JS失效。

v1.0.0 正式版 Change Log (2020.11.21)

  1. 重构了测试版底层架构,简化了导入步骤和部分包的使用方式。
  2. 添加了命令行程序,支持使用python -m pygrading init创建项目模板。
  3. 添加了多线程评测支持,高效利用服务器资源,提高评测效率。
  4. 添加了评测超时控制功能,限制评测任务执行时间,防止卡死。
  5. 添加了快速提取程序输出中评测指标的功能(键值对智能识别)。
  6. 添加了图片转base64功能,快速生成图片展示元素。
  7. 添加了携带环境变量执行评测功能(用于支撑需要读取不同环境变量的测试用例)。
  8. 添加了评测指令执行静默模式,支持直接抛出评测指令的异常。
  9. 添加了一键打包评测内核功能,打包好的评测内核可以通内核扩展上传。
  10. 优化了评测过程函数的参数要求,支持不带参数的简单过程函数。

FAQ

暂无内容

Project details


Download files

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

Source Distribution

pygrading-1.1.7.tar.gz (63.8 kB view details)

Uploaded Source

Built Distribution

pygrading-1.1.7-py3-none-any.whl (67.8 kB view details)

Uploaded Python 3

File details

Details for the file pygrading-1.1.7.tar.gz.

File metadata

  • Download URL: pygrading-1.1.7.tar.gz
  • Upload date:
  • Size: 63.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.3

File hashes

Hashes for pygrading-1.1.7.tar.gz
Algorithm Hash digest
SHA256 285b8970f9fc31510ed1e44a7d01579e6feabc6bd162d7d67fc1b98ae718bee0
MD5 c089c801ef21f2736e7d362ac9534226
BLAKE2b-256 d7c53404501fc9e626c3ef7279b6e17a609927452be402201cfe069956ba0c9d

See more details on using hashes here.

File details

Details for the file pygrading-1.1.7-py3-none-any.whl.

File metadata

  • Download URL: pygrading-1.1.7-py3-none-any.whl
  • Upload date:
  • Size: 67.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.52.0 CPython/3.7.3

File hashes

Hashes for pygrading-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 1fe854a966e87a111fef10c79279bfdc931ee55f6c83b899bed31fee4e9af083
MD5 150cd9c0ed93af9ce5a22e2263a1566e
BLAKE2b-256 9b23612014423be8513d5812eebfaefb4176b48b1b127ee6f9055783abd19a68

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page