A Twirl job is plain code. No dsl, no decorators, no imports. If you can write SQL or Python, you can write a Twirl job.
Twirl’s development mode reads input data from production but write outputs to a safe and isolated development sandbox.
First class dbt support with zero overhead-- mix and match regular Twirl jobs and dbt models.
You may optionally define a schema which Twirl will enforce, preventing users from accidentally breaking other people's code.
Twirl has first class support for fixture oriented unit testing, making it easy to test edge cases and be confident your code works.
Deploying a job in Twirl is as simple as merging a pull request. Twirl will run a Github Action pushing your new code to the orchestrator.
All data is stored in your cloud account, and all jobs execute there, so no sensitive data ever leaves your account.
Twirl gives you full control over node scheduling, which means different jobs in the same pipeline can run at different frequencies.
Twirl automatically packages your code and dependencies, simplifying deployment and ensuring consistency between development and prod environments.
Twirl’s web app lets you easily check how all your data jobs are doing in one view.
Use tags or Twirl's selection syntax to easily zoom in on relevant jobs
Twirl’s detail view shows you which upstream jobs failed, making it easy to debug stale tables.
Twirl displays parsed log output so you can always see the right level of detail for your jobs.