Skip to main content

UVic 软件工程项目的课程安排程序。专为 SENG 499 Summer 2022 项目而设计。

项目描述

SENG 499 - 公司 2:算法 1

该存储库包含一个包 ( coursescheduler ),用于安排维多利亚大学软件工程学位所需的课程。该问题被实现为约束满足问题,并使用优化的回溯搜索算法来找到有效的时间表。此软件包是为 Capstone SENG499 课程创建的:公司 2 课程调度程序项目。由 Company2 Algorithm1 子团队撰写。

先决条件

这个包需要 Python 3.9 或更高版本。在本 README 中,假定python并且pip将使用 Python 3.9。要检查您的 Python 版本,您可以运行以下命令:

$ python --version  # Should output "Python 3.9.0" or higher

要检查您的 pip 版本,您可以运行以下命令:

$ pip --version  # Should output some version of pip and "python 3.9" or higher

使用 PIP 从 PyPi 安装

使用pip.

$ pip install coursescheduler

作为 CI/CD 管道的一部分,该包的最新可用版本会自动上传到 PyPi 索引。为确保您使用的是最新版本,请在集成之前升级此模块。

$ python -m pip install --upgrade coursescheduler

从本地档案安装

将此存储库克隆到您的存储库中。在算法 1 模块目录中,构建并安装包,如下所示。注意:您必须更换0.1.0为正确的版本。

$ python -m build
$ pip install coursescheduler-0.1.0.tar.gz

用法

安装后,可以使用 导入和调用算法generate_schedule,如下所示。generate_schedule 需要两个参数并返回一个输出,所有这些都是 Python 字典。API 规范可以在这里找到。

from coursescheduler import generate_schedule
schedule = generate_schedule(professors, schedule)

debug可以包括第三个参数。如果设置为 True,professors和/或schedule可以设置为None并且算法将使用模拟数据。

schedule = generate_schedule(None, None, True)  # Uses mock data for professors and schedule
schedule = generate_schedule(professors, None, True)  # Uses mock data for schedule
schedule = generate_schedule(None, schedule, True)  # Uses mock data for professors

还有一些函数可以根据规范验证输入数据:

from coursescheduler import validate_professor_structure, validate_professors_structure, validate_schedule_structure
validate_professor_structure(professor)    # One Professor dict
validate_professors_structure(professors)  # A list of Professor dicts
validate_schedule_structure(schedule)      # A Schedule dict

如果输入根据规范有效,则这些函数将返回True. 如果存在规范违规,SchemaError将引发 a。第二个参数可以传递给所有三个名为 的验证函数print_output,默认设置为True。如果print_outputTrue并且输入有效,成功消息将打印到控制台。

开发

要对项目进行更改和测试,请导航到根目录 /path/to/algorithm1/。编辑项目文件后,为了使更改生效,您必须通过以下 cmd 重新安装本地包:

$ pip install . 

要运行测试,请运行以下命令:

$ cd tests
$ python -m pytest

Python 短绒

我们遵循PEP8风格指南,并使用flake8对代码进行 lint。

要安装flake8,请运行以下命令:

$ pip install flake8

要运行flake8,请运行以下命令:

$ python -m flake8 [file or directory]

我们建议使用代码格式化程序black

$ pip install black

$ python -m black [file or directory]

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

coursescheduler-0.1.2.tar.gz (35.9 kB 查看哈希

已上传 source

内置分布

coursescheduler-0.1.2-py3-none-any.whl (38.7 kB 查看哈希

已上传 py3