text: """A collection of python stylers"""
  
  import re
  
  month_fullnames = {
      1: "January",
      2: "February",
      3: "March",
      4: "April",
      5: "May",
      6: "June",
      7: "July",
      8: "August",
      9: "September",
      10: "October",
      11: "November",
      12: "December",
  }
  month_threelets = {
      1: "Jan",
      2: "Feb",
      3: "Mar",
      4: "Apr",
      5: "May",
      6: "Jun",
      7: "Jul",
      8: "Aug",
      9: "Sept",
      10: "Oct",
      11: "Nov",
      12: "Dec",
  }
  
  
  def sentencecase(sentence):
      """returns a sentence in sentencecase but with text in braces preserved
  
      Parameters
      ----------
      sentence: str
          The sentence
  
      Returns
      -------
      The sentence in sentence-case (but preserving any text  wrapped in braces)
  
      Notes
      -----
      tbd or n/a are returned lower case, not sentence case.
      """
      freezecaps = re.findall("\{[^{}]+\}", sentence)
      datalow = sentence.capitalize()
      sentencecase = re.split("\{[^{}]+\}", datalow)
      title = ""
      freezecaps.reverse()
      for word in sentencecase:
          if len(freezecaps) > 0:
              title = title + word + freezecaps.pop()
          else:
              title = title + word
      if title.lower() == "n/a":
          title = title.lower()
      if title.lower() == "tbd":
          title = title.lower()
      return title
  