code: def constraint_df(self):
          
          df = pd.DataFrame()
          for name,c in self.constraints.items():
              df[name] = c.ok
          for name,c in self.hidden_constraints.items():
              df[name] = c.ok
          return df
docs: A DataFrame representing all constraints, hidden or not