docs: def generate_dataset_shelve(filename, number_items=1000):
      """
      Generate a dataset with number_items elements.
      """
      if os.path.exists(filename):
          os.remove(filename)
      data = shelve.open(filename)
      names = get_names()
      totalnames = len(names)
      #init random seeder
      random.seed()
      #calculate items
  #    names = random.sample(names, number_items)
      for i in range(number_items):
          data[str(i+1)] = {"name":names[random.randint(0,totalnames-1)],
                       "age":random.randint(1,100),
                       "description":li_words(50, False)}
      data.close()