code: def as_span(cls, lower_version=None, upper_version=None,
                  lower_inclusive=True, upper_inclusive=True):
          
          lower = (None if lower_version is None
                   else _LowerBound(lower_version, lower_inclusive))
          upper = (None if upper_version is None
                   else _UpperBound(upper_version, upper_inclusive))
          bound = _Bound(lower, upper)
  
          range = cls(None)
          range.bounds = [bound]
          return range
docs: Create a range from lower_version..upper_version.
  
          Args:
              lower_version: Version object representing lower bound of the range.
              upper_version: Version object representing upper bound of the range.
  
          Returns:
              `VersionRange` object.