Skip to main content

Pygrading

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

Official Site Pypi package Documentation Status GitHub license

What is it • Install • Quick Start • Change Log • FAQ • CG 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,该变量为True时loge生效。

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

暂无内容

Release files for pygrading 1.1.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pygrading 1.1.7
File Size Uploaded
pygrading-1.1.7.tar.gz 63.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pygrading 1.1.7
File Interpreter ABI Platform
pygrading-1.1.7-py3-none-any.whl Python 3 none any Details

Total release size: 131.6 kB

Release files / pygrading-1.1.7.tar.gz

Download URL pygrading-1.1.7.tar.gz
Size 63.8 kB
Tags Source
SHA-256 checksum
How to use checksums
285b8970f9fc31510ed1e44a7d01579e6feabc6bd162d7d67fc1b98ae718bee0
BLAKE2b-256 checksum
How to use checksums
d7c53404501fc9e626c3ef7279b6e17a609927452be402201cfe069956ba0c9d
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / pygrading-1.1.7-py3-none-any.whl

Download URL pygrading-1.1.7-py3-none-any.whl
Size 67.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1fe854a966e87a111fef10c79279bfdc931ee55f6c83b899bed31fee4e9af083
BLAKE2b-256 checksum
How to use checksums
9b23612014423be8513d5812eebfaefb4176b48b1b127ee6f9055783abd19a68
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

1.1.7 This release

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.0.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.3

2 release files

0.0.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page