I like playing puzzle games and I always wondered what it would take to make one so I had a go. Click here to play History of the Velsokomagnet! My goal was to try to find something interesting in some fairly arbitrary simple rules. The core of the game is …
Somehow it s been over two and a half years since my last post. Time flies when not slowed down by a global pandemic. My last few posts were about the state of Vivarium , my dynamic tiling wayland compositor. I had a number of feature targets and completion goals I …
I ve just tagged for release Vivarium 0.0.3 . Vivarium is a dynamic tiling wayland compositor, with desktop semantics inspired mostly by xmonad. Release summary This release has two major new features: damage tracking, and support for wlroots 0.13. There are also various minor fixes and additions, such …
I recently released Vivarium , a dynamic tiling wayland compositor built using the wlroots library . Going from zero to compositing was interesting, there are good libraries available but everything has moved very fast in the last couple of years so it can be hard to know where to start. I especially …
I ve just tagged for release Vivarium 0.0.2 . This is an incremental release with many small fixes following the first release announcement . Many thanks to those who tested it out and reported issues. Vivarium is a dynamic tiling wayland compositor, with desktop semantics inspired mostly by xmonad. Release …
This post is to announce the existence of Vivarium , a dynamic tiling wayland compositor. Core Vivarium features include: Automatic/dynamic tiling with your choice of layouts. Per-output workspaces: each monitor can switch independently through the same set of workspaces. Floating windows on demand. (optional) XWayland support. Layer shell support, compatible …
This ZDNet article was published a few days ago about how Python apps might soon be running on Android . It summarises some recent developments in Android support for CPython, but disappointingly it s highly misleading about some key points. In particular the article states that apps written in Python may …
This post collates various resources for getting started with the Kivy graphical framework for Python. Installation Follow the official installation documentation . Introductory resources Official Kivy docs The official Kivy Getting Started pages . These cover general introductory concepts, but are a bit eclectic. Kivy s official Pong game tutorial Kivy s …
This is number 9 in a series of introductory Kivy tutorials . Central themes: Passing data between widgets, creating Kivy properties This tutorial directly follows on from the previous, so start by retrieving the previous code, as below: main.py: from kivy.app import App from kivy.uix.boxlayout import BoxLayout …
This is number 8 in a series of introductory Kivy tutorials . Central themes: Event binding and canvas instructions in kv language This tutorial directly follows on from the previous, so start by retrieving the previous code, as below: main.py: from kivy.app import App from kivy.uix.boxlayout import …
This is number 7 in a series of introductory Kivy tutorials . Central themes: kv language, building a gui, integration with Python The goal of this tutorial will be to build up a simple gui around the DrawingWidget built in the last two tutorials. A nice simple goal would be to …
This is number 6 in a series of introductory Kivy tutorials . Central themes: Handling touch or mouse input, more canvas instructions In this tutorial we ll directly add touch handling to the basic code developed in tutorial 5, starting with the code from last time: from kivy.app import App …
This is number 5 in a series of introductory Kivy tutorials . Central themes: Canvas instructions The next couple of tutorials will move to a new application in order to showcase some more of Kivy s core components. In this tutorial we ll cover canvas instructions , Kivy s low level drawing …
This is number 4 in a series of introductory Kivy tutorials . Central themes: Events and Kivy properties We left the last tutorial with a calculator app GUI with some nice automatic behaviour, but which doesn t actually do anything. Let s change that; it s time to learn about binding …
This is number 3 in a series of introductory Kivy tutorials . Central themes: Adding Widgets to one another The tutorals so far have covered the very basics of a Kivy application; getting everything running, adding a Widget (the Label), and doing some customisation. Let s now combine some widgets to …
This is number 2 in a series of introductory Kivy tutorials . Central themes: Modifying Widget appearance, Kivy properties It s great to say Hello World, but it looks pretty boring, and you d expect that you d be able to customise the appearance of text. Fortunately, you d be right …
This is number 1 in a series of introductory Kivy tutorials . Central themes: Starting an App, getting Kivy running It s essentially compulsory that the introduction to any programming project should be a Hello World! application. Since Kivy is a GUI framework, that means opening a window and displaying the …
python-for-android is a packaging tool for Python apps on Android. You can create your own Python distribution including the modules and dependencies you want, and bundle it in an APK along with your own code. python-for-android 2019.08.09 has just been released! I haven t been making a blog …
A user on the Kivy Discord just raised the question of how to delay widget updates during resize events. The problem was that the widgets did some heavy processing (generating matplotlib graphs) that would be very slow if called for every tiny update during a larger resize event. This is …
One of the biggest Kivy confusions I see is how different widgets can access one another when they re in different parts of the application. Fortunately, it s generally straightforward to do so. This post gives examples of methods you might use in different situations. The emphasis here is on …
python-for-android is a packaging tool for Python apps on Android. You can create your own Python distribution including the modules and dependencies you want, and bundle it in an APK along with your own code. python-for-android 2019.06.06 has just been released! This release contains 198 commits from 31 …
This guide describes how to turn your Kivy/Python app into an APK , by running the buildozer build tool in a virtual machine. This is not the only way to run buildozer, it can work natively on Linux or MacOS or be run from the Windows Subsystem for Linux. See …
A few days ago I released Lazy Baduk , a Leela Zero analysis tool for Android. You can download it from Google Play , or directly from the Github release (see below). Lazy Baduk focuses on making it as easy as possible to start entering and analysing moves with Leela Zero, with …
For the last 3 days several of the Kivy Core Developers gathered in Brussels, Belgium for the first ever core developer hackathon. Not only is this the first time we ve gathered to work on Kivy framework issues, but for most of us the first time we ve ever met …
I ve more than once seen people confused by how python-for-android constructs an Android project that can be compiled into an APK . Since p4a uses various cached and templated files, it s easy to get confused trying to edit things only to find your changes are overwritten when you run …
We ve just officially released python-for-android 0.6 . The new version can be downloaded via pip, or will be used by buildozer automatically in new installations. This release contains about 130 new commits from 14 different contributors. Thanks to everyone involved! python-for-android is a packaging tool for turning Python scripts …
We ve just officially released python-for-android 0.5 . The new version can be downloaded via pip, or will be used by buildozer automatically in new installations. This release contains about 300 commits from almost 40 different contributors. Thanks to everyone involved! python-for-android is a packaging tool for turning Python scripts …
I ve just released Pyonic interpreter 1.3. As usual you can download it from Google Play, for Python 2.7 or Python 3.6 . The APKs can also be downloaded directly from Github (where the source code is also available). The main addition in this release is a file …
I ve just released Pyonic interpreter 1.2. As usual, you can get it from Google Play, now for Python 2.7 or Python 3.6 . The APKs can also be downloaded directly from Github (where the source code is also available). This is the first release to target Python …
I ve just released Pyonic interpreter 1.1. As usual, you can get it from Google Play for Python 2.7 or Python 3.5 , or download the APKs directly from Github (where the source code is also available). The major feature in this release is autocompletion support via the …
I ve just released Pyonic interpreter 1.0. You can get it from Google Play for Python 2.7 or Python 3.5 , or download the APKs directly from Github (update: changed to v1.0.1 following a small bugfix). The primary change in this release is that both APKs …
Pyonic interpreter 0.7 has just been released. There are now two versions on Google Play, one for Python 2.7 and one for Python 3.5 . The APKs are also available directly from Github . Other features in this release include a new settings screen and improved gui arrangement. The …
I ve just released a new app, Pyonic Python 2 interpreter . Pyonic interpreter is a Python interpreter app for Android, providing a convenient interface adapted to mobile devices. The app itself is written entirely in Python using Kivy . I put this together because I ve always thought it would be …
We ve just officially released python-for-android 0.4, and pushed it to PyPI for the first time! python-for-android is a packaging tool for turning Python scripts and apps into Android APKs. It was originally created for use with the Kivy graphical framework , but now supports multiple kinds of Python app …
Jacob Kovac, Kivy core developer and creator of the KivEnt game engine, is at PyCon 2016. Click here or see below to watch his talk, Revitalizing Python Game Development: Packaging, Performance, and Platforms.
We re pleased to announce a new stable version of Kivy, version 1.10. You can see the full detailed changelog on the mailing list announcement , and download the new version from the Kivy website or via your package manager. This release includes many new features. Highlights include: Python 3 …
python-for-android has just gained support for a new webview app interface, an alternative to the existing SDL2 or Pygame backends. Under this mode of operation the app gui consists entirely of a browser window directed to open a webpage on localhost, and the Python backend can then run any web …
A natural question when people hear about Kivy as a way to create Android apps in Python is what can you do with it? Is it performant enough for games, can you call the Android APIs, do all apps look the same? One of the best resources for these kinds …
It s been a long time coming, but we can finally make the announcement python-for-android now supports Python 3 Android apps! This naturally includes Kivy, but also should work for anything else you can package with python-for-android, such as apps made with PySDL2. Using Python 3 remains experimental for now …
We ve just released a new stable version of Kivy, version 1.9.1. You can see the changelog on the mailing list announcement , and download the new version from the Kivy website or via your package manager. This is mainly a bugfix and tidying release following the major version …
It s been a while since Kivy s python-for-android project was revamped, so here s a quick status update. There have since been well over 200 commits from 15 different contributors, cleaning up the missing pieces of the new toolchain and adding new features that weren t previously possible. Thanks …
This post is to announce that the revamped python-for-android toolchain, introduced in this previous post , has now been merged into python-for-android s master branch . This is now the master branch going forward. The revamp project is largely (but not quite) feature complete with the old toolchain, supporting almost all the …
I ve recently been working on a significantly revamped version of python-for-android , the Kivy-project tools that take a Python program and package it - along with any dependencies and the Python interpreter itself - into an Android APK that can be run and distributed just like a normal Android app. This rewrite …
Some of the Kivy core developers were recently interviewed on Podcast.__init__ , including discussion of how Kivy got started, the different things it s being used for, and the future of the project. Click the link to listen to the podcast.
There are an increasing number of resources about different ways of running Python on Android. Kivy (and its subprojects) are commonly mentioned, as one of the most mature and popular ways to do so, but one thing that gets less attention is the details of what you can do with …
Kivy 1.9 has just been released! This has been a long time in the making, for no very good reason, but now you can take advantage of all our many new features in the stable branch. You can find the full changelog at the official mailing list announcement . This …
Kivy will be participating in the Google Summer of Code 2015 ( GSOC ), under the Python Software Foundation umbrella . Applications are welcomed not just for the Kivy framework itself but on all the projects managed by the Kivy organisation including Python-for-Android, Kivy-iOS, PyJNIus, PyOBJus, Plyer and Buildozer. As such, GSOC projects …
I was recently reminded of the super cool Hy project. Hy is a lisp that compiles to python s own abstract syntax tree, so it works perfectly with existing Python code (including with Cython etc.) but also exposes all the power of lisp. For instance, here s a simple Kivy …
Continuing the theme of my last few posts, a common problem for new kivy users is creating canvas instructions that follow their parent widgets. For instance, here s some code for a custom widget that tries to draw a red rectangle in its upper-right corner - this is fairly standard kivy …
Another Kivy question that I often see (particularly recently for some reason) is about using the Label widget - how to have text wrap automatically, or the opposite, how to have the label automatically grow to accommodate its text. I ve covered this before in the 9th Kivy crash course video …