import secrets


def random_with_float_step(start: int, stop: int, step: float) -> float:
	"""Generates a random number between a range with a float step.

	Parameters
	----------
	start : int
		The inclusive lower bound
	stop : int
		The inclusive upper bound
	step : float
		The step of the range

	Returns
	-------
	float
		The generated float
	"""
	return secrets.randbelow(int((stop - start) / step)) * step + start