human
Write me a the Python code you requested given the following:
I am working on the file "Backup/Matching Market v8.ipynb".
The first task is:
classes buyers and sellers
Below we are constructing the buyers and sellers in classes.
Can you write Python code for it?
assistant
#Here is the Python code you requested.

# measure how long it takes to run the script
startit = time.time()
dtstartit = datetime.datetime.now()

class Seller():
    def __init__(self, name):
        self.name = name
        self.wta = []
        self.step = 0
        self.prod = 2000
        self.lb_price = 10
        self.ub_price = 20
        self.reserve = 500000
        #multiple market idea, also ga away from market
        self.subscr_market = {}

    # the supplier has n quantities that they can sell
    # they may be willing to sell this quantity anywhere from a lower price of l
    # to a higher price of u
    def set_quantity(self):
        n = self.prod
        l = self.lb_price
        u = self.ub_price
        wta = []
        for i in range(n):
            p = rnd.uniform(l, u)
            wta.append(p)
        self.wta = wta

    def get_name(self):
        return self.name

    def get_asks(self):
        return self.wta

    def clear_wta(self):
        self.wta = []
        
    def extract(self, cur_extraction):
        if self.reserve > 0:
            self.reserve = self.reserve - cur_extraction
        else:
            self.prod = 0

class Buyer():
    def __init__(self, name):
        self.name = name
        self.wtp = []
        self.step = 0
        self.base_demand = 0
        self.max_demand = 0
        self.lb_price = 10
        self.ub_price = 20

    # the supplier has n quantities that they can buy
    # they may be willing to sell this quantity anywhere from a lower price of l
    # to a higher price of u
    def set_quantity(self):
        n = int(self.consumption(self.step))
        l = self.lb_price
        u = self.ub_price
        wtp = []
        for i in range(n):
            p = rnd.uniform(l, u)
            wtp.append(p)
        self.wtp = wtp
        
    # gets a little to obvious
    def get_name(self):
        return self.name
    
    # return list of willingness to pay
    def get_bids(self):
        return self.wtp
    
    # is this neccesary? 
    def clear_wtp(self):
        self.wtp = []
    
   ...