Can you help me to code this

I’m planning to build a timetable generator for my branch.

We have 3 classroom which has different subjects.

For example, class1 has subjects A and B, for class2 has subjects C and D and so on.

so every class has a combination of 6 subjects and 2 or 3 labs every semester.

  • So here we are dealing with 18 different subjects and 6 or 9 different labs every semester when all the classes are combined.
  • all subjects and labs are taught by 8 faculty members which means every faculty is teaching multiple subjects.

There should be no collision in class.

  • no two faculty should be assigned to the same classroom at the same time.
  • no faculty can have two classes at the same time in different classrooms.

There is a another condition that faculty can come from other branches to teach some subjects.

There should be a small break between every 2 classes for all classrooms.

There is a lunch break after the first four periods.

So, Is there any approach or way I build a timetable generator by satisfying all the constraints?

I want to code this in python. To integrate it with a website?