Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ repos:
hooks:
- id: pyupgrade
args:
- --py37-plus
- --py310-plus
- --keep-runtime-typing
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.14.7
Expand Down
3 changes: 2 additions & 1 deletion cosmos/_triggers/watcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
import base64
import json
import zlib
from typing import Any, AsyncIterator
from collections.abc import AsyncIterator
from typing import Any

from airflow.triggers.base import BaseTrigger, TriggerEvent
from asgiref.sync import sync_to_async
Expand Down
3 changes: 2 additions & 1 deletion cosmos/_utils/importer.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import importlib
from typing import Any, Callable
from collections.abc import Callable
from typing import Any


def load_method_from_module(module_path: str, method_name: str) -> Callable[..., Any]:
Expand Down
3 changes: 2 additions & 1 deletion cosmos/airflow/graph.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from __future__ import annotations

from collections import OrderedDict, defaultdict
from collections.abc import Callable
from copy import deepcopy
from typing import Any, Callable
from typing import Any

try: # Airflow 3
from airflow.sdk.bases.operator import BaseOperator
Expand Down
3 changes: 2 additions & 1 deletion cosmos/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,10 @@
import shutil
import tempfile
import warnings
from collections.abc import Callable, Iterator
from dataclasses import InitVar, dataclass, field
from pathlib import Path
from typing import TYPE_CHECKING, Any, Callable, Iterator
from typing import TYPE_CHECKING, Any

import yaml
from airflow.version import version as airflow_version
Expand Down
2 changes: 1 addition & 1 deletion cosmos/constants.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os
from collections.abc import Callable
from enum import Enum
from pathlib import Path
from typing import Callable

import aenum
import airflow
Expand Down
3 changes: 2 additions & 1 deletion cosmos/converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@
import os
import platform
import time
from typing import Any, Callable
from collections.abc import Callable
from typing import Any
from warnings import warn

from airflow.models.dag import DAG
Expand Down
2 changes: 1 addition & 1 deletion cosmos/dbt/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

import os
import shutil
from collections.abc import Generator
from contextlib import contextmanager
from pathlib import Path
from typing import Generator

import yaml

Expand Down
3 changes: 2 additions & 1 deletion cosmos/dbt/runner.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from __future__ import annotations

import sys
from collections.abc import Callable
from functools import lru_cache
from typing import TYPE_CHECKING, Any, Callable
from typing import TYPE_CHECKING, Any

from cosmos.dbt.project import change_working_directory, environ
from cosmos.exceptions import CosmosDbtRunError
Expand Down
3 changes: 2 additions & 1 deletion cosmos/hooks/subprocess.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,10 @@
import contextlib
import os
import signal
from collections.abc import Callable
from subprocess import PIPE, STDOUT, Popen
from tempfile import TemporaryDirectory, gettempdir
from typing import Any, Callable, NamedTuple
from typing import Any, NamedTuple

try:
# Airflow 3.1 onwards
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/_asynchronous/bigquery.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
import base64
import time
import zlib
from collections.abc import Sequence
from pathlib import Path
from typing import TYPE_CHECKING, Any, Sequence
from typing import TYPE_CHECKING, Any

from cosmos.operators.base import _sanitize_xcom_key

Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/_watcher/state.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
from __future__ import annotations

import logging
from collections.abc import Callable
from threading import Lock
from typing import Any, Callable
from typing import Any

try:
from airflow.sdk.types import RuntimeTaskInstanceProtocol as TaskInstance
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/aws_ecs.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from __future__ import annotations

import inspect
from typing import TYPE_CHECKING, Any, Callable, Sequence
from collections.abc import Callable, Sequence
from typing import TYPE_CHECKING, Any

if TYPE_CHECKING: # pragma: no cover
try:
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/aws_eks.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from __future__ import annotations

from typing import TYPE_CHECKING, Any, Sequence
from collections.abc import Sequence
from typing import TYPE_CHECKING, Any

from airflow.exceptions import AirflowException
from airflow.providers.amazon.aws.hooks.eks import EksHook
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/azure_container_instance.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from __future__ import annotations

import inspect
from typing import TYPE_CHECKING, Any, Callable, Sequence
from collections.abc import Callable, Sequence
from typing import TYPE_CHECKING, Any

try:
from airflow.sdk.bases.operator import BaseOperator # Airflow 3
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@
import logging
import os
from abc import ABCMeta, abstractmethod
from collections.abc import Sequence
from pathlib import Path
from typing import TYPE_CHECKING, Any, Sequence
from typing import TYPE_CHECKING, Any

