(One of my summaries of the 2025 pygrunn conference in Groningen, NL).
How to become an apple farmer in 5 minutes:
You want mid-size apples, as they fetch the best price.
You want blossom on your tree, but not too much. Otherwise the tree has to divide its water and nourishment over more apples, which makes them smaller…
They work at aurea imaging, maker of “treescout”. The treescout is a device/camera on top of a tractor that drives along the apple trees in an orchard. The device detects the tree, blossoms and other attributes of the tree. The first use case: blossom thinning to aim at the right size of apples. Blossom thinning happens with a sprayer. The blossom blossoms for just two or three weeks.
The first season they tried their project was educational. Lots or problems :-) GPS tracks that were not straight. Detected trees were not in the right location. Etcetera.
Some of the challenges:
It is on a vehicle, so limited power.
It is on a farm, so very limited or no connectivity.
Agricultural standards are actually from the maritime industry. GPS that is accurate within a few meters is fine, there. But not detailed enough for locating trees…
They were a software company, so they had to use off-the-shelf components.
The first blossom season, their architecture looked like this:
Python monolith with multiprocessing.
Restarting upon failure was hard due to them using unix pipes for inter-process communication.
Poor separation of responsibilities.
The second blossom season they changed several things.
They used k3s (a lightweight kubernetes).
A single-node k3s cluster sitting on top of a tractor.
K3s is responsible for the runtime environment and workload management.
Rabbitmq for inter-process communication.
A Kubernetes cluster really helps with rolling out quick updates.
A problem they noticed is python’s concurrency problem. There are some central components that are a bottleneck.
What they’re working on:
ArgoCD, open cluster management, kairos (“in-place os updates”), embedded linux. They’re close to fully-automatic remote upgrades.
More flexible hardware setup.
Machine learning and insights on tree level. BIG amount of data for an eight-man dev team…
Increasing the number of customers.
Photo explanation: picture from our Harz (DE) holiday in 2023
My name is Reinout van Rees and I program in Python, I live in the Netherlands, I cycle recumbent bikes and I have a model railway.
Most of my website content is in my weblog. You can keep up to date by subscribing to the automatic feeds (for instance with Google reader):