
DagSmith to wtyczka do Apache Airflow (≥ 3.1), która dodaje do interfejsu webowego Airflow pełny, blokowy edytor wizualny DAGów — razem z bezpośrednim edytorem kodu obok niego. Buduj, edytuj i wdrażaj potoki danych bez wychodzenia z Airflow, bez rezygnowania z ręcznie pisanego Pythona.
pip install airflow-dagsmithPrzeciągaj operatory z przeszukiwalnej palety na canvas, łącz je krawędziami zależności — zarówno zadania, jak i TaskGroupy — i konfiguruj parametry w typowanych formularzach: edytor klucz:wartość dla słowników, edytor WYSIWYG dla pól HTML, wybór połączeń dla conn_id, kreator crona dla harmonogramów.
Edytuj pliki .py bezpośrednio w CodeMirror, z walidacją składni i importów zanim cokolwiek trafi na deploy.
Zmiany na canvasie są zapisywane jako minimalne, chirurgiczne edycje przez libcst — komentarze i formatowanie, których nie dotknąłeś, zostają identyczne co do bajtu. Dynamiczne konstrukcje (pętle, .expand()) pokazują się jako bloki edytowalne wyłącznie z poziomu kodu, zamiast psuć parser.
Zainstalowane pakiety providerów są introspektowane — operatory, sensory, ich sygnatury __init__ w całej hierarchii klas — dzięki czemu setki bloków z typowanymi formularzami parametrów pojawiają się bez ręcznych definicji.
Praca w toku jest zapisywana jako wersjonowane drafty w bazie metadanych Airflow, z autosave, historią, diffami i przywracaniem. Plik .py na produkcji zmienia się dopiero po kliknięciu Deploy — po walidacji, z backupem i wykrywaniem konfliktów. Scheduler nigdy nie widzi niedokończonej pracy.
Przypisz każdemu zespołowi katalog w bundle DAGów i repozytorium git: edycja tylko dla członków, przypisywanie poszczególnych DAGów przez adminów, tagowanie DAGów zespołem oraz przycisk Commit & Push (GitHub/GitLab) z opcjonalnym automatycznym pushem przy deployu.
Deploy jest wyłączony, dopóki go świadomie nie włączysz. Każdy endpoint jest autoryzowany przez Airflow Auth Manager. Kod DAGów jest wykonywany wyłącznie w izolowanym, ograniczonym czasowo podprocesie — nigdy w procesie api-servera. Każda ścieżka pliku jest ograniczona do katalogu bundle'a, a każdy deploy trafia do logu audytowego.
DagSmith rozwijam sam, po godzinach — wieczorami i w weekendy, obok pracy na etacie. Jeśli oszczędza Ci czas albo po prostu podoba Ci się, jak to jest zrobione — postawienie kawy to najlepszy sposób, żeby dać znać, że warto to ciągnąć dalej: więcej funkcji, lepsza dokumentacja, szybsze poprawki.
☕ Postaw mi kawę