import yaml
from airflow.utils.context import context_merge
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/docker.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from __future__ import annotations

import inspect
from typing import TYPE_CHECKING, Any, Callable, Sequence
from collections.abc import Callable, Sequence
from typing import TYPE_CHECKING, Any

try:
from airflow.sdk.bases.operator import BaseOperator # Airflow 3
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/gcp_cloud_run_job.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
from __future__ import annotations

import inspect
from typing import TYPE_CHECKING, Any, Callable, Sequence
from collections.abc import Callable, Sequence
from typing import TYPE_CHECKING, Any

if TYPE_CHECKING: # pragma: no cover
try:
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/kubernetes.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
import inspect
import re
from abc import ABC
from collections.abc import Callable, Sequence
from os import PathLike
from typing import TYPE_CHECKING, Any, Callable, Sequence
from typing import TYPE_CHECKING, Any

import kubernetes.client as k8s
from airflow.providers.cncf.kubernetes.backcompat.backwards_compat_converters import (
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/local.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,10 @@
import warnings
import zlib
from abc import ABC, abstractmethod
from collections.abc import Callable, Sequence
from functools import cached_property
from pathlib import Path
from typing import TYPE_CHECKING, Any, Callable, Literal, Sequence
from typing import TYPE_CHECKING, Any, Literal
from urllib.parse import urlparse

import jinja2
Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/virtualenv.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
import os
import shutil
import time
from collections.abc import Callable, Sequence
from pathlib import Path
from tempfile import TemporaryDirectory
from typing import TYPE_CHECKING, Any, Callable, Sequence
from typing import TYPE_CHECKING, Any

import psutil

Expand Down
3 changes: 2 additions & 1 deletion cosmos/operators/watcher.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
import json
import logging
import zlib
from collections.abc import Callable
from datetime import timedelta
from pathlib import Path
from typing import TYPE_CHECKING, Any, Callable
from typing import TYPE_CHECKING, Any

from cosmos._triggers.watcher import WatcherTrigger, _parse_compressed_xcom
from cosmos.operators._watcher.state import get_xcom_val, safe_xcom_push
Expand Down
3 changes: 2 additions & 1 deletion cosmos/plugin/airflow3.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
import logging
import os
import os.path as op
from collections.abc import Generator
from contextlib import contextmanager
from typing import Any, Generator
from typing import Any
from unittest.mock import patch
from urllib.parse import urlsplit

Expand Down
4 changes: 2 additions & 2 deletions cosmos/profiles/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from __future__ import annotations

from typing import Any, Type
from typing import Any

from .athena import AthenaAccessKeyProfileMapping
from .base import BaseProfileMapping, DbtProfileConfigVars
Expand Down Expand Up @@ -30,7 +30,7 @@
from .trino.ldap import TrinoLDAPProfileMapping
from .vertica.user_pass import VerticaUserPasswordProfileMapping

profile_mappings: list[Type[BaseProfileMapping]] = [
profile_mappings: list[type[BaseProfileMapping]] = [
AthenaAccessKeyProfileMapping,
ClickhouseUserPasswordProfileMapping,
GoogleCloudServiceAccountFileProfileMapping,
Expand Down
3 changes: 1 addition & 2 deletions docs/generate_mappings.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@

import os
from dataclasses import dataclass
from typing import Type

from jinja2 import Environment, FileSystemLoader

Expand All @@ -22,7 +21,7 @@ class Field:
airflow_name: str | list[str] | None = None


def get_fields_from_mapping(mapping: Type[BaseProfileMapping]) -> list[Field]:
def get_fields_from_mapping(mapping: type[BaseProfileMapping]) -> list[Field]:
"""
Generates Field objects from a profile mapping.
"""
Expand Down
3 changes: 1 addition & 2 deletions tests/dbt/parser/test_project.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from dataclasses import dataclass
from pathlib import Path
from tempfile import NamedTemporaryFile
from typing import List
from unittest.mock import patch

import pytest
Expand Down Expand Up @@ -155,7 +154,7 @@ class KeywordArgValueStr(KeywordArgValue, str):
@dataclass
class KeywordArg:
key: str
value: KeywordArgValue | List
value: KeywordArgValue | list


def test_dbtmodelconfig_extract_config_non_kwarg():
Expand Down
2 changes: 1 addition & 1 deletion tests/perf/test_performance.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@

import os
import time
from collections.abc import Generator
from contextlib import contextmanager
from functools import cache
from pathlib import Path
from typing import Generator

import pytest
from airflow.models.dagbag import DagBag
Expand Down