def obox_circle(poly, circle, circle_radius):
    """
    detects axis aligned collision between a polygon's bounding box and a circle
    """

    if len(poly) != 0:

        x_coords = []
        y_coords = []

        for coord_x, coord_y in poly.coords:
            x_coords.append(coord_x)
            y_coords.append(coord_y)

        poly_xcoord_min = min(x_coords)
        poly_xcoord_max = max(x_coords)
        poly_ycoord_min = min(y_coords)
        poly_ycoord_max = max(y_coords)

        if (circle[0] + circle_radius) >= poly_xcoord_min and circle[0] <= (poly_xcoord_max + circle_radius) and (circle[1] + circle_radius) >= poly_ycoord_min and circle[1] <= (poly_ycoord_max + circle_radius):
            return True
        else:
            return False
    else:
        return None