ui framework for kivy following the MVP pattern


License
Apache-2.0
Install
pip install kivymvp==0.1.13

Documentation

kivymvp

ui framework for kivy following the MVP pattern

why use it

It provides the M and P for Kivy's V. Besides of the architectural benefits of decoupling your code it allows you to easily provide unit tests instead of actual views to allow continuous integration of your frontend models and presenters.

features

  • lightweight MVP framework
  • transient models: dictionary, REST HTTP
  • persistent models: JSON

getting started

Just look at kivymvp.py for a simple example.

how does it work

Views are essentially Kivy screens. They emit user events to and listen for redraw events from their presenter.

Presenters have a set of models at their disposal. They listen to model updates and trigger redraws of their view when needed. They listen to user events from the view and update models as necessary.

Models are just any kind of data storage. They provide CRUD operations and notify presenters using them of changes in data.

roadmap

As necessary. We are currently building an app using kivymvp and will see how it develops. v0.2 will likely be the version corresponding with the one we use for launching a closed beta of a kivy-based product.

requirements

Kivy is of course required. It is not listed in install requirements for setup tools to avoid messing around with setups which use kivy separate from their main python distribution.