code: def propose_value(self, value, assume_leader=False):
          
          if value is None:
              raise ValueError("Not allowed to propose value None")
          paxos = self.paxos_instance
          paxos.leader = assume_leader
          msg = paxos.propose_value(value)
          if msg is None:
              msg = paxos.prepare()
          self.setattrs_from_paxos(paxos)
          self.announce(msg)
          return msg
docs: Proposes a value to the network.