A course scheduler for the software engineering program at UVic. Built for the SENG 499 Summer 2022 project.
Project description
SENG 499 - Company 2 - Algorithm 1
This repository contains a package (coursescheduler) that schedules the courses required for a software engineering degree at University of Victoria. The problem is implemented as a constraint satisfaction problem and an optimized backtracking search algorithm is used to find a valid schedule. This package was created for the Capstone SENG499 class: Company 2 Course Scheduler Project. Authored by the Company2-Algorithm1 sub-team.
Install from PyPi Using PIP
Install this package into your environment from PyPi using pip
.
$ pip install coursescheduler
The most recent available version of the package is uploaded to the PyPi index automatically as part of our CI/CD pipeline. To ensure that you are working with the most recent release, upgrade this module before integrating.
$ python3 -m pip install --upgrade coursescheduler
Install from Local Archives
Clone this repo into your repository. Inside the algorithm 1 module directory,
build and install the package as shown below. Note: you must replace 0.0.1
with the correct version.
$ python3 -m build
$ pip3 install coursescheduler-0.0.1.tar.gz
Usage
Once installed, the algorithm can be imported and called with generate_schedule
, as shown below. generate_schedule
expects two parameters and returns a single output, all of which are Python dictionaries.
The API specification
can be found here.
from coursescheduler import generate_schedule
schedule = generate_schedule(professors, schedule)
Dev
To make and test changes to the project, navigate into the root level directory
/path/to/algorithm1/
. After editing the project files, in order for the changes to take
effect you must reinstall the local package by the following cmd:
$ pip3 install .
To run the tests
$ cd tests
$ python -m pytest
Python Linter
To install Pylint on your device:
$ pip3 install black
To run the Black Python Linter:
$ black {python_script}.py
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
Built Distribution
Hashes for coursescheduler-0.0.5-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b613d31b0ce29264664dfbc5260ff42252b718135c5db2c4cce822bbecc3fdfe |
|
MD5 | bfda5aac2de8912100035c5af7690813 |
|
BLAKE2b-256 | bada6898f07f52e6cc0cd987242ddf44dd5624168749f244de5b5e03a6bdb37a |