Pyscheduling is an open-source python package to solve scheduling problems. The categories tackled are : Single Machine, Parallel Machines, Flowshop and Jobshop.
The infrastructure for each category is implemented and open to extension to accept problems with more specificity in terms of constraints and multi-objective opptimization. There are methods going from exact methods, heuristics, metaheuristics, B&B, …etc to solve the different problems of the given category.