Olá tudo bem? Se a versão do kivy que você utilizou é diferente da versão do .kv, é necessário você deixar explícito a versão dessa maneira:

  • main.py
import kivy
kivy.require('2.1.0')

from kivy.app import App
from kivy.factory import Factory

class MainApp(App):

    def build(self):
        return Factory.BoxLayout()

if __name__ == '__main__':
    MainApp().run()
  • main.kv
#:kivy 2.1.0

<BoxLayout>:
    canvas.before:
        Color:
            rgba: [1,1,1,1]
        RoundedRectangle:
            pos: root.pos
            size: root.size
    Button:
        text: "Hello World"

Lembrando que este tipo de configuração não é obrigatório, mas não se esqueça do zen do python - confira clicando aqui para ver o artigo Zen dos Zens Conhecidos e Outros Nem Tanto Assim - que diz que Explícito é melhor que Implícito.

Para os que ficarem interessados para saber mais sobre kivy, vejam minha publicação aqui do TabNews: