Skip to content
Open
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
4 changes: 2 additions & 2 deletions airflow-core/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ requires = [
"pluggy==1.6.0",
"smmap==5.0.3",
"tomli==2.4.1; python_version < '3.11'",
"trove-classifiers==2026.4.28.13",
"trove-classifiers==2026.5.7.17",
]
build-backend = "hatchling.build"

Expand Down Expand Up @@ -74,7 +74,7 @@ dependencies = [
# is not compatible with it and leaves thread hanging This is already fixed in main of sqlalchemy
# But not released yet - and we will likely have to add >=2.0.46+ for sqlalchemy when released to
# protect against it https://github.com/sqlalchemy/sqlalchemy/issues/13039
"aiosqlite>=0.20.0,<0.22.0",
"aiosqlite>=0.20.0,<0.23.0",
# Alembic is important to handle our migrations in predictable and performant way. It is developed
# together with SQLAlchemy. Our experience with Alembic is that it very stable in minor version
# The 1.13.0 of alembic marked some migration code as SQLAlchemy 2+ only so we limit it to 1.13.1
Expand Down
4 changes: 2 additions & 2 deletions airflow-ctl/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ requires = [
"pathspec==1.1.1",
"pluggy==1.6.0",
"tomli==2.4.1; python_version < '3.11'",
"trove-classifiers==2026.4.28.13",
"trove-classifiers==2026.5.7.17",
]
build-backend = "hatchling.build"

Expand Down Expand Up @@ -148,7 +148,7 @@ dev = [
"apache-airflow-devel-common",
]
codegen = [
"datamodel-code-generator[http]==0.33.0",
"datamodel-code-generator[http]==0.57.0",
"apache-airflow-devel-common"
]

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: v2-simple-auth-manager-generated.yaml
# version: 0.33.0
# version: 0.57.0

from __future__ import annotations

Expand Down
371 changes: 184 additions & 187 deletions airflow-ctl/src/airflowctl/api/datamodels/generated.py

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions task-sdk/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ requires = [
"pathspec==1.1.1",
"pluggy==1.6.0",
"tomli==2.4.1; python_version < '3.11'",
"trove-classifiers==2026.4.28.13",
"trove-classifiers==2026.5.7.17",
]
build-backend = "hatchling.build"

Expand Down Expand Up @@ -210,7 +210,7 @@ exclude_also = [

[dependency-groups]
codegen = [
"datamodel-code-generator[http]==0.33.0",
"datamodel-code-generator[http]==0.57.0",
"openapi-spec-validator>=0.7.1",
"svcs>=25.1.0",
"rich>=13.6.0",
Expand Down
94 changes: 47 additions & 47 deletions task-sdk/src/airflow/sdk/api/datamodels/_generated.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: http://0.0.0.0:8080/execution/openapi.json
# version: 0.33.0
# version: 0.57.0

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
Expand Down Expand Up @@ -70,12 +70,12 @@ class ConnectionResponse(BaseModel):

conn_id: Annotated[str, Field(title="Conn Id")]
conn_type: Annotated[str, Field(title="Conn Type")]
host: Annotated[str | None, Field(title="Host")] = None
schema_: Annotated[str | None, Field(alias="schema", title="Schema")] = None
login: Annotated[str | None, Field(title="Login")] = None
password: Annotated[str | None, Field(title="Password")] = None
port: Annotated[int | None, Field(title="Port")] = None
extra: Annotated[str | None, Field(title="Extra")] = None
host: Annotated[str | None, Field(title="Host")]
schema_: Annotated[str | None, Field(alias="schema", title="Schema")]
login: Annotated[str | None, Field(title="Login")]
password: Annotated[str | None, Field(title="Password")]
port: Annotated[int | None, Field(title="Port")]
extra: Annotated[str | None, Field(title="Extra")]


class DagResponse(BaseModel):
Expand All @@ -85,12 +85,12 @@ class DagResponse(BaseModel):

dag_id: Annotated[str, Field(title="Dag Id")]
is_paused: Annotated[bool, Field(title="Is Paused")]
bundle_name: Annotated[str | None, Field(title="Bundle Name")] = None
bundle_version: Annotated[str | None, Field(title="Bundle Version")] = None
relative_fileloc: Annotated[str | None, Field(title="Relative Fileloc")] = None
owners: Annotated[str | None, Field(title="Owners")] = None
bundle_name: Annotated[str | None, Field(title="Bundle Name")]
bundle_version: Annotated[str | None, Field(title="Bundle Version")]
relative_fileloc: Annotated[str | None, Field(title="Relative Fileloc")]
owners: Annotated[str | None, Field(title="Owners")]
tags: Annotated[list[str], Field(title="Tags")]
next_dagrun: Annotated[AwareDatetime | None, Field(title="Next Dagrun")] = None
next_dagrun: Annotated[AwareDatetime | None, Field(title="Next Dagrun")]


class DagRunAssetReference(BaseModel):
Expand All @@ -103,13 +103,13 @@ class DagRunAssetReference(BaseModel):
)
run_id: Annotated[str, Field(title="Run Id")]
dag_id: Annotated[str, Field(title="Dag Id")]
logical_date: Annotated[AwareDatetime | None, Field(title="Logical Date")] = None
logical_date: Annotated[AwareDatetime | None, Field(title="Logical Date")]
start_date: Annotated[AwareDatetime, Field(title="Start Date")]
end_date: Annotated[AwareDatetime | None, Field(title="End Date")] = None
end_date: Annotated[AwareDatetime | None, Field(title="End Date")]
state: Annotated[str, Field(title="State")]
data_interval_start: Annotated[AwareDatetime | None, Field(title="Data Interval Start")] = None
data_interval_end: Annotated[AwareDatetime | None, Field(title="Data Interval End")] = None
partition_key: Annotated[str | None, Field(title="Partition Key")] = None
data_interval_start: Annotated[AwareDatetime | None, Field(title="Data Interval Start")]
data_interval_end: Annotated[AwareDatetime | None, Field(title="Data Interval End")]
partition_key: Annotated[str | None, Field(title="Partition Key")]


class DagRunState(str, Enum):
Expand Down Expand Up @@ -213,13 +213,13 @@ class TIDeferredStatePayload(BaseModel):
model_config = ConfigDict(
extra="forbid",
)
state: Annotated[Literal["deferred"] | None, Field(title="State")] = "deferred"
state: Annotated[Literal["deferred"], Field(title="State")] = "deferred"
classpath: Annotated[str, Field(title="Classpath")]
trigger_kwargs: Annotated[dict[str, JsonValue] | str | None, Field(title="Trigger Kwargs")] = None
trigger_kwargs: Annotated[dict[str, JsonValue | None] | str | None, Field(title="Trigger Kwargs")] = None
trigger_timeout: Annotated[timedelta | None, Field(title="Trigger Timeout")] = None
queue: Annotated[str | None, Field(title="Queue")] = None
next_method: Annotated[str, Field(title="Next Method")]
next_kwargs: Annotated[dict[str, JsonValue] | None, Field(title="Next Kwargs")] = None
next_kwargs: Annotated[dict[str, JsonValue | None] | None, Field(title="Next Kwargs")] = None
rendered_map_index: Annotated[str | None, Field(title="Rendered Map Index")] = None


Expand All @@ -231,7 +231,7 @@ class TIEnterRunningPayload(BaseModel):
model_config = ConfigDict(
extra="forbid",
)
state: Annotated[Literal["running"] | None, Field(title="State")] = "running"
state: Annotated[Literal["running"], Field(title="State")] = "running"
hostname: Annotated[str, Field(title="Hostname")]
unixname: Annotated[str, Field(title="Unixname")]
pid: Annotated[int, Field(title="Pid")]
Expand All @@ -258,7 +258,7 @@ class TIRescheduleStatePayload(BaseModel):
model_config = ConfigDict(
extra="forbid",
)
state: Annotated[Literal["up_for_reschedule"] | None, Field(title="State")] = "up_for_reschedule"
state: Annotated[Literal["up_for_reschedule"], Field(title="State")] = "up_for_reschedule"
reschedule_date: Annotated[AwareDatetime, Field(title="Reschedule Date")]
end_date: Annotated[AwareDatetime, Field(title="End Date")]

Expand All @@ -271,7 +271,7 @@ class TIRetryStatePayload(BaseModel):
model_config = ConfigDict(
extra="forbid",
)
state: Annotated[Literal["up_for_retry"] | None, Field(title="State")] = "up_for_retry"
state: Annotated[Literal["up_for_retry"], Field(title="State")] = "up_for_retry"
end_date: Annotated[AwareDatetime, Field(title="End Date")]
rendered_map_index: Annotated[str | None, Field(title="Rendered Map Index")] = None

Expand All @@ -295,7 +295,7 @@ class TISuccessStatePayload(BaseModel):
model_config = ConfigDict(
extra="forbid",
)
state: Annotated[Literal["success"] | None, Field(title="State")] = "success"
state: Annotated[Literal["success"], Field(title="State")] = "success"
end_date: Annotated[AwareDatetime, Field(title="End Date")]
task_outlets: Annotated[list[AssetProfile] | None, Field(title="Task Outlets")] = None
outlet_events: Annotated[list[dict[str, Any]] | None, Field(title="Outlet Events")] = None
Expand Down Expand Up @@ -402,7 +402,7 @@ class VariablePostBody(BaseModel):
model_config = ConfigDict(
extra="forbid",
)
val: Annotated[str | None, Field(title="Val")] = None
val: Annotated[str | None, Field(title="Val")]
description: Annotated[str | None, Field(title="Description")] = None


Expand All @@ -415,7 +415,7 @@ class VariableResponse(BaseModel):
extra="forbid",
)
key: Annotated[str, Field(title="Key")]
value: Annotated[str | None, Field(title="Value")] = None
value: Annotated[str | None, Field(title="Value")]


class XComResponse(BaseModel):
Expand All @@ -424,26 +424,26 @@ class XComResponse(BaseModel):
"""

key: Annotated[str, Field(title="Key")]
value: JsonValue
value: JsonValue | None


class XComSequenceIndexResponse(RootModel[JsonValue]):
class XComSequenceIndexResponse(RootModel[JsonValue | None]):
root: Annotated[
JsonValue,
JsonValue | None,
Field(
description="XCom schema with minimal structure for index-based access.",
title="XComSequenceIndexResponse",
),
]


class XComSequenceSliceResponse(RootModel[list[JsonValue]]):
class XComSequenceSliceResponse(RootModel[list[JsonValue | None]]):
"""
XCom schema with minimal structure for slice-based access.
"""

root: Annotated[
list[JsonValue],
list[JsonValue | None],
Field(
description="XCom schema with minimal structure for slice-based access.",
title="XComSequenceSliceResponse",
Expand Down Expand Up @@ -521,7 +521,7 @@ class AssetReferenceAssetEventDagRun(BaseModel):
)
name: Annotated[str, Field(title="Name")]
uri: Annotated[str, Field(title="Uri")]
extra: Annotated[dict[str, JsonValue], Field(title="Extra")]
extra: Annotated[dict[str, JsonValue | None], Field(title="Extra")]


class AssetResponse(BaseModel):
Expand All @@ -532,7 +532,7 @@ class AssetResponse(BaseModel):
name: Annotated[str, Field(title="Name")]
uri: Annotated[str, Field(title="Uri")]
group: Annotated[str, Field(title="Group")]
extra: Annotated[dict[str, JsonValue] | None, Field(title="Extra")] = None
extra: Annotated[dict[str, JsonValue | None] | None, Field(title="Extra")] = None


class HITLDetailRequest(BaseModel):
Expand All @@ -557,8 +557,8 @@ class HITLDetailResponse(BaseModel):

response_received: Annotated[bool, Field(title="Response Received")]
responded_by_user: HITLUser | None = None
responded_at: Annotated[AwareDatetime | None, Field(title="Responded At")] = None
chosen_options: Annotated[list[str] | None, Field(title="Chosen Options")] = None
responded_at: Annotated[AwareDatetime | None, Field(title="Responded At")]
chosen_options: Annotated[list[str] | None, Field(title="Chosen Options")]
params_input: Annotated[dict[str, Any] | None, Field(title="Params Input")] = None


Expand Down Expand Up @@ -588,11 +588,11 @@ class AssetEventDagRunReference(BaseModel):
extra="forbid",
)
asset: AssetReferenceAssetEventDagRun
extra: Annotated[dict[str, JsonValue], Field(title="Extra")]
source_task_id: Annotated[str | None, Field(title="Source Task Id")] = None
source_dag_id: Annotated[str | None, Field(title="Source Dag Id")] = None
source_run_id: Annotated[str | None, Field(title="Source Run Id")] = None
source_map_index: Annotated[int | None, Field(title="Source Map Index")] = None
extra: Annotated[dict[str, JsonValue | None], Field(title="Extra")]
source_task_id: Annotated[str | None, Field(title="Source Task Id")]
source_dag_id: Annotated[str | None, Field(title="Source Dag Id")]
source_run_id: Annotated[str | None, Field(title="Source Run Id")]
source_map_index: Annotated[int | None, Field(title="Source Map Index")]
source_aliases: Annotated[list[AssetAliasReferenceAssetEventDagRun], Field(title="Source Aliases")]
timestamp: Annotated[AwareDatetime, Field(title="Timestamp")]

Expand All @@ -604,7 +604,7 @@ class AssetEventResponse(BaseModel):

id: Annotated[int, Field(title="Id")]
timestamp: Annotated[AwareDatetime, Field(title="Timestamp")]
extra: Annotated[dict[str, JsonValue] | None, Field(title="Extra")] = None
extra: Annotated[dict[str, JsonValue | None] | None, Field(title="Extra")] = None
asset: AssetResponse
created_dagruns: Annotated[list[DagRunAssetReference], Field(title="Created Dagruns")]
source_task_id: Annotated[str | None, Field(title="Source Task Id")] = None
Expand Down Expand Up @@ -632,19 +632,19 @@ class DagRun(BaseModel):
)
dag_id: Annotated[str, Field(title="Dag Id")]
run_id: Annotated[str, Field(title="Run Id")]
logical_date: Annotated[AwareDatetime | None, Field(title="Logical Date")] = None
data_interval_start: Annotated[AwareDatetime | None, Field(title="Data Interval Start")] = None
data_interval_end: Annotated[AwareDatetime | None, Field(title="Data Interval End")] = None
logical_date: Annotated[AwareDatetime | None, Field(title="Logical Date")]
data_interval_start: Annotated[AwareDatetime | None, Field(title="Data Interval Start")]
data_interval_end: Annotated[AwareDatetime | None, Field(title="Data Interval End")]
run_after: Annotated[AwareDatetime, Field(title="Run After")]
start_date: Annotated[AwareDatetime | None, Field(title="Start Date")] = None
end_date: Annotated[AwareDatetime | None, Field(title="End Date")] = None
start_date: Annotated[AwareDatetime | None, Field(title="Start Date")]
end_date: Annotated[AwareDatetime | None, Field(title="End Date")]
clear_number: Annotated[int | None, Field(title="Clear Number")] = 0
run_type: DagRunType
state: DagRunState
conf: Annotated[dict[str, Any] | None, Field(title="Conf")] = None
triggering_user_name: Annotated[str | None, Field(title="Triggering User Name")] = None
consumed_asset_events: Annotated[list[AssetEventDagRunReference], Field(title="Consumed Asset Events")]
partition_key: Annotated[str | None, Field(title="Partition Key")] = None
partition_key: Annotated[str | None, Field(title="Partition Key")]
note: Annotated[str | None, Field(title="Note")] = None


Expand Down
15 changes: 7 additions & 8 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading