Skip to content

Commit f6b135a

Browse files
github-actions[bot]dgniewekgithub-actions
authored
Release 1.0.0 (#113)
* feat: migrate to Astronomer Cosmos for dbt orchestration (#112) * feat!: refactor library to use Astronomer Cosmos instead of dbt Graph Builder * feat: add support for execution_env.execution_script configuration to Cosmos * feat: fix the configuration merge issue * docs: fix documentation / excessive comments * chore: update docs + install google-re2 from binaries only * feat: drop Python 3.8 and Airflow 1.x support * chore: cleanup the branch * feat: add tests for docker and local * doc: remove unneeded comments * fix: after rebase / merge * docs: update documentation as requested in review * chore: fix pre-commit failing * docs: firther updated to documentation * FIX #113 - Bump version and CHANGELOG for release 1.0.0 * chore: remove agentic configuration --------- Co-authored-by: Dominik Gniewek-Węgrzyn <47598580+dgniewek@users.noreply.github.com> Co-authored-by: github-actions <github-actions@github.com> Co-authored-by: Dominik Gniewek-Węgrzyn <dominik.gniewek@getindata.com>
1 parent 4d2b6c8 commit f6b135a

87 files changed

Lines changed: 8109 additions & 2262 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.codeclimate.yml

Lines changed: 0 additions & 52 deletions
This file was deleted.

.github/workflows/python-package.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
- name: Setup python
1717
uses: actions/setup-python@v2.2.1
1818
with:
19-
python-version: "3.8"
19+
python-version: "3.9"
2020

2121
- name: Setup virtualenv
2222
run: |
@@ -36,7 +36,7 @@ jobs:
3636
3737
- name: Test with tox
3838
run: |
39-
tox -e py38
39+
tox -e py39
4040
4141
# TODO: Fix coverage report. For now, fails are ignored using "continue-on-error: true"
4242
- name: Report coverage

.gitignore

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,42 @@ dbt_modules/
66
logs/
77
dbt_airflow_manifest_parser.egg-info
88
dbt_airflow_factory.egg-info
9-
.idea
109
out
1110

1211
.user.yml
1312

13+
# Test artifacts
1414
.coverage
1515
coverage.xml
16-
.tox
16+
.pytest_cache/
17+
.tox/
18+
htmlcov/
1719

1820
*.iml
1921

22+
# Documentation
2023
docs/_build
24+
25+
# Python
2126
__pycache__/
27+
*.py[cod]
28+
*$py.class
2229

30+
# Virtual environments
2331
.venv/
32+
venv/
33+
env/
34+
35+
# IDE
2436
.vscode/
37+
.idea/
38+
39+
# Python version management
2540
.python-version
41+
.tool-versions
42+
43+
# AI and testing
44+
.claude/
45+
openspec/
46+
examples/
47+
image/

.isort.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@ known_first_party = dbt_airflow_factory
44
default_section = THIRDPARTY
55

66
[settings]
7-
known_third_party = airflow,dbt_graph_builder,jinja2,pytest,pytimeparse,setuptools,yaml
7+
known_third_party = airflow,cosmos,jinja2,pytest,pytimeparse,setuptools,yaml

CHANGELOG.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,50 @@
22

33
## [Unreleased]
44

5+
## [1.0.0] - 2025-12-23
6+
7+
### Added
8+
9+
- Added Python 3.12 support.
10+
- Introduced new `cosmos/` module for Cosmos integration (~400 lines):
11+
- `project_config_builder.py` – Maps `dbt.yml` to Cosmos `ProjectConfig`.
12+
- `profile_config_builder.py` – Builds Cosmos `ProfileConfig` from `profile_dir_path`.
13+
- `execution_config_builder.py` – Maps `execution_env.yml` to Cosmos `ExecutionConfig`.
14+
- `operator_args_builder.py` – Passes `k8s.yml` configuration transparently to Cosmos.
15+
- `config_translator.py` – Orchestrates all Cosmos configuration builders.
16+
- Added support for `cosmos.yml` configuration file for advanced Cosmos features.
17+
- Added `tests/fixtures/` directory with manifest files for multiple test scenarios.
18+
19+
### Changed
20+
21+
- **BREAKING:** Dropped support for Airflow 1.x (minimum now `apache-airflow>=2.5`).
22+
- **BREAKING:** Dropped support for Python 3.8 (minimum now Python 3.9).
23+
- **MAJOR:** Replaced `dbt-graph-builder` dependency with `astronomer-cosmos>=1.10.0,<2.0`.
24+
- Rewrote `AirflowDagFactory` to use Cosmos `DbtTaskGroup` for dbt task generation.
25+
- Replaced `apache-airflow[kubernetes,slack]` with individual provider packages (no upper bounds).
26+
- Updated `apache-airflow-providers-airbyte` to remove version upper bound (auto-resolves based on Airflow version).
27+
- Migrated all uses of `DummyOperator``EmptyOperator` (Airflow 2.4+ standard).
28+
- Behavior change: `use_task_group: false` configuration is now ignored (Cosmos always uses `DbtTaskGroup`).
29+
- Behavior change: `seed_task` config is now ignored (Cosmos automatically creates seed tasks from the dbt manifest).
30+
- Rewrote test suite for Cosmos integration (50 tests passing).
31+
32+
### Removed
33+
34+
- **MAJOR:** Removed custom task builder implementations (~900 lines total):
35+
- Deleted modules `tasks_builder/`, `k8s/`, `ecs/`, `bash/`, `operator.py`, `dbt_parameters.py`, `builder_factory.py`, and `tasks.py`.
36+
- **Dependency:** Removed `dbt-graph-builder`; added `astronomer-cosmos`.
37+
- Removed ECS execution (`type: ecs` in `execution_env.yml`) due to Cosmos 1.10 limitation.
38+
Use `type: k8s` or `type: docker` instead.
39+
40+
### Improvements
41+
42+
- Added support for Airflow 2.5–2.11 (previously 2.x only).
43+
- Added support for dbt 1.7–1.10 via Cosmos peer dependency.
44+
- Reduced total codebase size by ~600 lines (simplified architecture).
45+
- Focused the project solely on orchestration; delegated dbt execution to Cosmos.
46+
- Improved Airflow UI with model-level task visibility (Cosmos feature).
47+
- Expanded execution options: Kubernetes, Local, Docker, and VirtualEnv modes.
48+
549
## [0.36.0] - 2025-12-01
650

751
- Add `Google Chat` notifications handler
@@ -161,7 +205,9 @@ This version brings compatibility with `dbt 1.0`.
161205

162206
- Initial implementation of `dbt_airflow_manifest_parser` library.
163207

164-
[Unreleased]: https://github.com/getindata/dbt-airflow-factory/compare/0.36.0...HEAD
208+
[Unreleased]: https://github.com/getindata/dbt-airflow-factory/compare/1.0.0...HEAD
209+
210+
[1.0.0]: https://github.com/getindata/dbt-airflow-factory/compare/0.36.0...1.0.0
165211

166212
[0.36.0]: https://github.com/getindata/dbt-airflow-factory/compare/0.35.0...0.36.0
167213

0 commit comments

Comments
 (0)