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 three 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(historical_course_data, 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.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d21d8b19c2933da84504fe6bf22511555ea2c641886e3c49a3371f6eb758c7c |
|
MD5 | 3f5b894d006eb82a12513c7f6ddee433 |
|
BLAKE2b-256 | 97038dd7d71418b634ff9e0e2d3486c90ad00d486ef33231a79571b303e6c79d |