There are a few things that I see that are problematic.
Your root widget (TextInput), the widget furthest to the left in you Kv code, is TextInput. Instead make this a layout, this will arrange and size all of the widgets under it. I suggest a BoxLayout.
In your Python code you need to create a property(StringProperty). You will use this to access data in Kv lang and Python. These properties also create events, so when the text is updated an action will happen.
In the examples section of Kivy there is a great example called the Kivy Catalog. Take a look at the text section. You can modify the examples dynamically in the Kivy Catalog and see how changes to KV code change the appearance and operation.