Dear Airflow Community,

I am excited to announce that the Apache Airflow TypeScript SDK
`1.0.0-beta1` is available for testing!
This is a beta release, so do not run it in production. It may contain
significant issues.

The headline of this beta: **you can now define an entire Dag in
TypeScript, with no Python file at all.**
The schedule, the tasks, their options, the dependencies between them,
branching, task groups, human-in-the-loop tasks and triggering another Dag
are all written in TypeScript.
Airflow reads the packed bundle like any other Dag file, so the Dag shows
up in the UI, runs on its schedule, and the tasks pass values to each other
through XCom.

You will need Node 22 or later to build your Dags, and you can test them
with Airflow 3.4.0beta2.
To set up a TypeScript SDK project, follow the TypeScript SDK guide [1] or
the API reference [2]; the package itself is on npm [3]. To set up the
Airflow core beta it runs against, follow Rahul's 3.4.0beta2 announcement
[4].
Please note that this beta carries a few API breaking changes from
`0.1.0-beta1`, made to improve the authoring experience.
If you encounter any issue during setup or would like to provide feedback,
please discuss in the `#sig-lang-sdks` Slack channel [5].

Many thanks to everyone who wrote or reviewed the TypeScript SDK changes
that went into this beta.
Special thanks to Guan-Ming Chiu (@guan404ming) from the community, who
carried much of the work.

[1] TypeScript SDK guide:
http://apache-airflow-docs.s3-website.eu-central-1.amazonaws.com/docs/apache-airflow/stable/authoring-and-scheduling/language-sdks/typescript.html
[2] TypeScript SDK API reference:
https://airflow.staged.apache.org/docs/ts-sdk/stable/
[3] npm package (tarball shasum: 9d0fa1078b77e56cc7ab3ddfebf943c3446fb45e):
https://www.npmjs.com/package/apache-airflow-ts-sdk/v/1.0.0-beta1
[4] Apache Airflow 3.4.0beta2 is available for testing:
https://lists.apache.org/thread/5rks8xc05zfbp8b6dndqfrhkrs9g6s4z
[5] `#sig-lang-sdks` Slack channel:
https://apache-airflow.slack.com/archives/C08UCFRNAD8

Best regards,
Jason

Reply via email to