-
Notifications
You must be signed in to change notification settings - Fork 16.4k
POC airflowctl Binary
#58409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
POC airflowctl Binary
#58409
Conversation
|
You should be able to find an executable version when you install it in your environment from pip. For sure, it is not a binary but should be totally executable in all environments that can execute Python, which abstracts the execution binary, assuming independence of OS version.
|
|
ah, that's cool @bugraoz93 . Wasn't initially intending to PR to the main airflow project, I had misclicked. Just wanted to save the idea as a POC |
What's wrong with |
|
@potiuk - nothing wrong with that, was just considering a scenario like "what about on an old machine without python / uv / etc". |
Installing uv is super easy, and I think people still have misconception about how difficult it is to run a modern version of python application/cli on virtually any system. The main premise of I honstly think that publishing your CLI package to curl -LsSf https://astral.sh/uv/install.sh | sh(or whatever your OS needs from https://docs.astral.sh/uv/getting-started/installation/) followed by uv tool install YOUR_PACKAGEOf course - that should also be paired with regular But adding |
|
@potiuk - having just one downloadable file, in my experience from building a few other utilities, is definitely helpful for a specific subset of user (often a less technical user, potentially on an outdated OS, and/or on a heavily restricted environment where they don't have permissions to install things to their workstations). Though, to be clear, I do think that's a minority of users. I don't want to imply that this POC was intended to be "I think this should be the main way folks run Airflow". This POC was just me considering ways to unblock certain scenarios - like running Airflow on a heavily locked-down machine/workstation (maybe one that can't install You are very correct - You did peak my curiosity, @potiuk . With |
Unlikely :) . If you have extremely old version of Python, airflowctl itself won't work
on locked workstation:
And yes I know it's not as easy as one binary, but still can work |
|
C:\Users\Fritz>powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
C:\Users\Fritz>uv tool install apache-airflow-ctl
C:\Users\Fritz>airflowctlThough, we'll ignore for the moment that argparse appears to blow up on either windows, generally, or py3.14. I don't think |
|
I think the reason might be general 3.14 non-compatibility. Try it with cc: @bugraoz93 -> I think that there is a problem with airflow-ctl and Python 3.14 (FYI @fritz-astronomer -> Airflow code i n general is not Python 3.14 tested including airflowctl) |
Great finding indeed! Thanks @fritz-astronomer! @potiuk Let's ensure it is documented and clearly stated for installation. Would it be okay to release in the next RC? I have small work on CI, so in the following days, I hope will raise the PR and we can prepare for the next release! |
Yeah. No need to fix it now. - but I noticed we have generally some inconsistencies that I want to address in |
|
PR here #58657 |
No description provided.