First, I would like to thank Arnel for inviting me to the Airflow Development Sprint. It seems that the sprint I led at PyCon APAC 2025 in March was a success, encouraging him to host another in his hometown 🙌.
I also want to express my sincere gratitude to Dom, Emily, and Di-Di. You played a crucial role in making my experience in Davao memorable. My journey would not have been nearly as smooth and enjoyable without your assistance.
Before the Sprint
Honestly, I was somewhat concerned about my ability to lead a worthwhile event. It's not a small expense for both sides. However, if they believe I might be capable, then perhaps being a yes man this time might not be a bad idea.
Development Sprint
Before this began, we had a brief chat with the DurianPy organizers. I had the honor of meeting the legendary Anakin Skywalker. I thought it was just a nickname for a Star Wars fan. It turns out to be his real name, but he hasn't yet stepped into the Star Wars world. During this year's Star Wars Celebration, I was also lucky to meet another Anakin Skywalker, Hayden Christensen. It was quite intriguing to meet two Anakins in a row.
Even though Anakin is not a Star Wars fan, Sean is! We discussed our love for Rogue One, Andor, and Rebels. I shared some Star Wars novels that I truly enjoy. (👉 星際大戰小說排名)
It's a shame I didn't mention this quote to him in person.
I have friends everywhere.
What I did
I outlined the steps for initiating contributions to Airflow. This included instructions on setting up breeze
, an overview of Airflow's high-level project structure, and guidance on identifying potential changes to create pull requests.
After that, I used my previous slide Airflow 3.0 The First Glance to introduce some of the new features in Airflow 3. DatasetAlias/AssetAlias is not an easy concept to describe 🤔. The second photo in this post (with my weird gesture) shows my attempt to explain it.
🎙️ 𝗛𝗮𝗽𝗽𝗲𝗻𝗶𝗻𝗴 𝗡𝗼𝘄 | Introduction to Airflow 3.0
I also discussed the Airflow instance we have in PyCon Taiwan - pycon-etl to demonstrate the power of ruff AIR rules. The PR Upgrade to Airflow 3.0.2 #159, which I used for demonstration, was merged shortly after my presentation. 🙌
The rest of the time, I just sit there and see whether anyone needs my help. 👀
📍 𝐇𝐚𝐩𝐩𝐞𝐧𝐢𝐧𝐠 𝐍𝐨𝐰: 𝐏𝐲𝐭𝐡𝐨𝐧 𝐒𝐩𝐫𝐢𝐧𝐭 – 𝐂𝐨𝐧𝐭𝐫𝐢𝐛𝐮𝐭𝐢𝐧𝐠 𝐭𝐨 𝐀𝐩𝐚𝐜𝐡𝐞 𝐀𝐢𝐫𝐟𝐥𝐨𝐰
What we achieved
- Pull requests created by the attendees
- docs: fix grammar, spelling, and spacing in README #51980
- fix(dev): guard missing --language if --add-missing is used in dev/i18n/check_translations_completeness.py #51981
- I'm also an attendee. So technically, my PR counts ➕.
- remove directed acyclic graphs #51982
- We finally get rid of the idea of directed acyclic graphs (DAGs) in Airflow!
- docs: update vertex AI generative model documentation #51983
- refactor: remove dag.py params typechecking #51987
- fix: add space to goto instances in contributors quick start #51985
- docs: Format consistency for variables/directories/flags in unit_tests.rst #51986
- docs: update remote logging configuration for Azure Blob Storage #51988
- Add comma #51990
- I don't even have a chance to take a look. Shahar beats me 🙌
- Other PRs I reviewed
- Resolve OOM When Reading Large Logs in Webserver #49470
- This consumes most of my energy. It's a huge PR with an awesome improvement. I'm really looking forward to its merging. 👀
- fix(provider): Fix kwargs handling in Azure Data Lake Storage V2 Hook methods #51847
- [Discord Provider] Add support to embeds in Discord Webhook and Notifier #51097
- Resolve OOM When Reading Large Logs in Webserver #49470
One more thing
In the afternoon, I saw that Jarek and Shahar had started PR reviews. Jarek messaged me, mentioning that he noticed we were in a sprint. I then thought, why not invite him to share a few words with the DurianPy attendees? Jarek's encouragement was uplifting, and I hope it helps DurianPy's further growth.
When I served as the chair of PyCon Taiwan, Jarek also helped us run a development sprint. Unfortunately, I couldn't participate at that time as I was leading commitizen-tools. Now, here I am, leading the Airflow development sprint.
All about Davao
I truly appreciate my time here in Davao. It is a beautifully peaceful and cozy place. I was pleasantly surprised to find that I can even go on my anime pilgrimage here. (Thanks, Emily!) Davao is featured in the film Mobile Suit Gundam: Hathaway's Flash. Dom took me to the most famous location shown in it. Although I haven't seen the movie yet, it's available on Netflix, so I should make time to watch it.
I considered eating at this specific Jollibee, but we have something even more exciting planned for later. We visited a local weekend market and enjoyed Filipino cuisine.
Fortunately, I still have the opportunity to grab some Jollibee for lunch during the sprint.
At dinner time, we went to a well-known local restaurant. This time, I remembered to bring my PyCon hat!
Here are the souvenirs I got: the t-shirt and tote bag from DurianPy, the adorable bubble tea doll from Charm, and some chocolate with unusual flavors that I had to buy.
(This time, I brought the Acrylic stand of Nina and Lancelot for traveling.)
before Dom dropped me off at the airport. These are the last gifts he shared with me. Thanks again, Dom!
and the trip concludes with Nina. I suppose we can regard it as somewhat similar to the Filipino beef bowl from Yoshinoya.
You were the chosen one.
It was said that you would take the T-shirt, not give it up.
At the close of the sprint, we had a lucky draw. Anakin was the first to be drawn. He truly is the chosen one in every regard.