Add sf::Text
Only use numpy internally, do not force the use to pass numpy array (more readable code).

Before you add to do that:
   sprite.position = numpy.array((500, 400))

Now you can do that:
    sprite.position = 500, 400

When pyludic return a math value (vector/matrix) the return type will always be a numpy array/matrix