Creating Apps In Kivy: The Book

By | April 25, 2014

I apologize for my near-silence over the past few months. I’ve packed house and moved twice in that time, started a new job, and, relevant to this post, written a book.

My Creating an application in Kivy blog series has been by far the most popular set of posts on this blog. It garners about 200 views per day, and has been doing so for nearly a year. This taught me a very important lesson: posts with controversial titles, (notably this one, but basically anything that has hit hacker news) are much less valuable than posts with meaningful long-term content. Getting a few thousand hits in one day is pretty satisfying, but when most of your “readers” simply comment on the post without having read the article, that hit-count becomes meaningless.

“Creating an application in Kivy”, on the other hand, has had sixteen thousand visits to part 1, and nearly three thousand of those have made their way all the way to part 9. I could definitely achieve more hits per day by writing a new minimum-content controversial article every day, but these visitors keep coming with no effort on my part. This is lucky, as the focus on writing solid content for my book has taken time away from writing solid content for this blog.

And with that, I’d like to announce that Creating Apps In Kivy is now available. This project started when the aforementioned tutorial caught the eye of an O’Reilly editor. They helped me put together a great book that I am proud of and confident you will enjoy.

Creating Apps in Kivy covers many of the topics discussed in my tutorial, but in more depth and with much more polish. Like the tutorial, it takes you from “new to Kivy” to creating and deploying a complete application to your Android or iOS device. It’s a fun, short read and I’m proud to present it to you today. If you liked the tutorial, buying my book would be a great way to support my work!

7 thoughts on “Creating Apps In Kivy: The Book

  1. Fartash

    Dear Dusty

    First of all I want to appreciate for your grate book.

    I start to develop very simple app with kivy and I faced with following issues;

    1) when you want to use Plyer you should put it in the source folder
    it seems buildozer could not able to assign the plyer library to projects.
    I want know, we need to put this libraries in project or there is
    something wrong with my buildozer setting.

    2) The second problem I faced is when I used constructor for widget classes.
    when I use constructor and build project with buildozer it doesn’t work on phone.

    I should mention except GPS part everything work perfectly in kivy launcher.
    all all problems occur after building the project by buildozer.

    I would deeply appreciate if you help me to identify the issues.

    Also I want to know is there any way to be able to trace the project on the phone same as native android app.

  2. Arnau

    Hello, I’m interested in begin to learn to make apps with Kivy. I know basic python. My question here is that if I sould start with your tutorial or maybe it will be better to go to yhour book directly.

    So, what is the difference between the web tutorial and the book? Should I go first to tutorial and then to the book or vice versa?

    Thank you for your attention, and sorry by my poor english, I’m not native.

    1. Dusty Phillips Post author

      Hi Arnau,

      The book and the tutorial are about the same difficulty level. They follow similar processes in that they take you step by step through the design and creation of a single application. I think the book is more comprehensive and easier to follow, so I would start with it. The tutorial probably doesn’t contain much information that is not covered in the book, but it would be a good second application to reinforce the concepts.

      1. Arnau

        Ok. So, I will start with the book. I hope I wull bi able to understand all of it with my basics of python.
        Thank you for your great work.

  3. Craig Oda

    I wanted to thank you for writing your book and putting so much of yourself into the book. The Acknowledgement section of your Preface was courageous and I respect your efforts to help others. It made me appreciate that any work is a personal journey and that programming is an art. So much of what I read today lacks soul, especially technical writing. Your work, even in the code, gives the reader insight into your philosophy and personal beliefs. I value that.

    I am a father in Silicon Valley and am teaching my children python as a hobby. I am not a programmer myself. I have been learning python in order to teach them. For the last few years, I’ve used pygame and pgs4a. Although I took a look at Kivy a year ago, I thought it was going to be too much for my son. Your book makes Kivy more accessible. I also appreciate your tips on using applications like Pencil for mockups.

    I hope that you find happiness in your work by continuuing to help others and in return develop strong connections with great people.


  4. Tanay

    Hi Dusty,
    I enjoyed reading and practicing your book “creating app in kivy’ and I must say I learnt about kivy
    a big time from there.While running the examples from that book I noticed that the webapi has changed
    over the time and now it is accessible at{}&&appid=
    in place of the earlier one.{}&type=like
    However one of the big problem I faced while deploying some kivy app in android is whenever there is any other python file there,that the is calling the corresponding apk file crashes upon installation in android device.
    For example in my solution if I have and and I’m calling certain function xyz from by having this line at
    from abc import xyz
    then buildozer nicely built the apk from it and I can even install that in my android device,but when I try to open that in android device the app crashes.I’ve seen that before you used buildozer in chapter 9 you refactored the code so that the 2 python files in chapter 8 becomes 1 file in chapter 9.Is that a necessity for buildozer.Please suggest.

    1. dusty Post author

      Thanks, I think the weathermap url has been mentioned in the errata for the book, but I will update in a future edition.

      I’m not certain what the current state of buildozer is. I know the Kivy team have virtually rewritten it for Python 3 compatibility and extensibility beyond Kivy itself. You can probably get more specific information on the Kivy IRC channel; they are very helpful there.


Leave a Reply

Your email address will not be published. Required fields are marked *