Skip to main content

Automatically assigns seats to students in a smart way.

Project description

LupSeat

LupSeats assigns seats to students in a smart and automatic away.

Instructions

Install with

pip3 install lupseat

Run with

lupseat students_file seats_file [OPTS]

Required Args

  • students_file - A csv file containing first name, middle name, last name, student id, dominant hand, special needs flag (see students.csv for example)

  • seats_file - A yaml file containing the room seating information. (see seats.txt for example)

Optional Args

  • --out output_file_name

  • --fmt output_format_string

  • --gout output_image_file_name

  • --seed seed_for_rand

  • --algorithm algorithm_type

  • --eval - A flag to produce evaluation score (average number of students sitting next to each other). Lower score is better.

  • --nosave - A flag to disable saving output files (used primarily for automated evaluation).

Algorithm Types

  • RandomAssign - random assignment of seats
  • ChunkIncrease - slowly increase chunk size (i.e. number of students sitting together) until all students can fit in a room. A bottom up approach.
  • ConsecDivice - consecutively divide the room until all empty seats are allocated. A top down approach.

Output format string

The output format string specifies how students are identified in the output file.

Variable names: sid, fname, lname.

Variable names in format string must be encased by brackets, and can be sliced using the bar operator.

Examples

{fname} {lname} has sid {sid}

{sid|-5,-1}

{fname|0}.{lname|0}.

Unit Tests

Run unit tests with python3 -m unittest tests/*_test.py

Build Instructions

Building for pip requires setup_tools, wheel, tqdm, and twine to be installed with pip.

python3 setup.py bdist_wheel
python3 -m twine upload dist/*

Architecture

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

LupSeat-1.0.1-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file LupSeat-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: LupSeat-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 13.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.0 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

File hashes

Hashes for LupSeat-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5c72e475a90c0e5b50486cea8ca558e9ba905b5b99fe25c00d514e6c1799c851
MD5 c3bc05cf9b1b3b117e0bc6dcd6ff7940
BLAKE2b-256 71dc6a36cfa0c7c830057d17fa657fc55184949be02c34a720a9209c52288ee3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page