Skip to main content

Exam_scheduler

a srbcheema1 production contributions welcome Open Source Love Build Status HitCount

exam_scheduler is a commandline tool to produce teacher-duty schedule in examination for a school/college. It also acts as library-cum-backbone for ExamScheduler a web-based tool.

Installation

  • Use pip to install, user --user flag
python3 -m pip install --user exam_scheduler
linux and mac users
python3 -m pip install --user exam_scheduler

Don't forget ~/.local/bin should be in your PATH. Add line export PATH=$PATH:"~/.local/bin" in your .bashrc

windows users

for windows users you should have python3 installed in your system

python3 -m pip install --user exam_scheduler

Build from Source

  • Clone the repository and checkout to stable commit
git clone https://github.com/srbcheema1/exam_scheduler
cd exam_scheduler
git checkout <latest_version say: v0.0.x>
  • install requirements
python3 -m pip install --user -r requirements.txt
  • Install exam_scheduler
python3 setup.py install --user
  • Building Source Distribution
python3 setup.py sdist

Inputs Required

  • room_list - includes room-name and teachers-required as compulsory attributes. Other attributes may follow.

    • Res (Case-senstive) is special room name for reserved purposes.
    • Recommended to be used instead of dummy rooms.
  • teachers_list - includes teacher-name and rank as compulsory attributes. Other attributes may follow.

  • schedule_list - A 2D matrix includeing relation between a session and a room

    • value is 'Y' if room is required on particular session.
    • By default empty cell is treated as 'N'
  • work_ratio - Includes rank and work_ratio as compulsory attributes. Other optional attributes may follow.

By default it will automtically pick excel files from working-directory OR input folder containing room_list,teachers_list,schedule_list and work_ratio in their names.

For more instructions please visit our help page.

Usage

srb@srb-pc:$ exam_scheduler --help
usage: exam_scheduler.py [-h] [-v] [-o OUTPUT] [-s SEED] [-r RESERVED]
                         [-vr VR | -vs VS | -vt VT]

optional arguments:
  -h, --help            show this help message and exit
  -v, --version         Display version number
  -o OUTPUT, --output OUTPUT
                        Output file name, default output.xlsx
  -s SEED, --seed SEED  seed value for randomness
  -r RESERVED, --reserved RESERVED
                        reserved number of seats for each session
  -d, --debug           print debug info
  -vr VR                verify room_list file
  -vs VS                verify schedule_list file
  -vt VT                verify teachers_list file
srb@srb-pc:$ exam_scheduler -o result.xlsx
Using room_list : /home/srb/programs/exam_scheduler/input/room_list.csv
Using teachers_list : /home/srb/programs/exam_scheduler/input/teachers_list.csv
Using schedule_list : /home/srb/programs/exam_scheduler/input/schedule_list.csv
Using seed value : 5
Using reserved value : 0
rank count : {
   "0": 33,
   "1": 7,
   "2": 23,
   "3": 77,
   "4": 59,
   "5": 91
}
average duties : {
   "0": 0.0,
   "1": 2.0,
   "2": 2.347,
   "3": 3.0,
   "4": 3.0,
   "5": 3.0
}
type of rooms : {
   "[1, 3, 5]": 1,
   "[1, 4, 5]": 13,
   "[2, 3, 5]": 1,
   "[2, 4, 5]": 53,
   "[3, 4, 5]": 85,
   "[3, 4]": 25,
   "[3, 5]": 119,
   "[4, 5]": 1
}
Output written to : /home/srb/programs/exam_scheduler/result.xlsx

Contact / Social Media

Github LinkedIn Facebook

Developed by

Developer / Author: Srb Cheema

Collaborator : Rakesh Kumar

Metadata

Release files for exam-scheduler 0.1.0

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

Source distribution (sdist)

Source distribution for exam-scheduler 0.1.0
File Size Uploaded
exam_scheduler-0.1.0.tar.gz 14.2 kB Details

Release files / exam_scheduler-0.1.0.tar.gz

Download URL exam_scheduler-0.1.0.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
fa9b7e64c25a6e54b1f536ea79ee2448bac49d804d072666856c578c6076a740
BLAKE2b-256 checksum
How to use checksums
d416a45caa4936225119d84a82dbffd8c10f52be711252152ac049248023cb25
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.12.1 pkginfo/1.4.2 requests/2.21.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.7

Release history Release notifications | RSS feed

This release

0.1.0 This release

1 release file

0.0.9

1 release file

0.0.8

1 release file

0.0.7

1 release file

0.0.6

1 release file

0.0.5

2 release files

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

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