- Notifications
You must be signed in to change notification settings - Fork2
offlinemark/scheduler
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
A python library for automatically generating a schedule assigninghosts for a repeating sequence of events.
Example use case: planning a month's schedule for a weekly meetup group, wherethe schedule is subject to a number of constraints.
- each meetup requires two moderators
- moderators should not moderate more than twice per month
In [13]: s = scheduler.Scheduler(num_events=4, num_hosts_per_event=2)In [14]: s.register('mark', availability=[1, 2, 3, 4], max_assigned=2)In [15]: s.register('bradley', availability=[1, 4], max_assigned=2)In [16]: s.register('max', availability=[2, 3, 4], max_assigned=2)In [17]: s.register('nikolai', availability=[1, 2], max_assigned=2)In [18]: s.schedule()Out[18]:[['bradley', 'nikolai'],['max', 'nikolai'],['mark', 'max'],['mark', 'bradley']]In [19]: s.register('nikolai', availability=[1], max_assigned=2)In [20]: s.schedule()In [21]: # there was no possible schedule