| # Airflow configuration |
| airflow.cfg |
| airflow_login.py |
| dbinit.py |
| initdb.py |
| secrets.py |
| |
| # Airflow sqlite databases |
| airflow.db |
| |
| # Airflow temporary artifacts |
| airflow-core/src/airflow/git_version |
| # ERD diagrams (generated at doc build time) |
| airflow-core/docs/img/airflow_erd.mmd |
| providers/fab/docs/img/fab_erd.mmd |
| providers/edge3/docs/img/edge3_erd.mmd |
| airflow-core/src/airflow/ui/coverage/ |
| # and legacy ones |
| airflow/git_version |
| airflow/ui/coverage/ |
| logs/ |
| airflow-webserver.pid |
| airflow-api-server.pid |
| standalone_admin_password.txt |
| warnings.txt |
| warn-summary-*.txt |
| |
| # Ruff cache |
| .ruff-cache |
| |
| # Byte-compiled / optimized / DLL files |
| __pycache__/ |
| *.py[cod] |
| *$py.class |
| .pytest_cache/ |
| |
| # C extensions |
| *.so |
| |
| # Distribution / packaging |
| .Python |
| env/ |
| build/ |
| develop-eggs/ |
| dist/ |
| downloads/ |
| eggs/ |
| .eggs/ |
| lib/ |
| lib64/ |
| parts/ |
| sdist/ |
| var/ |
| wheels/ |
| *.egg-info/ |
| .installed.cfg |
| *.egg |
| |
| # PyInstaller |
| # Usually these files are written by a python script from a template |
| # before PyInstaller builds the exe, so as to inject date/other infos into it. |
| *.manifest |
| *.spec |
| |
| # Installer logs |
| pip-log.txt |
| pip-delete-this-directory.txt |
| |
| # Unit test / coverage reports |
| htmlcov/ |
| .coverage |
| .coverage.* |
| .cache |
| nosetests.xml |
| coverage*.xml |
| *,cover |
| .hypothesis/ |
| .pytest_cache |
| |
| # Translations |
| *.mo |
| *.pot |
| |
| # Django stuff: |
| # *.log |
| local_settings.py |
| |
| # Flask stuff: |
| instance/ |
| .webassets-cache |
| /webserver_config.py |
| |
| # Scrapy stuff: |
| .scrapy |
| |
| # PyBuilder |
| target/ |
| |
| # Jupyter Notebook |
| .ipynb_checkpoints |
| |
| # pyenv |
| .python-version |
| |
| # nvm (Node Version Manager) |
| .nvmrc |
| |
| # celery beat schedule file |
| celerybeat-schedule |
| |
| # SageMath parsed files |
| *.sage.py |
| |
| # dotenv |
| .env |
| .env.local |
| .autoenv*.zsh |
| |
| # virtualenv |
| .venv* |
| venv* |
| ENV/ |
| |
| # Spyder project settings |
| .spyderproject |
| |
| # Rope project settings |
| .ropeproject |
| |
| # PyCharm |
| .idea/ |
| *.iml |
| |
| # Claude Code — ignore local config/caches/worktrees, but keep the |
| # tracked symlinks in .claude/skills/ that point at .agents/skills/, |
| # and the committed apache-magpie plugin floor in settings.json |
| # (per-machine settings belong in the ignored settings.local.json). |
| .claude/* |
| !.claude/settings.json |
| !.claude/skills/ |
| .claude/skills/* |
| !.claude/skills/aip-user-stories |
| !.claude/skills/airflow-pr-draft-summary |
| !.claude/skills/airflow-publish-changes |
| !.claude/skills/airflow-translations |
| !.claude/skills/prepare-providers-documentation |
| !.claude/skills/upgrade-fab-provider |
| |
| # Claude Code write-tracking scratch dirs. Created next to whatever |
| # directory a tool call ran in, so they turn up anywhere in the tree — |
| # the .claude/* rule above only covers the repo root. |
| **/.claude/.cc-writes/ |
| |
| # Kiro |
| .kiro/ |
| |
| # Cursor |
| .cursor/ |
| |
| # vim |
| *.swp |
| |
| # Emacs |
| *~ |
| \#*\# |
| /.emacs.desktop |
| /.emacs.desktop.lock |
| *.elc |
| auto-save-list |
| tramp |
| .\#* |
| |
| # OSX |
| .DS_Store |
| |
| # SQL Server backups |
| *.bkp |
| |
| # Spark |
| rat-results.txt |
| |
| # Git stuff |
| # Kubernetes generated templated files |
| *.generated |
| *.tar.gz |
| scripts/ci/kubernetes/kube/.generated/airflow.yaml |
| scripts/ci/kubernetes/docker/requirements.txt |
| |
| # Node & Webpack Stuff |
| *.entry.js |
| node_modules |
| npm-debug.log* |
| derby.log |
| metastore_db |
| npm-debug.log* |
| yarn-debug.log* |
| yarn-error.log* |
| pnpm-debug.log* |
| .vscode/* |
| !.vscode/extensions.json |
| /.vite/ |
| # Exclude the ui .vite dir |
| airflow-core/src/airflow/ui/.vite/ |
| # And the legacy old files just in case |
| airflow/ui/.vite/ |
| # Add the auth manager vite folder just in case |
| airflow-core/src/airflow/api_fastapi/auth/managers/simple/ui/.vite/ |
| .pnpm-store |
| *.tsbuildinfo |
| |
| # Airflow log files when airflow is run locally |
| airflow-*.err |
| airflow-*.out |
| airflow-*.log |
| airflow-*.pid |
| .airflow_db_initialised |
| |
| # Generated doc files |
| _api |
| _build |
| _doctree |
| _inventory_cache |
| |
| # mypy |
| .mypy_cache/ |
| .dmypy.json |
| dmypy.json |
| |
| # Needed for CI Dockerfile.ci build system |
| .build |
| /tmp |
| /files |
| |
| /hive_scratch_dir/ |
| /.bash_aliases |
| /.bash_history |
| /.kube |
| /.inputrc |
| log.txt* |
| |
| # Legacy Provider-related ignores |
| /airflow/providers/__init__.py |
| |
| # Docker context files |
| /docker-context-files/* |
| !/docker-context-files/.README.md |
| # Local .terraform directories |
| **/.terraform/* |
| |
| # .tfstate files |
| *.tfstate |
| *.tfstate.* |
| |
| # Terraform variables |
| *.tfvars |
| |
| # Might be generated when you build wheels |
| pip-wheel-metadata |
| |
| .pypirc |
| |
| # Dev files |
| packages.txt |
| Dockerfile.pmc |
| |
| # Generated UI licenses |
| 3rd-party-licenses/LICENSES-ui.txt |
| licenses/LICENSES-ui.txt |
| |
| # Packaged breeze on Windows |
| /breeze.exe |
| |
| # Generated out dir |
| |
| /out |
| |
| # files generated by memray |
| *.py.*.html |
| *.py.*.bin |
| |
| # used to checkout target-branch in CI |
| /target-airflow |
| |
| # This directory used for store autogenerated images |
| /images |
| |
| # Dask Executor tests generate this directory |
| /tests/executors/dask-worker-space/ |
| |
| # airflow-build-dockerfile and correconding ignore file |
| airflow-build-dockerfile* |
| |
| # Ignore zip files https://github.com/apache/airflow/issues/46449 |
| *.zip |
| |
| _api/ |
| |
| #while running go tests inside the go-sdk, it can generate log files for dags, ignore all logs |
| go-sdk/**/*.log |
| |
| # E2e tests |
| _e2e_test_report.json |
| |
| # UV cache |
| .uv-cache/ |
| |
| # Allow logs folder in task-sdk-integration-tests (they logs folders are ignored above in general) |
| !/task-sdk-integration-tests/logs/ |
| |
| # On case-insensitive filesystems (macOS default, core.ignorecase=true) the `logs/` rule above |
| # also matches this UI source directory, so new files in it cannot be staged without `git add -f`. |
| !/airflow-core/src/airflow/ui/src/pages/TaskInstance/Logs/ |
| |
| # Generated registry data (versions/{provider}/{version}/{metadata,parameters,connections}.json) |
| # Generated by dev/registry/extract_metadata.py |
| registry/src/_data/modules.json |
| registry/src/_data/providers.json |
| registry/src/_data/search-index.json |
| # Generated by dev/registry/extract_versions.py, dev/registry/extract_parameters.py, |
| # dev/registry/extract_connections.py |
| registry/src/_data/versions/ |
| dev/registry/output/ |
| dev/registry/logos/ |
| dev/registry/modules.json |
| dev/registry/providers.json |
| |
| # apache-magpie — per-machine session-state file. Records |
| # adopter-local persistence anchors written by magpie skills |
| # (e.g. the session-history gist URL written by |
| # pr-management-triage Step 6b, per |
| # https://github.com/apache/magpie/pull/343). |
| /.apache-magpie.session-state.json |
| |
| # apache-magpie — per-developer configuration store. Personal |
| # answers that shadow the project's committed |
| # `.apache-magpie-overrides/` for this clone only. |
| /.apache-magpie-local/ |
| |
| # Per-machine project-scope Claude Code settings (sandbox-allowlist |
| # absolute paths written by sandbox-add-project-root.sh; per |
| # https://github.com/apache/magpie/issues/197). |
| /.claude/settings.local.json |