All Projects → PyconUK → Conferencescheduler

PyconUK / Conferencescheduler

Licence: mit
A Python tool to assist the task of scheduling a conference http://conference-scheduler.readthedocs.org

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Conferencescheduler

Pg timetable
pg_timetable: Advanced scheduling for PostgreSQL
Stars: ✭ 382 (+768.18%)
Mutual labels:  scheduling
Ecs Deploy
Powerful CLI tool to simplify Amazon ECS deployments, rollbacks & scaling
Stars: ✭ 541 (+1129.55%)
Mutual labels:  scheduling
Nexrender
📹 Data-driven render automation for After Effects
Stars: ✭ 946 (+2050%)
Mutual labels:  scheduling
Active workflow
Turn complex requirements to workflows without leaving the comfort of your technology stack.
Stars: ✭ 413 (+838.64%)
Mutual labels:  scheduling
Ical4j
A Java library for parsing and building iCalendar data models
Stars: ✭ 493 (+1020.45%)
Mutual labels:  scheduling
Suite
Staffjoy V1, aka "Suite" - a scheduling application for hundreds of workers
Stars: ✭ 814 (+1750%)
Mutual labels:  scheduling
Pretalx
Conference planning tool: CfP, scheduling, speaker management
Stars: ✭ 363 (+725%)
Mutual labels:  scheduling
Prettyos
A Preemptive Hard Real Time kernel for embedded devices.
Stars: ✭ 36 (-18.18%)
Mutual labels:  scheduling
Posterus
Composable async primitives with cancelation, control over scheduling, and coroutines. Superior replacement for JS Promises.
Stars: ✭ 536 (+1118.18%)
Mutual labels:  scheduling
Gron
gron, Cron Jobs in Go.
Stars: ✭ 839 (+1806.82%)
Mutual labels:  scheduling
Schedviz
A tool for gathering and visualizing kernel scheduling traces on Linux machines
Stars: ✭ 426 (+868.18%)
Mutual labels:  scheduling
Quartznet
Quartz Enterprise Scheduler .NET
Stars: ✭ 4,825 (+10865.91%)
Mutual labels:  scheduling
Shift Scheduling
Shift Scheduling for workforce
Stars: ✭ 22 (-50%)
Mutual labels:  scheduling
Odin
A programmable, observable and distributed job orchestration system.
Stars: ✭ 405 (+820.45%)
Mutual labels:  scheduling
Xxl Job Dotnet
xxl-job is a lightweight distributed task scheduling framework, and this package provide a dotnet executor client for it
Stars: ✭ 31 (-29.55%)
Mutual labels:  scheduling
Azkaban
Azkaban workflow manager.
Stars: ✭ 3,914 (+8795.45%)
Mutual labels:  scheduling
Oncall
Oncall is a calendar tool designed for scheduling and managing on-call shifts. It can be used as source of dynamic ownership info for paging systems like http://iris.claims.
Stars: ✭ 702 (+1495.45%)
Mutual labels:  scheduling
Dmhy Subscribe
在動漫花園訂閱並排程下載磁鏈,支援 Linux & Windows 10 & Docker
Stars: ✭ 39 (-11.36%)
Mutual labels:  scheduling
Enkits
A permissively licensed C and C++ Task Scheduler for creating parallel programs. Requires C++11 support.
Stars: ✭ 962 (+2086.36%)
Mutual labels:  scheduling
Mobius Assignment
Staffjoy Suite (V1) Microservice - Shift Assignment Subject To Constraints
Stars: ✭ 23 (-47.73%)
Mutual labels:  scheduling

|Coverage Status| |Build Status| |Build status| |Code Issues|

Conference Scheduler

Overview

A Python tool to assist the task of scheduling a conference which:

  • Can take an existing schedule and validate it against a set of constraints
  • Can calculate a new valid, optimal schedule
  • Can calculate a new, valid schedule also optimised to be the minimum change necessary from another given schedule
  • Has the resources, constraints and optimisations defined below built in
  • Has a simple mechanism for defining new constraints and optimisations
  • Is a standalone tool which takes simple data types as input and produces simple data types as output (i.e. does no IO or presentation)

The full documentation can be found at conference-scheduler.readthedocs.org <http://conference-scheduler.readthedocs.org/>__.

Terms

  • Slot - a combination of room and period
  • Session - an ordered series of slots (e.g. 'the session in room 1 between coffee and lunch on Friday')
  • Event - a talk or workshop
  • Demand - the predicted size of audience for an event
  • Capacity - the capacity of venues

Constraints

  • All events must be scheduled
  • A slot may only have a maximum of one event scheduled
  • An event must not be scheduled in a slot for which it has been marked as unavailable
  • An event must not be scheduled at the same time as another event for which it has been marked not to clash
  • An event may be tagged and, if so, must be scheduled in a session where it shares at least one tag with all other events in that session

Optimisation

Two options:

  • The sum of 'potential disappointments' should be minimised where 'potential disappointments' is defined as the excess of demand over room capacity for every scheduled event
  • Minimise the number of changes from a given schedule.

Examples

Some examples of situations which have arisen at previous conferences and could be handled by the unavailability, clashing and tagging constraints:

  • A conference organiser says "Talks X and Y are on similar subject matter and likely to appeal to a similar audience. Let's try not to schedule them against each other."
  • A conference organiser says "Talks X, Y and Z are likely to appeal to a similar audience. Let's try to schedule them sequentially in the same room so that we minimise the movement of people from one room to another."
  • A conference organiser says "The audience for Talk X would benefit greatly from the speech-to-text provision. Let's schedule that one in the main hall."
  • A potential session chair says "I'd like to attend workshop X, so please don't schedule me to chair a session that clashes with it."
  • A potential session chair says "I'm happy to chair a session but I've never done it before, so please don't schedule me in the main hall."
  • A speaker says "I'd like to attend talk X, so please don't schedule my talk in the same slot."
  • A first-time speaker is assigned a mentor and requests that the mentor chairs the session in which they are scheduled to give their talk.

Acknowledgements

This repository was inspired by a talk given by David MacIver at PyCon UK 2016: http://2016.pyconuk.org/talks/easy-solutions-to-hard-problems/

.. |Coverage Status| image:: https://coveralls.io/repos/github/PyconUK/ConferenceScheduler/badge.svg?branch=master :target: https://coveralls.io/github/PyconUK/ConferenceScheduler?branch=master .. |Build Status| image:: https://travis-ci.org/PyconUK/ConferenceScheduler.svg?branch=master :target: https://travis-ci.org/PyconUK/ConferenceScheduler .. |Build status| image:: https://ci.appveyor.com/api/projects/status/cvi70xoqqbwnwxdy?svg=true :target: https://ci.appveyor.com/project/meatballs/conferencescheduler .. |Code Issues| image:: https://www.quantifiedcode.com/api/v1/project/db6b0af308a947d098c5f6205e2a90b4/badge.svg :target: https://www.quantifiedcode.com/app/project/db6b0af308a947d098c5f6205e2a90b4

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].