def sigfig(number, places):
    """
    Round `number` to `places` significant digits.

    Parameters:
        number (int or float): A number to round.
        places (int): The number of places to round to.

    Returns:
        A number
    """

    # Passing a negative int to round() gives us a sigfig determination.
    # Example: round(12345, -2) = 12300
    ndigits = -int(len(str(abs(number)).split('.')[0]) - places)
    return round(number, ndigits)