diff --git a/.gitignore b/.gitignore
index 13381d5..5c828cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -179,3 +179,6 @@ project_resources/
# Ruff
.ruff_cache/
+
+# Airflow
+AIRFLOW_HOME/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7a1acfe..961f288 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -1,13 +1,13 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
- rev: v0.1.11
+ rev: v0.11.8
hooks:
- id: ruff
args: [--fix]
- id: ruff-format
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v4.5.0
+ rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
diff --git a/README.md b/README.md
index bc7de51..557d4d2 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,6 @@
-
## Overview
A [Model Context Protocol](https://modelcontextprotocol.io/) server for controlling Airflow via Airflow APIs.
@@ -14,7 +13,6 @@ A [Model Context Protocol](https://modelcontextprotocol.io/) server for controll
https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705
-
## Setup
### Usage with Claude Desktop
@@ -28,17 +26,19 @@ https://github.com/user-attachments/assets/f3e60fff-8680-4dd9-b08e-fa7db655a705
"airflow-mcp-server"
],
"env": {
- "AIRFLOW_BASE_URL": "http:///api/v1",
- // Either use AUTH_TOKEN for basic auth
- "AUTH_TOKEN": "",
- // Or use COOKIE for cookie-based auth
- "COOKIE": ""
+ "AIRFLOW_BASE_URL": "http://",
+ "AUTH_TOKEN": ""
}
}
}
}
```
+> **Note:**
+> - Set `AIRFLOW_BASE_URL` to the root Airflow URL (e.g., `http://localhost:8080`).
+> - Do **not** include `/api/v2` in the base URL. The server will automatically fetch the OpenAPI spec from `${AIRFLOW_BASE_URL}/openapi.json`.
+> - Only `AUTH_TOKEN` (JWT) is required for authentication. Cookie and basic auth are no longer supported in Airflow 3.0.
+
### Operation Modes
The server supports two operation modes:
@@ -59,18 +59,12 @@ airflow-mcp-server --unsafe
### Considerations
The MCP Server expects environment variables to be set:
-- `AIRFLOW_BASE_URL`: The base URL of the Airflow API
-- `AUTH_TOKEN`: The token to use for basic auth (_This should be base64 encoded username:password_) (_Optional if COOKIE is provided_)
-- `COOKIE`: The session cookie to use for authentication (_Optional if AUTH_TOKEN is provided_)
-- `OPENAPI_SPEC`: The path to the OpenAPI spec file (_Optional_) (_defaults to latest stable release_)
+- `AIRFLOW_BASE_URL`: The root URL of the Airflow instance (e.g., `http://localhost:8080`)
+- `AUTH_TOKEN`: The JWT access token for authentication
**Authentication**
-The server supports two authentication methods:
-- **Basic Auth**: Using base64 encoded username:password via `AUTH_TOKEN` environment variable
-- **Cookie**: Using session cookie via `COOKIE` environment variable
-
-At least one of these authentication methods must be provided.
+- Only JWT authentication is supported in Airflow 3.0. You must provide a valid `AUTH_TOKEN`.
**Page Limit**
@@ -78,10 +72,9 @@ The default is 100 items, but you can change it using `maximum_page_limit` optio
## Tasks
-- [x] First API
+- [x] Airflow 3 readiness
- [x] Parse OpenAPI Spec
- [x] Safe/Unsafe mode implementation
-- [x] Allow session auth
-- [ ] Parse proper description with list_tools.
-- [ ] Airflow config fetch (_specifically for page limit_)
+- [x] Parse proper description with list_tools.
+- [x] Airflow config fetch (_specifically for page limit_)
- [ ] Env variables optional (_env variables might not be ideal for airflow plugins_)
diff --git a/pyproject.toml b/pyproject.toml
index fbf5e34..a6254e3 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "airflow-mcp-server"
-version = "0.5.0"
+version = "0.6.0"
description = "MCP Server for Airflow"
readme = "README.md"
requires-python = ">=3.11"
@@ -12,10 +12,11 @@ dependencies = [
"aiohttp>=3.11.11",
"aioresponses>=0.7.7",
"importlib-resources>=6.5.0",
- "mcp>=1.2.0",
+ "mcp>=1.7.1",
"openapi-core>=0.19.4",
- "pydantic>=2.10.5",
+ "pydantic>=2.11.4",
"pyyaml>=6.0.0",
+ "packaging>=25.0",
]
classifiers = [
"Development Status :: 3 - Alpha",
@@ -58,7 +59,6 @@ exclude = [
[tool.hatch.build.targets.wheel]
packages = ["src/airflow_mcp_server"]
-package-data = {"airflow_mcp_server"= ["*.yaml"]}
[tool.hatch.build.targets.wheel.sources]
"src/airflow_mcp_server" = "airflow_mcp_server"
diff --git a/src/airflow_mcp_server/__init__.py b/src/airflow_mcp_server/__init__.py
index 4f860f2..b7ead8f 100644
--- a/src/airflow_mcp_server/__init__.py
+++ b/src/airflow_mcp_server/__init__.py
@@ -15,10 +15,8 @@ from airflow_mcp_server.server_unsafe import serve as serve_unsafe
@click.option("--safe", "-s", is_flag=True, help="Use only read-only tools")
@click.option("--unsafe", "-u", is_flag=True, help="Use all tools (default)")
@click.option("--base-url", help="Airflow API base URL")
-@click.option("--spec-path", help="Path to OpenAPI spec file")
-@click.option("--auth-token", help="Authentication token")
-@click.option("--cookie", help="Session cookie")
-def main(verbose: int, safe: bool, unsafe: bool, base_url: str = None, spec_path: str = None, auth_token: str = None, cookie: str = None) -> None:
+@click.option("--auth-token", help="Authentication token (JWT)")
+def main(verbose: int, safe: bool, unsafe: bool, base_url: str = None, auth_token: str = None) -> None:
"""MCP server for Airflow"""
logging_level = logging.WARN
if verbose == 1:
@@ -29,22 +27,18 @@ def main(verbose: int, safe: bool, unsafe: bool, base_url: str = None, spec_path
logging.basicConfig(level=logging_level, stream=sys.stderr)
# Read environment variables with proper precedence
- # Environment variables take precedence over CLI arguments
config_base_url = os.environ.get("AIRFLOW_BASE_URL") or base_url
- config_spec_path = os.environ.get("OPENAPI_SPEC") or spec_path
config_auth_token = os.environ.get("AUTH_TOKEN") or auth_token
- config_cookie = os.environ.get("COOKIE") or cookie
# Initialize configuration
try:
- config = AirflowConfig(base_url=config_base_url, spec_path=config_spec_path, auth_token=config_auth_token, cookie=config_cookie)
+ config = AirflowConfig(base_url=config_base_url, auth_token=config_auth_token)
except ValueError as e:
click.echo(f"Configuration error: {e}", err=True)
sys.exit(1)
# Determine server mode with proper precedence
if safe and unsafe:
- # CLI argument validation
raise click.UsageError("Options --safe and --unsafe are mutually exclusive")
elif safe:
# CLI argument for safe mode
diff --git a/src/airflow_mcp_server/client/airflow_client.py b/src/airflow_mcp_server/client/airflow_client.py
index e1e5117..e3c6fd3 100644
--- a/src/airflow_mcp_server/client/airflow_client.py
+++ b/src/airflow_mcp_server/client/airflow_client.py
@@ -1,11 +1,7 @@
import logging
import re
-from pathlib import Path
-from types import SimpleNamespace
-from typing import Any, BinaryIO, TextIO
-import aiohttp
-import yaml
+import httpx
from jsonschema_path import SchemaPath
from openapi_core import OpenAPI
from openapi_core.validation.request.validators import V31RequestValidator
@@ -29,148 +25,95 @@ def convert_dict_keys(d: dict) -> dict:
class AirflowClient:
- """Client for interacting with Airflow API."""
+ """Async client for interacting with Airflow API."""
def __init__(
self,
- spec_path: Path | str | dict | bytes | BinaryIO | TextIO,
base_url: str,
- auth_token: str | None = None,
- cookie: str | None = None,
+ auth_token: str,
) -> None:
"""Initialize Airflow client.
Args:
- spec_path: OpenAPI spec as file path, dict, bytes, or file object
base_url: Base URL for API
- auth_token: Authentication token (optional if cookie is provided)
- cookie: Session cookie (optional if auth_token is provided)
+ auth_token: Authentication token (JWT)
Raises:
- ValueError: If spec_path is invalid or spec cannot be loaded or if neither auth_token nor cookie is provided
+ ValueError: If required configuration is missing or OpenAPI spec cannot be loaded
"""
- if not auth_token and not cookie:
- raise ValueError("Either auth_token or cookie must be provided")
- try:
- # Load and parse OpenAPI spec
- if isinstance(spec_path, dict):
- self.raw_spec = spec_path
- elif isinstance(spec_path, bytes):
- self.raw_spec = yaml.safe_load(spec_path)
- elif isinstance(spec_path, str | Path):
- with open(spec_path) as f:
- self.raw_spec = yaml.safe_load(f)
- elif hasattr(spec_path, "read"):
- content = spec_path.read()
- if isinstance(content, bytes):
- self.raw_spec = yaml.safe_load(content)
- else:
- self.raw_spec = yaml.safe_load(content)
- else:
- raise ValueError("Invalid spec_path type. Expected Path, str, dict, bytes or file-like object")
+ if not base_url:
+ raise ValueError("Missing required configuration: base_url")
+ if not auth_token:
+ raise ValueError("Missing required configuration: auth_token (JWT)")
+ self.base_url = base_url
+ self.auth_token = auth_token
+ self.headers = {"Authorization": f"Bearer {self.auth_token}"}
+ self._client: httpx.AsyncClient | None = None
+ self.raw_spec = None
+ self.spec = None
+ self._paths = None
+ self._validator = None
- # Validate spec has required fields
- if not isinstance(self.raw_spec, dict):
- raise ValueError("OpenAPI spec must be a dictionary")
-
- required_fields = ["openapi", "info", "paths"]
- for field in required_fields:
- if field not in self.raw_spec:
- raise ValueError(f"OpenAPI spec missing required field: {field}")
-
- # Validate OpenAPI spec format
- validate(self.raw_spec)
-
- # Initialize OpenAPI spec
- self.spec = OpenAPI.from_dict(self.raw_spec)
- logger.debug("OpenAPI spec loaded successfully")
-
- # Debug raw spec
- logger.debug("Raw spec keys: %s", self.raw_spec.keys())
-
- # Get paths from raw spec
- if "paths" not in self.raw_spec:
- raise ValueError("OpenAPI spec does not contain paths information")
- self._paths = self.raw_spec["paths"]
- logger.debug("Using raw spec paths")
-
- # Initialize request validator with schema path
- schema_path = SchemaPath.from_dict(self.raw_spec)
- self._validator = V31RequestValidator(schema_path)
-
- # API configuration
- self.base_url = base_url.rstrip("/")
- self.headers = {"Accept": "application/json"}
-
- # Set authentication header based on precedence (cookie > auth_token)
- if cookie:
- self.headers["Cookie"] = cookie
- elif auth_token:
- self.headers["Authorization"] = f"Basic {auth_token}"
-
- except Exception as e:
- logger.error("Failed to initialize AirflowClient: %s", e)
- raise ValueError(f"Failed to initialize client: {e}")
-
- async def __aenter__(self) -> "AirflowClient":
- self._session = aiohttp.ClientSession(headers=self.headers)
+ async def __aenter__(self):
+ self._client = httpx.AsyncClient(headers=self.headers)
+ await self._initialize_spec()
return self
- async def __aexit__(self, *exc) -> None:
- if hasattr(self, "_session"):
- await self._session.close()
- delattr(self, "_session")
+ async def __aexit__(self, exc_type, exc, tb):
+ if self._client:
+ await self._client.aclose()
+ self._client = None
- def _get_operation(self, operation_id: str) -> tuple[str, str, SimpleNamespace]:
- """Get operation details from OpenAPI spec.
+ async def _initialize_spec(self):
+ openapi_url = f"{self.base_url.rstrip('/')}/openapi.json"
+ self.raw_spec = await self._fetch_openapi_spec(openapi_url)
+ if not isinstance(self.raw_spec, dict):
+ raise ValueError("OpenAPI spec must be a dictionary")
+ required_fields = ["openapi", "info", "paths"]
+ for field in required_fields:
+ if field not in self.raw_spec:
+ raise ValueError(f"OpenAPI spec missing required field: {field}")
+ validate(self.raw_spec)
+ self.spec = OpenAPI.from_dict(self.raw_spec)
+ logger.debug("OpenAPI spec loaded successfully")
+ if "paths" not in self.raw_spec:
+ raise ValueError("OpenAPI spec does not contain paths information")
+ self._paths = self.raw_spec["paths"]
+ logger.debug("Using raw spec paths")
+ schema_path = SchemaPath.from_dict(self.raw_spec)
+ self._validator = V31RequestValidator(schema_path)
- Args:
- operation_id: The operation ID to look up
-
- Returns:
- Tuple of (path, method, operation) where operation is a SimpleNamespace object
-
- Raises:
- ValueError: If operation not found
- """
+ async def _fetch_openapi_spec(self, url: str) -> dict:
+ if not self._client:
+ self._client = httpx.AsyncClient(headers=self.headers)
try:
- # Debug the paths structure
- logger.debug("Looking for operation %s in paths", operation_id)
+ response = await self._client.get(url)
+ response.raise_for_status()
+ except httpx.RequestError as e:
+ raise ValueError(f"Failed to fetch OpenAPI spec from {url}: {e}")
+ return response.json()
- for path, path_item in self._paths.items():
- for method, operation_data in path_item.items():
- # Skip non-operation fields
- if method.startswith("x-") or method == "parameters":
- continue
+ def _get_operation(self, operation_id: str):
+ """Get operation details from OpenAPI spec."""
+ for path, path_item in self._paths.items():
+ for method, operation_data in path_item.items():
+ if method.startswith("x-") or method == "parameters":
+ continue
+ if operation_data.get("operationId") == operation_id:
+ converted_data = convert_dict_keys(operation_data)
+ from types import SimpleNamespace
- # Debug each operation
- logger.debug("Checking %s %s: %s", method, path, operation_data.get("operationId"))
+ operation_obj = SimpleNamespace(**converted_data)
+ return path, method, operation_obj
+ raise ValueError(f"Operation {operation_id} not found in spec")
- if operation_data.get("operationId") == operation_id:
- logger.debug("Found operation %s at %s %s", operation_id, method, path)
- # Convert keys to snake_case and create object
- converted_data = convert_dict_keys(operation_data)
- operation_obj = SimpleNamespace(**converted_data)
- return path, method, operation_obj
-
- raise ValueError(f"Operation {operation_id} not found in spec")
- except Exception as e:
- logger.error("Error getting operation %s: %s", operation_id, e)
- raise
-
- def _validate_path_params(self, path: str, params: dict[str, Any] | None) -> None:
+ def _validate_path_params(self, path: str, params: dict | None) -> None:
if not params:
params = {}
-
- # Extract path parameter names from the path
path_params = set(re.findall(r"{([^}]+)}", path))
-
- # Check for missing required parameters
missing_params = path_params - set(params.keys())
if missing_params:
raise ValueError(f"Missing required path parameters: {missing_params}")
-
- # Check for invalid parameters
invalid_params = set(params.keys()) - path_params
if invalid_params:
raise ValueError(f"Invalid path parameters: {invalid_params}")
@@ -178,77 +121,42 @@ class AirflowClient:
async def execute(
self,
operation_id: str,
- path_params: dict[str, Any] | None = None,
- query_params: dict[str, Any] | None = None,
- body: dict[str, Any] | None = None,
- ) -> Any:
- """Execute an API operation.
-
- Args:
- operation_id: Operation ID from OpenAPI spec
- path_params: URL path parameters
- query_params: URL query parameters
- body: Request body data
-
- Returns:
- API response data
-
- Raises:
- ValueError: If operation not found
- RuntimeError: If used outside async context
- aiohttp.ClientError: For HTTP/network errors
- """
- if not hasattr(self, "_session") or not self._session:
+ path_params: dict = None,
+ query_params: dict = None,
+ body: dict = None,
+ ) -> dict:
+ """Execute an API operation."""
+ if not self._client:
raise RuntimeError("Client not in async context")
-
+ # Default all params to empty dict if None
+ path_params = path_params or {}
+ query_params = query_params or {}
+ body = body or {}
+ path, method, _ = self._get_operation(operation_id)
+ self._validate_path_params(path, path_params)
+ if path_params:
+ path = path.format(**path_params)
+ url = f"{self.base_url.rstrip('/')}{path}"
+ request_headers = self.headers.copy()
+ if body:
+ request_headers["Content-Type"] = "application/json"
try:
- # Get operation details
- path, method, _ = self._get_operation(operation_id)
-
- # Validate path parameters
- self._validate_path_params(path, path_params)
-
- # Format URL
- if path_params:
- path = path.format(**path_params)
- url = f"{self.base_url}{path}"
-
- logger.debug("Executing %s %s", method, url)
- logger.debug("Request body: %s", body)
- logger.debug("Request query params: %s", query_params)
-
- # Dynamically set headers based on presence of body
- request_headers = self.headers.copy()
- if body is not None:
- request_headers["Content-Type"] = "application/json"
- # Make request
- async with self._session.request(
- method=method,
+ response = await self._client.request(
+ method=method.upper(),
url=url,
params=query_params,
json=body,
- ) as response:
- response.raise_for_status()
- content_type = response.headers.get("Content-Type", "").lower()
- # Status codes that typically have no body
- no_body_statuses = {204}
- if response.status in no_body_statuses:
- if content_type and "application/json" in content_type:
- logger.warning("Unexpected JSON body with status %s", response.status)
- return await response.json() # Parse if present, though rare
- logger.debug("Received %s response with no body", response.status)
- return response.status
- # For statuses expecting a body, check mimetype
- if "application/json" in content_type:
- logger.debug("Response: %s", await response.text())
- return await response.json()
- # Unexpected mimetype with body
- response_text = await response.text()
- logger.error("Unexpected mimetype %s for status %s: %s", content_type, response.status, response_text)
- raise ValueError(f"Cannot parse response with mimetype {content_type} as JSON")
-
- except aiohttp.ClientError as e:
- logger.error("Error executing operation %s: %s", operation_id, e)
+ headers=request_headers,
+ )
+ response.raise_for_status()
+ content_type = response.headers.get("content-type", "").lower()
+ if response.status_code == 204:
+ return response.status_code
+ if "application/json" in content_type:
+ return response.json()
+ return {"content": await response.aread()}
+ except httpx.HTTPStatusError as e:
+ logger.error("HTTP error executing operation %s: %s", operation_id, e)
raise
except Exception as e:
logger.error("Error executing operation %s: %s", operation_id, e)
diff --git a/src/airflow_mcp_server/config.py b/src/airflow_mcp_server/config.py
index f3bb9d2..04cf646 100644
--- a/src/airflow_mcp_server/config.py
+++ b/src/airflow_mcp_server/config.py
@@ -1,14 +1,12 @@
class AirflowConfig:
"""Centralized configuration for Airflow MCP server."""
- def __init__(self, base_url: str | None = None, spec_path: str | None = None, auth_token: str | None = None, cookie: str | None = None) -> None:
+ def __init__(self, base_url: str | None = None, auth_token: str | None = None) -> None:
"""Initialize configuration with provided values.
Args:
base_url: Airflow API base URL
- spec_path: Path to OpenAPI spec file
- auth_token: Authentication token
- cookie: Session cookie
+ auth_token: Authentication token (JWT)
Raises:
ValueError: If required configuration is missing
@@ -17,9 +15,6 @@ class AirflowConfig:
if not self.base_url:
raise ValueError("Missing required configuration: base_url")
- self.spec_path = spec_path
self.auth_token = auth_token
- self.cookie = cookie
-
- if not self.auth_token and not self.cookie:
- raise ValueError("Either auth_token or cookie must be provided")
+ if not self.auth_token:
+ raise ValueError("Missing required configuration: auth_token (JWT)")
diff --git a/src/airflow_mcp_server/resources/v1.yaml b/src/airflow_mcp_server/resources/v1.yaml
deleted file mode 100644
index 55a0b60..0000000
--- a/src/airflow_mcp_server/resources/v1.yaml
+++ /dev/null
@@ -1,6161 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
----
-openapi: 3.0.3
-
-info:
- title: "Airflow API (Stable)"
- description: |
- # Overview
-
- To facilitate management, Apache Airflow supports a range of REST API endpoints across its
- objects.
- This section provides an overview of the API design, methods, and supported use cases.
-
- Most of the endpoints accept `JSON` as input and return `JSON` responses.
- This means that you must usually add the following headers to your request:
- ```
- Content-type: application/json
- Accept: application/json
- ```
-
- ## Resources
-
- The term `resource` refers to a single type of object in the Airflow metadata. An API is broken up by its
- endpoint's corresponding resource.
- The name of a resource is typically plural and expressed in camelCase. Example: `dagRuns`.
-
- Resource names are used as part of endpoint URLs, as well as in API parameters and responses.
-
- ## CRUD Operations
-
- The platform supports **C**reate, **R**ead, **U**pdate, and **D**elete operations on most resources.
- You can review the standards for these operations and their standard parameters below.
-
- Some endpoints have special behavior as exceptions.
-
- ### Create
-
- To create a resource, you typically submit an HTTP `POST` request with the resource's required metadata
- in the request body.
- The response returns a `201 Created` response code upon success with the resource's metadata, including
- its internal `id`, in the response body.
-
- ### Read
-
- The HTTP `GET` request can be used to read a resource or to list a number of resources.
-
- A resource's `id` can be submitted in the request parameters to read a specific resource.
- The response usually returns a `200 OK` response code upon success, with the resource's metadata in
- the response body.
-
- If a `GET` request does not include a specific resource `id`, it is treated as a list request.
- The response usually returns a `200 OK` response code upon success, with an object containing a list
- of resources' metadata in the response body.
-
- When reading resources, some common query parameters are usually available. e.g.:
- ```
- v1/connections?limit=25&offset=25
- ```
-
- |Query Parameter|Type|Description|
- |---------------|----|-----------|
- |limit|integer|Maximum number of objects to fetch. Usually 25 by default|
- |offset|integer|Offset after which to start returning objects. For use with limit query parameter.|
-
- ### Update
-
- Updating a resource requires the resource `id`, and is typically done using an HTTP `PATCH` request,
- with the fields to modify in the request body.
- The response usually returns a `200 OK` response code upon success, with information about the modified
- resource in the response body.
-
- ### Delete
-
- Deleting a resource requires the resource `id` and is typically executed via an HTTP `DELETE` request.
- The response usually returns a `204 No Content` response code upon success.
-
- ## Conventions
-
- - Resource names are plural and expressed in camelCase.
- - Names are consistent between URL parameter name and field name.
-
- - Field names are in snake_case.
- ```json
- {
- "description": "string",
- "name": "string",
- "occupied_slots": 0,
- "open_slots": 0
- "queued_slots": 0,
- "running_slots": 0,
- "scheduled_slots": 0,
- "slots": 0,
- }
- ```
-
- ### Update Mask
-
- Update mask is available as a query parameter in patch endpoints. It is used to notify the
- API which fields you want to update. Using `update_mask` makes it easier to update objects
- by helping the server know which fields to update in an object instead of updating all fields.
- The update request ignores any fields that aren't specified in the field mask, leaving them with
- their current values.
-
- Example:
- ```
- resource = request.get('/resource/my-id').json()
- resource['my_field'] = 'new-value'
- request.patch('/resource/my-id?update_mask=my_field', data=json.dumps(resource))
- ```
-
- ## Versioning and Endpoint Lifecycle
-
- - API versioning is not synchronized to specific releases of the Apache Airflow.
- - APIs are designed to be backward compatible.
- - Any changes to the API will first go through a deprecation phase.
-
- # Trying the API
-
- You can use a third party client, such as [curl](https://curl.haxx.se/), [HTTPie](https://httpie.org/),
- [Postman](https://www.postman.com/) or [the Insomnia rest client](https://insomnia.rest/) to test
- the Apache Airflow API.
-
- Note that you will need to pass credentials data.
-
- For e.g., here is how to pause a DAG with [curl](https://curl.haxx.se/), when basic authorization is used:
- ```bash
- curl -X PATCH 'https://example.com/api/v1/dags/{dag_id}?update_mask=is_paused' \
- -H 'Content-Type: application/json' \
- --user "username:password" \
- -d '{
- "is_paused": true
- }'
- ```
-
- Using a graphical tool such as [Postman](https://www.postman.com/) or [Insomnia](https://insomnia.rest/),
- it is possible to import the API specifications directly:
-
- 1. Download the API specification by clicking the **Download** button at the top of this document
- 2. Import the JSON specification in the graphical tool of your choice.
- - In *Postman*, you can click the **import** button at the top
- - With *Insomnia*, you can just drag-and-drop the file on the UI
-
- Note that with *Postman*, you can also generate code snippets by selecting a request and clicking on
- the **Code** button.
-
- ## Enabling CORS
-
- [Cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
- is a browser security feature that restricts HTTP requests that are
- initiated from scripts running in the browser.
-
- For details on enabling/configuring CORS, see
- [Enabling CORS](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).
-
- # Authentication
-
- To be able to meet the requirements of many organizations, Airflow supports many authentication methods,
- and it is even possible to add your own method.
-
- If you want to check which auth backend is currently set, you can use
- `airflow config get-value api auth_backends` command as in the example below.
- ```bash
- $ airflow config get-value api auth_backends
- airflow.api.auth.backend.basic_auth
- ```
- The default is to deny all requests.
-
- For details on configuring the authentication, see
- [API Authorization](https://airflow.apache.org/docs/apache-airflow/stable/security/api.html).
-
- # Errors
-
- We follow the error response format proposed in [RFC 7807](https://tools.ietf.org/html/rfc7807)
- also known as Problem Details for HTTP APIs. As with our normal API responses,
- your client must be prepared to gracefully handle additional members of the response.
-
- ## Unauthenticated
-
- This indicates that the request has not been applied because it lacks valid authentication
- credentials for the target resource. Please check that you have valid credentials.
-
- ## PermissionDenied
-
- This response means that the server understood the request but refuses to authorize
- it because it lacks sufficient rights to the resource. It happens when you do not have the
- necessary permission to execute the action you performed. You need to get the appropriate
- permissions in other to resolve this error.
-
- ## BadRequest
-
- This response means that the server cannot or will not process the request due to something
- that is perceived to be a client error (e.g., malformed request syntax, invalid request message
- framing, or deceptive request routing). To resolve this, please ensure that your syntax is correct.
-
- ## NotFound
-
- This client error response indicates that the server cannot find the requested resource.
-
- ## MethodNotAllowed
-
- Indicates that the request method is known by the server but is not supported by the target resource.
-
- ## NotAcceptable
-
- The target resource does not have a current representation that would be acceptable to the user
- agent, according to the proactive negotiation header fields received in the request, and the
- server is unwilling to supply a default representation.
-
- ## AlreadyExists
-
- The request could not be completed due to a conflict with the current state of the target
- resource, e.g. the resource it tries to create already exists.
-
- ## Unknown
-
- This means that the server encountered an unexpected condition that prevented it from
- fulfilling the request.
-
- version: "2.10.4"
- license:
- name: Apache 2.0
- url: http://www.apache.org/licenses/LICENSE-2.0.html
- contact:
- name: Apache Software Foundation
- url: https://airflow.apache.org
- email: dev@airflow.apache.org
-
-servers:
- - url: /api/v1
- description: Apache Airflow Stable API.
-
-paths:
- # Database entities
- /connections:
- get:
- summary: List connections
- x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
- operationId: get_connections
- tags: [Connection]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ConnectionCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- post:
- summary: Create a connection
- x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
- operationId: post_connection
- tags: [Connection]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Connection"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Connection"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /connections/{connection_id}:
- parameters:
- - $ref: "#/components/parameters/ConnectionID"
-
- get:
- summary: Get a connection
- x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
- operationId: get_connection
- tags: [Connection]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Connection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- summary: Update a connection
- x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
- operationId: patch_connection
- tags: [Connection]
- parameters:
- - $ref: "#/components/parameters/UpdateMask"
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Connection"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Connection"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- summary: Delete a connection
- x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
- operationId: delete_connection
- tags: [Connection]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /connections/test:
- post:
- summary: Test a connection
- description: |
- Test a connection.
-
- For security reasons, the test connection functionality is disabled by default across Airflow UI, API and CLI.
- For more information on capabilities of users, see the documentation:
- https://airflow.apache.org/docs/apache-airflow/stable/security/security_model.html#capabilities-of-authenticated-ui-users.
- It is strongly advised to not enable the feature until you make sure that only
- highly trusted UI/API users have "edit connection" permissions.
-
- Set the "test_connection" flag to "Enabled" in the "core" section of Airflow configuration (airflow.cfg) to enable testing of collections.
- It can also be controlled by the environment variable `AIRFLOW__CORE__TEST_CONNECTION`.
-
- *New in version 2.2.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.connection_endpoint
- operationId: test_connection
- tags: [Connection]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Connection"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ConnectionTest"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags:
- get:
- summary: List DAGs
- description: >
- List DAGs in the database.
-
- `dag_id_pattern` can be set to match dags of a specific pattern
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
- operationId: get_dags
- tags: [DAG]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- - $ref: "#/components/parameters/FilterTags"
- - $ref: "#/components/parameters/OnlyActive"
- - $ref: "#/components/parameters/Paused"
- - $ref: "#/components/parameters/ReturnFields"
- - name: dag_id_pattern
- in: query
- schema:
- type: string
- required: false
- description: |
- If set, only return DAGs with dag_ids matching this pattern.
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
-
- patch:
- summary: Update DAGs
- description: >
- Update DAGs of a given dag_id_pattern using UpdateMask.
-
- This endpoint allows specifying `~` as the dag_id_pattern to update all DAGs.
-
- *New in version 2.3.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
- operationId: patch_dags
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/FilterTags"
- - $ref: "#/components/parameters/UpdateMask"
- - $ref: "#/components/parameters/OnlyActive"
- - name: dag_id_pattern
- in: query
- schema:
- type: string
- required: true
- description: |
- If set, only update DAGs with dag_ids matching this pattern.
- tags: [DAG]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAG"
- example:
- is_paused: true
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}:
- parameters:
- - $ref: "#/components/parameters/DAGID"
-
- get:
- summary: Get basic information about a DAG
- description: >
- Presents only information available in database (DAGModel).
-
- If you need detailed information, consider using GET /dags/{dag_id}/details.
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
- operationId: get_dag
- tags: [DAG]
- parameters:
- - $ref: "#/components/parameters/ReturnFields"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAG"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- summary: Update a DAG
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
- operationId: patch_dag
- parameters:
- - $ref: "#/components/parameters/UpdateMask"
- tags: [DAG]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAG"
- example:
- is_paused: true
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAG"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- summary: Delete a DAG
- description: |
- Deletes all metadata related to the DAG, including finished DAG Runs and Tasks.
- Logs are not deleted. This action cannot be undone.
-
- *New in version 2.2.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
- operationId: delete_dag
- tags: [DAG]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
- "409":
- $ref: "#/components/responses/AlreadyExists"
-
- /dags/{dag_id}/clearTaskInstances:
- parameters:
- - $ref: "#/components/parameters/DAGID"
-
- post:
- summary: Clear a set of task instances
- description: >
- Clears a set of task instances associated with the DAG for a specified date range.
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: post_clear_task_instances
- tags: [DAG]
- requestBody:
- description: Parameters of action
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ClearTaskInstances"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceReferenceCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/setNote:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
-
- patch:
- summary: Update the TaskInstance note.
- description: |
- Update the manual user note of a non-mapped Task Instance.
-
- *New in version 2.5.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: set_task_instance_note
- tags: [TaskInstance]
- requestBody:
- description: Parameters of set Task Instance note.
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/SetTaskInstanceNote"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstance"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- ? /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/setNote
- : parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/MapIndex"
-
- patch:
- summary: Update the TaskInstance note.
- description: |
- Update the manual user note of a mapped Task Instance.
-
- *New in version 2.5.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: set_mapped_task_instance_note
- tags: [TaskInstance]
- requestBody:
- description: Parameters of set Task Instance note.
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/SetTaskInstanceNote"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstance"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/dependencies:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
-
- get:
- summary: Get task dependencies blocking task from getting scheduled.
- description: |
- Get task dependencies blocking task from getting scheduled.
-
- *New in version 2.10.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_task_instance_dependencies
- tags: [TaskInstance]
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceDependencyCollection"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- ? /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/dependencies
- : parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/MapIndex"
-
- get:
- summary: Get task dependencies blocking task from getting scheduled.
- description: |
- Get task dependencies blocking task from getting scheduled.
-
- *New in version 2.10.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_mapped_task_instance_dependencies
- tags: [TaskInstance]
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceDependencyCollection"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/updateTaskInstancesState:
- parameters:
- - $ref: "#/components/parameters/DAGID"
-
- post:
- summary: Set a state of task instances
- description: >
- Updates the state for multiple task instances simultaneously.
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: post_set_task_instances_state
- tags: [DAG]
- requestBody:
- description: Parameters of action
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/UpdateTaskInstancesState"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceReferenceCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns:
- parameters:
- - $ref: "#/components/parameters/DAGID"
-
- get:
- summary: List DAG runs
- description: >
- This endpoint allows specifying `~` as the dag_id to retrieve DAG runs for all DAGs.
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: get_dag_runs
- tags: [DAGRun]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/FilterExecutionDateGTE"
- - $ref: "#/components/parameters/FilterExecutionDateLTE"
- - $ref: "#/components/parameters/FilterStartDateGTE"
- - $ref: "#/components/parameters/FilterStartDateLTE"
- - $ref: "#/components/parameters/FilterEndDateGTE"
- - $ref: "#/components/parameters/FilterEndDateLTE"
- - $ref: "#/components/parameters/FilterUpdatedAtGTE"
- - $ref: "#/components/parameters/FilterUpdatedAtLTE"
- - $ref: "#/components/parameters/FilterState"
- - $ref: "#/components/parameters/OrderBy"
- - $ref: "#/components/parameters/ReturnFields"
- responses:
- "200":
- description: List of DAG runs.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGRunCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
-
- post:
- summary: Trigger a new DAG run.
- description: >
- This will initiate a dagrun.
- If DAG is paused then dagrun state will remain queued, and the task won't run.
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: post_dag_run
- tags: [DAGRun]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGRun"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGRun"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "409":
- $ref: "#/components/responses/AlreadyExists"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/~/dagRuns/list:
- post:
- summary: List DAG runs (batch)
- description: >
- This endpoint is a POST to allow filtering across a large number of DAG IDs, where as a GET it
- would run in to maximum HTTP request URL length limit.
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: get_dag_runs_batch
- tags: [DAGRun]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ListDagRunsForm"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGRunCollection"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
-
- get:
- summary: Get a DAG run
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: get_dag_run
- tags: [DAGRun]
- parameters:
- - $ref: "#/components/parameters/ReturnFields"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGRun"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- summary: Delete a DAG run
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: delete_dag_run
- tags: [DAGRun]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- summary: Modify a DAG run
- description: |
- Modify a DAG run.
-
- *New in version 2.2.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: update_dag_run_state
- tags: [DAGRun]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/UpdateDagRunState"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGRun"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/clear:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
-
- post:
- summary: Clear a DAG run
- description: |
- Clear a DAG run.
-
- *New in version 2.4.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: clear_dag_run
- tags: [DAGRun]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ClearDagRun"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- anyOf:
- - $ref: "#/components/schemas/DAGRun"
- - $ref: "#/components/schemas/TaskInstanceCollection"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/upstreamDatasetEvents:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- get:
- summary: Get dataset events for a DAG run
- description: |
- Get datasets for a dag run.
-
- *New in version 2.4.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: get_upstream_dataset_events
- tags: [DAGRun, Dataset]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DatasetEventCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/setNote:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- patch:
- summary: Update the DagRun note.
- description: |
- Update the manual user note of a DagRun.
-
- *New in version 2.5.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_run_endpoint
- operationId: set_dag_run_note
- tags: [DAGRun]
- requestBody:
- description: Parameters of set DagRun note.
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/SetDagRunNote"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGRun"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/datasets/queuedEvent/{uri}:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DatasetURI"
-
- get:
- summary: Get a queued Dataset event for a DAG
- description: |
- Get a queued Dataset event for a DAG.
-
- *New in version 2.9.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: get_dag_dataset_queued_event
- parameters:
- - $ref: "#/components/parameters/Before"
- tags: [Dataset]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/QueuedEvent"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- summary: Delete a queued Dataset event for a DAG.
- description: |
- Delete a queued Dataset event for a DAG.
-
- *New in version 2.9.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: delete_dag_dataset_queued_event
- parameters:
- - $ref: "#/components/parameters/Before"
- tags: [Dataset]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/datasets/queuedEvent:
- parameters:
- - $ref: "#/components/parameters/DAGID"
-
- get:
- summary: Get queued Dataset events for a DAG.
- description: |
- Get queued Dataset events for a DAG.
-
- *New in version 2.9.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: get_dag_dataset_queued_events
- parameters:
- - $ref: "#/components/parameters/Before"
- tags: [Dataset]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/QueuedEventCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- summary: Delete queued Dataset events for a DAG.
- description: |
- Delete queued Dataset events for a DAG.
-
- *New in version 2.9.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: delete_dag_dataset_queued_events
- parameters:
- - $ref: "#/components/parameters/Before"
- tags: [Dataset]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /parseDagFile/{file_token}:
- parameters:
- - $ref: "#/components/parameters/FileToken"
-
- put:
- summary: Request re-parsing of a DAG file
- description: >
- Request re-parsing of existing DAG files using a file token.
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_parsing
- operationId: reparse_dag_file
- tags: [ DAG ]
- responses:
- "201":
- description: Success.
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /datasets/queuedEvent/{uri}:
- parameters:
- - $ref: "#/components/parameters/DatasetURI"
-
- get:
- summary: Get queued Dataset events for a Dataset.
- description: |
- Get queued Dataset events for a Dataset
-
- *New in version 2.9.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: get_dataset_queued_events
- parameters:
- - $ref: "#/components/parameters/Before"
- tags: [Dataset]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/QueuedEventCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- summary: Delete queued Dataset events for a Dataset.
- description: |
- Delete queued Dataset events for a Dataset.
-
- *New in version 2.9.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: delete_dataset_queued_events
- parameters:
- - $ref: "#/components/parameters/Before"
- tags: [Dataset]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /eventLogs:
- get:
- summary: List log entries
- description: List log entries from event log.
- x-openapi-router-controller: airflow.api_connexion.endpoints.event_log_endpoint
- operationId: get_event_logs
- tags: [EventLog]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- - $ref: "#/components/parameters/FilterDAGID"
- - $ref: "#/components/parameters/FilterTaskID"
- - $ref: "#/components/parameters/FilterRunID"
- - $ref: "#/components/parameters/FilterMapIndex"
- - $ref: "#/components/parameters/FilterTryNumber"
- - $ref: "#/components/parameters/Event"
- - $ref: "#/components/parameters/Owner"
- - $ref: "#/components/parameters/Before"
- - $ref: "#/components/parameters/After"
- - name: included_events
- in: query
- schema:
- type: string
- required: false
- description: |
- One or more event names separated by commas. If set, only return event logs with events matching this pattern.
- *New in version 2.9.0*
- - name: excluded_events
- in: query
- schema:
- type: string
- required: false
- description: |
- One or more event names separated by commas. If set, only return event logs with events that do not match this pattern.
- *New in version 2.9.0*
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/EventLogCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /eventLogs/{event_log_id}:
- parameters:
- - $ref: "#/components/parameters/EventLogID"
-
- get:
- summary: Get a log entry
- x-openapi-router-controller: airflow.api_connexion.endpoints.event_log_endpoint
- operationId: get_event_log
- tags: [EventLog]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/EventLog"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /importErrors:
- get:
- summary: List import errors
- x-openapi-router-controller: airflow.api_connexion.endpoints.import_error_endpoint
- operationId: get_import_errors
- tags: [ImportError]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ImportErrorCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /importErrors/{import_error_id}:
- parameters:
- - $ref: "#/components/parameters/ImportErrorID"
- get:
- summary: Get an import error
- x-openapi-router-controller: airflow.api_connexion.endpoints.import_error_endpoint
- operationId: get_import_error
- tags: [ImportError]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ImportError"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /pools:
- get:
- summary: List pools
- x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
- operationId: get_pools
- tags: [Pool]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: List of pools.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/PoolCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- post:
- summary: Create a pool
- x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
- operationId: post_pool
- tags: [Pool]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Pool"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Pool"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /pools/{pool_name}:
- parameters:
- - $ref: "#/components/parameters/PoolName"
-
- get:
- summary: Get a pool
- x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
- operationId: get_pool
- tags: [Pool]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Pool"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- summary: Update a pool
- x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
- operationId: patch_pool
- tags: [Pool]
- parameters:
- - $ref: "#/components/parameters/UpdateMask"
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Pool"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Pool"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
- "409":
- $ref: "#/components/responses/AlreadyExists"
-
- delete:
- summary: Delete a pool
- x-openapi-router-controller: airflow.api_connexion.endpoints.pool_endpoint
- operationId: delete_pool
- tags: [Pool]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /providers:
- get:
- summary: List providers
- description: |
- Get a list of providers.
-
- *New in version 2.1.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.provider_endpoint
- operationId: get_providers
- tags: [Provider]
- responses:
- "200":
- description: List of providers.
- content:
- application/json:
- schema:
- allOf:
- - $ref: "#/components/schemas/ProviderCollection"
- - $ref: "#/components/schemas/CollectionInfo"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/FilterExecutionDateGTE"
- - $ref: "#/components/parameters/FilterExecutionDateLTE"
- - $ref: "#/components/parameters/FilterStartDateGTE"
- - $ref: "#/components/parameters/FilterStartDateLTE"
- - $ref: "#/components/parameters/FilterEndDateGTE"
- - $ref: "#/components/parameters/FilterEndDateLTE"
- - $ref: "#/components/parameters/FilterUpdatedAtGTE"
- - $ref: "#/components/parameters/FilterUpdatedAtLTE"
- - $ref: "#/components/parameters/FilterDurationGTE"
- - $ref: "#/components/parameters/FilterDurationLTE"
- - $ref: "#/components/parameters/FilterState"
- - $ref: "#/components/parameters/FilterPool"
- - $ref: "#/components/parameters/FilterQueue"
- - $ref: "#/components/parameters/FilterExecutor"
- get:
- summary: List task instances
- description: >
- This endpoint allows specifying `~` as the dag_id, dag_run_id to retrieve DAG runs for all DAGs
- and DAG runs.
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_task_instances
- tags: [TaskInstance]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
-
- get:
- summary: Get a task instance
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_task_instance
- tags: [TaskInstance]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstance"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- summary: Updates the state of a task instance
- description: >
- Updates the state for single task instance.
-
- *New in version 2.5.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: patch_task_instance
- tags: [TaskInstance]
- requestBody:
- description: Parameters of action
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/UpdateTaskInstance"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceReference"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/MapIndex"
-
- get:
- summary: Get a mapped task instance
- description: |
- Get details of a mapped task instance.
-
- *New in version 2.3.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_mapped_task_instance
- tags: [TaskInstance]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstance"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- summary: Updates the state of a mapped task instance
- description: >
- Updates the state for single mapped task instance.
-
- *New in version 2.5.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: patch_mapped_task_instance
- tags: [TaskInstance]
- requestBody:
- description: Parameters of action
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/UpdateTaskInstance"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceReference"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
-
- get:
- summary: List mapped task instances
- description: |
- Get details of all mapped task instances.
-
- *New in version 2.3.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_mapped_task_instances
- tags: [TaskInstance]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/FilterExecutionDateGTE"
- - $ref: "#/components/parameters/FilterExecutionDateLTE"
- - $ref: "#/components/parameters/FilterStartDateGTE"
- - $ref: "#/components/parameters/FilterStartDateLTE"
- - $ref: "#/components/parameters/FilterEndDateGTE"
- - $ref: "#/components/parameters/FilterEndDateLTE"
- - $ref: "#/components/parameters/FilterUpdatedAtGTE"
- - $ref: "#/components/parameters/FilterUpdatedAtLTE"
- - $ref: "#/components/parameters/FilterDurationGTE"
- - $ref: "#/components/parameters/FilterDurationLTE"
- - $ref: "#/components/parameters/FilterState"
- - $ref: "#/components/parameters/FilterPool"
- - $ref: "#/components/parameters/FilterQueue"
- - $ref: "#/components/parameters/FilterExecutor"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/~/dagRuns/~/taskInstances/list:
- post:
- summary: List task instances (batch)
- description: >
- List task instances from all DAGs and DAG runs.
-
- This endpoint is a POST to allow filtering across a large number of DAG IDs, where as a GET it
- would run in to maximum HTTP request URL length limits.
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_task_instances_batch
- tags: [TaskInstance]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ListTaskInstanceForm"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries/{task_try_number}:
- get:
- summary: get taskinstance try
- description: |
- Get details of a task instance try.
-
- *New in version 2.10.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_task_instance_try_details
- tags: [TaskInstance]
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/TaskTryNumber"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceHistory"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries:
- get:
- summary: List task instance tries
- description: |
- Get details of all task instance tries.
-
- *New in version 2.10.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_task_instance_tries
- tags: [TaskInstance]
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceHistoryCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries:
- get:
- summary: List mapped task instance tries
- description: |
- Get details of all task instance tries.
-
- *New in version 2.10.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_mapped_task_instance_tries
- tags: [TaskInstance]
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/MapIndex"
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceHistoryCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries/{task_try_number}:
- get:
- summary: get mapped taskinstance try
- description: |
- Get details of a mapped task instance try.
-
- *New in version 2.10.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_instance_endpoint
- operationId: get_mapped_task_instance_try_details
- tags: [TaskInstance]
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/MapIndex"
- - $ref: "#/components/parameters/TaskTryNumber"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskInstanceHistory"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
-
- /variables:
- get:
- summary: List variables
- description: The collection does not contain data. To get data, you must get a single entity.
- x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
- operationId: get_variables
- tags: [Variable]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/VariableCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- post:
- summary: Create a variable
- x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
- operationId: post_variables
- tags: [Variable]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Variable"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Variable"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /variables/{variable_key}:
- parameters:
- - $ref: "#/components/parameters/VariableKey"
-
- get:
- summary: Get a variable
- description: Get a variable by key.
- x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
- operationId: get_variable
- tags: [Variable]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Variable"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- summary: Update a variable
- description: Update a variable by key.
- x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
- operationId: patch_variable
- tags: [Variable]
- parameters:
- - $ref: "#/components/parameters/UpdateMask"
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Variable"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Variable"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- summary: Delete a variable
- x-openapi-router-controller: airflow.api_connexion.endpoints.variable_endpoint
- operationId: delete_variable
- tags: [Variable]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
-
- get:
- summary: List XCom entries
- description:
- This endpoint allows specifying `~` as the dag_id, dag_run_id, task_id to retrieve XCOM entries for
- for all DAGs, DAG runs and task instances. XCom values won't be returned as they can be large.
- Use this endpoint to get a list of XCom entries and then fetch individual entry to get value.
- x-openapi-router-controller: airflow.api_connexion.endpoints.xcom_endpoint
- operationId: get_xcom_entries
- tags: [XCom]
- parameters:
- - $ref: "#/components/parameters/FilterMapIndex"
- - $ref: "#/components/parameters/FilterXcomKey"
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/XComCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- ? /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}
- : parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/XComKey"
-
- get:
- summary: Get an XCom entry
- x-openapi-router-controller: airflow.api_connexion.endpoints.xcom_endpoint
- operationId: get_xcom_entry
- tags: [XCom]
- parameters:
- - $ref: "#/components/parameters/FilterMapIndex"
- - in: query
- name: deserialize
- schema:
- type: boolean
- default: false
- required: false
- description: |
- Whether to deserialize an XCom value when using a custom XCom backend.
-
- The XCom API endpoint calls `orm_deserialize_value` by default since an XCom may contain value
- that is potentially expensive to deserialize in the web server. Setting this to true overrides
- the consideration, and calls `deserialize_value` instead.
-
- This parameter is not meaningful when using the default XCom backend.
-
- *New in version 2.4.0*
- - in: query
- name: stringify
- schema:
- type: boolean
- default: true
- required: false
- description: |
- Whether to convert the XCom value to be a string. XCom values can be of Any data type.
-
- If set to true (default) the Any value will be returned as string, e.g. a Python representation
- of a dict. If set to false it will return the raw data as dict, list, string or whatever was stored.
-
- This parameter is not meaningful when using XCom pickling, then it is always returned as string.
-
- *New in version 2.10.0*
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/XCom"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- # Non-database resources
- /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
-
- get:
- summary: List extra links
- description: >
- List extra links for task instance.
- x-openapi-router-controller: airflow.api_connexion.endpoints.extra_link_endpoint
- operationId: get_extra_links
- tags: [TaskInstance]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ExtraLinkCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- ? /dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{task_try_number}
- : parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/DAGRunID"
- - $ref: "#/components/parameters/TaskID"
- - $ref: "#/components/parameters/TaskTryNumber"
- - $ref: "#/components/parameters/FullContent"
- - $ref: "#/components/parameters/FilterMapIndex"
- - $ref: "#/components/parameters/ContinuationToken"
-
- get:
- summary: Get logs
- description: |
- Get logs for a specific task instance and its try number.
- To get log from specific character position, following way of using
- URLSafeSerializer can be used.
-
- Example:
- ```
- from itsdangerous.url_safe import URLSafeSerializer
-
- request_url = f"api/v1/dags/{DAG_ID}/dagRuns/{RUN_ID}/taskInstances/{TASK_ID}/logs/1"
- key = app.config["SECRET_KEY"]
- serializer = URLSafeSerializer(key)
- token = serializer.dumps({"log_pos": 10000})
-
- response = self.client.get(
- request_url,
- query_string={"token": token},
- headers={"Accept": "text/plain"},
- environ_overrides={"REMOTE_USER": "test"},
- )
- continuation_token = response.json["continuation_token"]
- metadata = URLSafeSerializer(key).loads(continuation_token)
- log_pos = metadata["log_pos"]
- end_of_log = metadata["end_of_log"]
- ```
- If log_pos is passed as 10000 like the above example, it renders the logs starting
- from char position 10000 to last (not the end as the logs may be tailing behind in
- running state). This way pagination can be done with metadata as part of the token.
- x-openapi-router-controller: airflow.api_connexion.endpoints.log_endpoint
- operationId: get_log
- tags: [TaskInstance]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- type: object
- properties:
- continuation_token:
- type: string
- content:
- type: string
- text/plain:
- schema:
- type: string
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/details:
- parameters:
- - $ref: "#/components/parameters/DAGID"
-
- get:
- summary: Get a simplified representation of DAG
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_endpoint
- operationId: get_dag_details
- description: >
- The response contains many DAG attributes, so the response can be large.
- If possible, consider using GET /dags/{dag_id}.
- tags: [DAG]
- parameters:
- - $ref: "#/components/parameters/ReturnFields"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DAGDetail"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/tasks:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/OrderBy"
-
- get:
- summary: Get tasks for DAG
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_endpoint
- operationId: get_tasks
- tags: [DAG]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/TaskCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dags/{dag_id}/tasks/{task_id}:
- parameters:
- - $ref: "#/components/parameters/DAGID"
- - $ref: "#/components/parameters/TaskID"
-
- get:
- summary: Get simplified representation of a task
- x-openapi-router-controller: airflow.api_connexion.endpoints.task_endpoint
- operationId: get_task
- tags: [DAG]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Task"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /dagStats:
- get:
- summary: List Dag statistics
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_stats_endpoint
- operationId: get_dag_stats
- tags: [DagStats]
- parameters:
- - name: dag_ids
- in: query
- schema:
- type: string
- required: true
- description: |
- One or more DAG IDs separated by commas to filter relevant Dags.
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DagStatsCollectionSchema"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /dagSources/{file_token}:
- parameters:
- - $ref: "#/components/parameters/FileToken"
-
- get:
- summary: Get a source code
- description: >
- Get a source code using file token.
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_source_endpoint
- operationId: get_dag_source
- tags: [DAG]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- type: object
- properties:
- content:
- type: string
- text/plain:
- schema:
- type: string
-
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
- "406":
- $ref: "#/components/responses/NotAcceptable"
-
- /dagWarnings:
- get:
- summary: List dag warnings
- x-openapi-router-controller: airflow.api_connexion.endpoints.dag_warning_endpoint
- operationId: get_dag_warnings
- tags: [DagWarning]
- parameters:
- - name: dag_id
- in: query
- schema:
- type: string
- required: false
- description: If set, only return DAG warnings with this dag_id.
- - name: warning_type
- in: query
- schema:
- type: string
- required: false
- description: If set, only return DAG warnings with this type.
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DagWarningCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /datasets:
- get:
- summary: List datasets
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: get_datasets
- tags: [Dataset]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- - name: uri_pattern
- in: query
- schema:
- type: string
- required: false
- description: |
- If set, only return datasets with uris matching this pattern.
- - name: dag_ids
- in: query
- schema:
- type: string
- required: false
- description: |
- One or more DAG IDs separated by commas to filter datasets by associated DAGs either consuming or producing.
-
- *New in version 2.9.0*
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DatasetCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /datasets/{uri}:
- parameters:
- - $ref: "#/components/parameters/DatasetURI"
- get:
- summary: Get a dataset
- description: Get a dataset by uri.
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: get_dataset
- tags: [Dataset]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Dataset"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /datasets/events:
- get:
- summary: Get dataset events
- description: Get dataset events
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: get_dataset_events
- tags: [Dataset]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- - $ref: "#/components/parameters/FilterDatasetID"
- - $ref: "#/components/parameters/FilterSourceDAGID"
- - $ref: "#/components/parameters/FilterSourceTaskID"
- - $ref: "#/components/parameters/FilterSourceRunID"
- - $ref: "#/components/parameters/FilterSourceMapIndex"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/DatasetEventCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
- post:
- summary: Create dataset event
- description: Create dataset event
- x-openapi-router-controller: airflow.api_connexion.endpoints.dataset_endpoint
- operationId: create_dataset_event
- tags: [Dataset]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/CreateDatasetEvent'
- responses:
- '200':
- description: Success.
- content:
- application/json:
- schema:
- $ref: '#/components/schemas/DatasetEvent'
- "400":
- $ref: "#/components/responses/BadRequest"
- '401':
- $ref: '#/components/responses/Unauthenticated'
- '403':
- $ref: '#/components/responses/PermissionDenied'
- '404':
- $ref: '#/components/responses/NotFound'
-
- /config:
- get:
- summary: Get current configuration
- x-openapi-router-controller: airflow.api_connexion.endpoints.config_endpoint
- operationId: get_config
- tags: [Config]
- parameters:
- - name: section
- in: query
- schema:
- type: string
- required: false
- description: If given, only return config of this section.
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Config"
- example:
- sections:
- - name: core
- options:
- - key: dags_folder
- value: /home/user/my-dags-folder
-
- - name: smtp
- options:
- - key: smtp_host
- value: localhost
- - key: smtp_mail_from
- value: airflow@example.com
- text/plain:
- schema:
- type: string
- example: |
- [core]
- dags_folder = /home/user/my-dags-folder
- [smtp]
- smtp_host = localhost
- smtp_mail_from = airflow@example.com
-
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /config/section/{section}/option/{option}:
- get:
- summary: Get a option from configuration
- x-openapi-router-controller: airflow.api_connexion.endpoints.config_endpoint
- operationId: get_value
- tags: [Config]
- parameters:
- - name: section
- in: path
- schema:
- type: string
- required: true
- - name: option
- in: path
- schema:
- type: string
- required: true
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Config"
- example:
- sections:
- - name: core
- options:
- - key: dags_folder
- value: /home/user/my-dags-folder
- text/plain:
- schema:
- type: string
- example: |
- [core]
- dags_folder = /home/user/my-dags-folder
-
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /health:
- get:
- summary: Get instance status
- description: |
- Get the status of Airflow's metadatabase, triggerer and scheduler. It includes info about
- metadatabase and last heartbeat of scheduler and triggerer.
- x-openapi-router-controller: airflow.api_connexion.endpoints.health_endpoint
- operationId: get_health
- tags: [Monitoring]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/HealthInfo"
-
- /version:
- get:
- summary: Get version information
- x-openapi-router-controller: airflow.api_connexion.endpoints.version_endpoint
- operationId: get_version
- tags: [Monitoring]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/VersionInfo"
-
- /plugins:
- get:
- summary: Get a list of loaded plugins
- description: |
- Get a list of loaded plugins.
-
- *New in version 2.1.0*
- x-openapi-router-controller: airflow.api_connexion.endpoints.plugin_endpoint
- operationId: get_plugins
- tags: [Plugin]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- responses:
- "200":
- description: Success
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/PluginCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /roles:
- get:
- deprecated: true
- summary: List roles
- description: |
- Get a list of roles.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: get_roles
- tags: [Role]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/RoleCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- post:
- deprecated: true
- summary: Create a role
- description: |
- Create a new role.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: post_role
- tags: [Role]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Role"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Role"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /roles/{role_name}:
- parameters:
- - $ref: "#/components/parameters/RoleName"
-
- get:
- deprecated: true
- summary: Get a role
- description: |
- Get a role.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: get_role
- tags: [Role]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Role"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- deprecated: true
- summary: Update a role
- description: |
- Update a role.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: patch_role
- tags: [Role]
- parameters:
- - $ref: "#/components/parameters/UpdateMask"
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Role"
-
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Role"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- deprecated: true
- summary: Delete a role
- description: |
- Delete a role.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: delete_role
- tags: [Role]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- /permissions:
- get:
- deprecated: true
- summary: List permissions
- description: |
- Get a list of permissions.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: get_permissions
- tags: [Permission]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/ActionCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- /users:
- get:
- deprecated: true
- summary: List users
- description: |
- Get a list of users.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: get_users
- tags: [User]
- parameters:
- - $ref: "#/components/parameters/PageLimit"
- - $ref: "#/components/parameters/PageOffset"
- - $ref: "#/components/parameters/OrderBy"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/UserCollection"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
-
- post:
- deprecated: true
- summary: Create a user
- description: |
- Create a new user with unique username and email.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: post_user
- tags: [User]
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/User"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/User"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "409":
- $ref: "#/components/responses/AlreadyExists"
-
- /users/{username}:
- parameters:
- - $ref: "#/components/parameters/Username"
- get:
- deprecated: true
- summary: Get a user
- description: |
- Get a user with a specific username.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: get_user
- tags: [User]
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/UserCollectionItem"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- patch:
- deprecated: true
- summary: Update a user
- description: |
- Update fields for a user.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: patch_user
- tags: [User]
- parameters:
- - $ref: "#/components/parameters/UpdateMask"
- requestBody:
- required: true
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/User"
- responses:
- "200":
- description: Success.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/UserCollectionItem"
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
- delete:
- deprecated: true
- summary: Delete a user
- description: |
- Delete a user with a specific username.
-
- *This API endpoint is deprecated, please use the endpoint `/auth/fab/v1` for this operation instead.*
- x-openapi-router-controller: airflow.api_connexion.endpoints.forward_to_fab_endpoint
- operationId: delete_user
- tags: [User]
- responses:
- "204":
- description: Success.
- "400":
- $ref: "#/components/responses/BadRequest"
- "401":
- $ref: "#/components/responses/Unauthenticated"
- "403":
- $ref: "#/components/responses/PermissionDenied"
- "404":
- $ref: "#/components/responses/NotFound"
-
-components:
- # Reusable schemas (data models)
- schemas:
- # Database entities
- UserCollectionItem:
- description: |
- A user object.
-
- *New in version 2.1.0*
- type: object
- properties:
- first_name:
- type: string
- description: |
- The user's first name.
-
- *Changed in version 2.4.0*: The requirement for this to be non-empty was removed.
- last_name:
- type: string
- description: |
- The user's last name.
-
- *Changed in version 2.4.0*: The requirement for this to be non-empty was removed.
- username:
- type: string
- description: |
- The username.
-
- *Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added.
- minLength: 1
- email:
- type: string
- description: |
- The user's email.
-
- *Changed in version 2.2.0*: A minimum character length requirement ('minLength') is added.
- minLength: 1
- active:
- type: boolean
- description: Whether the user is active
- readOnly: true
- nullable: true
- last_login:
- type: string
- format: datetime
- description: The last user login
- readOnly: true
- nullable: true
- login_count:
- type: integer
- description: The login count
- readOnly: true
- nullable: true
- failed_login_count:
- type: integer
- description: The number of times the login failed
- readOnly: true
- nullable: true
- roles:
- type: array
- description: |
- User roles.
-
- *Changed in version 2.2.0*: Field is no longer read-only.
- items:
- type: object
- properties:
- name:
- type: string
- nullable: true
- created_on:
- type: string
- format: datetime
- description: The date user was created
- readOnly: true
- nullable: true
- changed_on:
- type: string
- format: datetime
- description: The date user was changed
- readOnly: true
- nullable: true
- User:
- type: object
- description: |
- A user object with sensitive data.
-
- *New in version 2.1.0*
- allOf:
- - $ref: "#/components/schemas/UserCollectionItem"
- - type: object
- properties:
- password:
- type: string
- writeOnly: true
-
- UserCollection:
- type: object
- description: |
- Collection of users.
-
- *New in version 2.1.0*
- allOf:
- - type: object
- properties:
- users:
- type: array
- items:
- $ref: "#/components/schemas/UserCollectionItem"
- - $ref: "#/components/schemas/CollectionInfo"
-
- ConnectionCollectionItem:
- description: >
- Connection collection item.
-
- The password and extra fields are only available when retrieving a single object due to the
- sensitivity of this data.
- type: object
- properties:
- connection_id:
- type: string
- description: The connection ID.
- conn_type:
- type: string
- description: The connection type.
- description:
- type: string
- description: The description of the connection.
- nullable: true
- host:
- type: string
- nullable: true
- description: Host of the connection.
- login:
- type: string
- nullable: true
- description: Login of the connection.
- schema:
- type: string
- nullable: true
- description: Schema of the connection.
- port:
- type: integer
- nullable: true
- description: Port of the connection.
-
- ConnectionCollection:
- type: object
- description: |
- Collection of connections.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- connections:
- type: array
- items:
- $ref: "#/components/schemas/ConnectionCollectionItem"
- - $ref: "#/components/schemas/CollectionInfo"
-
- Connection:
- description: Full representation of the connection.
- allOf:
- - $ref: "#/components/schemas/ConnectionCollectionItem"
- - type: object
- properties:
- password:
- type: string
- format: password
- writeOnly: true
- description: Password of the connection.
- extra:
- type: string
- nullable: true
- description: Other values that cannot be put into another field, e.g. RSA keys.
-
- ConnectionTest:
- description: |
- Connection test results.
-
- *New in version 2.2.0*
- type: object
- properties:
- status:
- type: boolean
- description: The status of the request.
- message:
- type: string
- description: The success or failure message of the request.
-
- DAG:
- type: object
- description: DAG
- properties:
- dag_id:
- type: string
- readOnly: true
- description: The ID of the DAG.
- dag_display_name:
- type: string
- readOnly: true
- description: |
- Human centric display text for the DAG.
-
- *New in version 2.9.0*
- root_dag_id:
- type: string
- readOnly: true
- nullable: true
- description: If the DAG is SubDAG then it is the top level DAG identifier. Otherwise, null.
- is_paused:
- type: boolean
- nullable: true
- description: Whether the DAG is paused.
- is_active:
- description: |
- Whether the DAG is currently seen by the scheduler(s).
-
- *New in version 2.1.1*
-
- *Changed in version 2.2.0*: Field is read-only.
- nullable: true
- readOnly: true
- type: boolean
- is_subdag:
- description: Whether the DAG is SubDAG.
- type: boolean
- readOnly: true
- last_parsed_time:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- description: |
- The last time the DAG was parsed.
-
- *New in version 2.3.0*
- last_pickled:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- description: |
- The last time the DAG was pickled.
-
- *New in version 2.3.0*
- last_expired:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- description: |
- Time when the DAG last received a refresh signal
- (e.g. the DAG's "refresh" button was clicked in the web UI)
-
- *New in version 2.3.0*
- scheduler_lock:
- type: boolean
- readOnly: true
- nullable: true
- description: |
- Whether (one of) the scheduler is scheduling this DAG at the moment
-
- *New in version 2.3.0*
- pickle_id:
- type: string
- readOnly: true
- nullable: true
- description: |
- Foreign key to the latest pickle_id
-
- *New in version 2.3.0*
- default_view:
- type: string
- nullable: true
- readOnly: true
- description: |
- Default view of the DAG inside the webserver
-
- *New in version 2.3.0*
- fileloc:
- description: The absolute path to the file.
- type: string
- readOnly: true
- file_token:
- type: string
- readOnly: true
- description: >
- The key containing the encrypted path to the file. Encryption and decryption take place only on
- the server. This prevents the client from reading an non-DAG file. This also ensures API
- extensibility, because the format of encrypted data may change.
- owners:
- type: array
- items:
- type: string
- readOnly: true
- description:
- type: string
- readOnly: true
- nullable: true
- description: >
- User-provided DAG description, which can consist of several sentences or paragraphs that
- describe DAG contents.
- schedule_interval:
- $ref: "#/components/schemas/ScheduleInterval"
- timetable_description:
- type: string
- readOnly: true
- nullable: true
- description: |
- Timetable/Schedule Interval description.
-
- *New in version 2.3.0*
- tags:
- description: List of tags.
- type: array
- nullable: true
- items:
- $ref: "#/components/schemas/Tag"
- readOnly: true
- max_active_tasks:
- type: integer
- nullable: true
- readOnly: true
- description: |
- Maximum number of active tasks that can be run on the DAG
-
- *New in version 2.3.0*
- max_active_runs:
- type: integer
- nullable: true
- readOnly: true
- description: |
- Maximum number of active DAG runs for the DAG
-
- *New in version 2.3.0*
- has_task_concurrency_limits:
- type: boolean
- nullable: true
- readOnly: true
- description: |
- Whether the DAG has task concurrency limits
-
- *New in version 2.3.0*
- has_import_errors:
- type: boolean
- nullable: true
- readOnly: true
- description: |
- Whether the DAG has import errors
-
- *New in version 2.3.0*
- next_dagrun:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- description: |
- The logical date of the next dag run.
-
- *New in version 2.3.0*
- next_dagrun_data_interval_start:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- description: |
- The start of the interval of the next dag run.
-
- *New in version 2.3.0*
- next_dagrun_data_interval_end:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- description: |
- The end of the interval of the next dag run.
-
- *New in version 2.3.0*
- next_dagrun_create_after:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- description: |
- Earliest time at which this ``next_dagrun`` can be created.
-
- *New in version 2.3.0*
- max_consecutive_failed_dag_runs:
- type: integer
- nullable: true
- readOnly: true
- description: |
- (experimental) The maximum number of consecutive DAG failures before DAG is automatically paused.
-
- *New in version 2.9.0*
-
- DAGCollection:
- description: |
- Collection of DAGs.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- type: object
- allOf:
- - type: object
- properties:
- dags:
- type: array
- items:
- $ref: "#/components/schemas/DAG"
- - $ref: "#/components/schemas/CollectionInfo"
-
- DAGRun:
- type: object
- properties:
- dag_run_id:
- type: string
- nullable: true
- description: |
- Run ID.
-
- The value of this field can be set only when creating the object. If you try to modify the
- field of an existing object, the request fails with an BAD_REQUEST error.
-
- If not provided, a value will be generated based on execution_date.
-
- If the specified dag_run_id is in use, the creation request fails with an ALREADY_EXISTS error.
-
- This together with DAG_ID are a unique key.
- dag_id:
- type: string
- readOnly: true
- logical_date:
- type: string
- nullable: true
- description: |
- The logical date (previously called execution date). This is the time or interval covered by
- this DAG run, according to the DAG definition.
-
- The value of this field can be set only when creating the object. If you try to modify the
- field of an existing object, the request fails with an BAD_REQUEST error.
-
- This together with DAG_ID are a unique key.
-
- *New in version 2.2.0*
- format: date-time
- execution_date:
- type: string
- nullable: true
- description: |
- The execution date. This is the same as logical_date, kept for backwards compatibility.
- If both this field and logical_date are provided but with different values, the request
- will fail with an BAD_REQUEST error.
-
- *Changed in version 2.2.0*: Field becomes nullable.
-
- *Deprecated since version 2.2.0*: Use 'logical_date' instead.
- format: date-time
- deprecated: true
- start_date:
- type: string
- format: date-time
- description: |
- The start time. The time when DAG run was actually created.
-
- *Changed in version 2.1.3*: Field becomes nullable.
- readOnly: true
- nullable: true
- end_date:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- data_interval_start:
- type: string
- format: date-time
- description: |
- The beginning of the interval the DAG run covers.
- nullable: true
- data_interval_end:
- type: string
- format: date-time
- description: |
- The end of the interval the DAG run covers.
- nullable: true
- last_scheduling_decision:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- run_type:
- type: string
- readOnly: true
- enum:
- - backfill
- - manual
- - scheduled
- - dataset_triggered
- state:
- $ref: "#/components/schemas/DagState"
- external_trigger:
- type: boolean
- readOnly: true
- conf:
- type: object
- description: |
- JSON object describing additional configuration parameters.
-
- The value of this field can be set only when creating the object. If you try to modify the
- field of an existing object, the request fails with an BAD_REQUEST error.
- note:
- type: string
- description: |
- Contains manually entered notes by the user about the DagRun.
-
- *New in version 2.5.0*
- nullable: true
-
-
- UpdateDagRunState:
- type: object
- description: |
- Modify the state of a DAG run.
-
- *New in version 2.2.0*
- properties:
- state:
- description: The state to set this DagRun
- type: string
- enum:
- - success
- - failed
- - queued
-
- DAGRunCollection:
- type: object
- description: |
- Collection of DAG runs.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- dag_runs:
- type: array
- items:
- $ref: "#/components/schemas/DAGRun"
- - $ref: "#/components/schemas/CollectionInfo"
-
- DagStatsCollectionSchema:
- type: object
- description: |
- Collection of Dag statistics.
-
- allOf:
- - type: object
- properties:
- dags:
- type: array
- items:
- $ref: "#/components/schemas/DagStatsCollectionItem"
- - $ref: "#/components/schemas/CollectionInfo"
-
- DagStatsCollectionItem:
- description: DagStats entry collection item.
-
- type: object
- properties:
- dag_id:
- type: string
- description: The DAG ID.
- stats:
- type: array
- nullable: true
- items:
- $ref: "#/components/schemas/DagStatsStateCollectionItem"
-
- DagStatsStateCollectionItem:
- description: DagStatsState entry collection item.
-
- type: object
- properties:
- state:
- type: string
- description: The DAG state.
- count:
- type: integer
- description: The DAG state count.
-
- DagWarning:
- type: object
- properties:
- dag_id:
- type: string
- readOnly: true
- description: The dag_id.
- warning_type:
- type: string
- readOnly: true
- description: The warning type for the dag warning.
- message:
- type: string
- readOnly: true
- description: The message for the dag warning.
- timestamp:
- type: string
- format: datetime
- readOnly: true
- description: The time when this warning was logged.
-
- DagWarningCollection:
- type: object
- description: |
- Collection of DAG warnings.
-
- allOf:
- - type: object
- properties:
- dag_warnings:
- type: array
- items:
- $ref: "#/components/schemas/DagWarning"
- - $ref: "#/components/schemas/CollectionInfo"
-
- SetDagRunNote:
- type: object
- properties:
- note:
- description: Custom notes left by users for this Dag Run.
- type: string
-
- EventLog:
- type: object
- description: Log of user operations via CLI or Web UI.
- properties:
- event_log_id:
- description: The event log ID
- type: integer
- readOnly: true
- when:
- description: The time when these events happened.
- format: date-time
- type: string
- readOnly: true
- dag_id:
- description: The DAG ID
- type: string
- readOnly: true
- nullable: true
- task_id:
- description: The Task ID
- type: string
- readOnly: true
- nullable: true
- run_id:
- description: The DAG Run ID
- type: string
- readOnly: true
- nullable: true
- map_index:
- description: The Map Index
- type: integer
- readOnly: true
- nullable: true
- try_number:
- description: The Try Number
- type: integer
- readOnly: true
- nullable: true
- event:
- description: A key describing the type of event.
- type: string
- readOnly: true
- execution_date:
- description: |
- When the event was dispatched for an object having execution_date, the value of this field.
- format: date-time
- type: string
- readOnly: true
- nullable: true
- owner:
- description: Name of the user who triggered these events a.
- type: string
- nullable: true
- readOnly: true
- extra:
- description: |
- Other information that was not included in the other fields, e.g. the complete CLI command.
- type: string
- readOnly: true
- nullable: true
-
- EventLogCollection:
- type: object
- description: |
- Collection of event logs.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- *Changed in version 2.10.0*: 'try_number' and 'map_index' fields are added.
- allOf:
- - type: object
- properties:
- event_logs:
- type: array
- items:
- $ref: "#/components/schemas/EventLog"
- - $ref: "#/components/schemas/CollectionInfo"
-
- ImportError:
- type: object
- properties:
- import_error_id:
- type: integer
- readOnly: true
- description: The import error ID.
- timestamp:
- type: string
- format: datetime
- readOnly: true
- description: The time when this error was created.
- filename:
- type: string
- readOnly: true
- description: The filename
- stack_trace:
- type: string
- readOnly: true
- description: The full stackstrace.
-
- ImportErrorCollection:
- type: object
- description: |
- Collection of import errors.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- import_errors:
- type: array
- items:
- $ref: "#/components/schemas/ImportError"
- - $ref: "#/components/schemas/CollectionInfo"
-
- HealthInfo:
- type: object
- description: Instance status information.
- properties:
- metadatabase:
- $ref: "#/components/schemas/MetadatabaseStatus"
- scheduler:
- $ref: "#/components/schemas/SchedulerStatus"
- triggerer:
- $ref: "#/components/schemas/TriggererStatus"
- dag_processor:
- $ref: "#/components/schemas/DagProcessorStatus"
-
- MetadatabaseStatus:
- type: object
- description: The status of the metadatabase.
- properties:
- status:
- $ref: "#/components/schemas/HealthStatus"
-
- SchedulerStatus:
- type: object
- description: The status and the latest scheduler heartbeat.
- properties:
- status:
- $ref: "#/components/schemas/HealthStatus"
- latest_scheduler_heartbeat:
- description: The time the scheduler last did a heartbeat.
- type: string
- format: datetime
- readOnly: true
- nullable: true
-
- TriggererStatus:
- type: object
- description: |
- The status and the latest triggerer heartbeat.
-
- *New in version 2.6.2*
- properties:
- status:
- $ref: "#/components/schemas/HealthStatus"
- latest_triggerer_heartbeat:
- description: The time the triggerer last did a heartbeat.
- type: string
- format: datetime
- readOnly: true
- nullable: true
-
- DagProcessorStatus:
- type: object
- description: |
- The status and the latest dag processor heartbeat.
-
- *New in version 2.6.3*
- properties:
- status:
- $ref: "#/components/schemas/HealthStatus"
- latest_dag_processor_heartbeat:
- description: The time the dag processor last did a heartbeat.
- type: string
- format: datetime
- readOnly: true
- nullable: true
-
- Pool:
- description: The pool
- type: object
- properties:
- name:
- type: string
- description: The name of pool.
- slots:
- type: integer
- description: |
- The maximum number of slots that can be assigned to tasks. One job may occupy one or more slots.
- occupied_slots:
- type: integer
- readOnly: true
- description: The number of slots used by running/queued tasks at the moment. May include deferred tasks if 'include_deferred' is set to true.
- running_slots:
- type: integer
- readOnly: true
- description: The number of slots used by running tasks at the moment.
- queued_slots:
- type: integer
- readOnly: true
- description: The number of slots used by queued tasks at the moment.
- open_slots:
- type: integer
- readOnly: true
- description: The number of free slots at the moment.
- scheduled_slots:
- type: integer
- readOnly: true
- description: The number of slots used by scheduled tasks at the moment.
- deferred_slots:
- type: integer
- readOnly: true
- description: |
- The number of slots used by deferred tasks at the moment. Relevant if 'include_deferred' is set to true.
-
- *New in version 2.7.0*
- description:
- type: string
- description: |
- The description of the pool.
-
- *New in version 2.3.0*
- nullable: true
- include_deferred:
- type: boolean
- description: |
- If set to true, deferred tasks are considered when calculating open pool slots.
-
- *New in version 2.7.0*
-
- PoolCollection:
- type: object
- description: |
- Collection of pools.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- pools:
- type: array
- items:
- $ref: "#/components/schemas/Pool"
- - $ref: "#/components/schemas/CollectionInfo"
-
- Provider:
- description: |
- The provider
-
- *New in version 2.1.0*
- type: object
- properties:
- package_name:
- type: string
- description: The package name of the provider.
- description:
- type: string
- description: The description of the provider.
- version:
- type: string
- description: The version of the provider.
-
- ProviderCollection:
- description: |
- Collection of providers.
-
- *New in version 2.1.0*
- type: object
- properties:
- providers:
- type: array
- items:
- $ref: "#/components/schemas/Provider"
-
- SLAMiss:
- type: object
- properties:
- task_id:
- type: string
- readOnly: true
- description: The task ID.
- dag_id:
- type: string
- description: The DAG ID.
- execution_date:
- type: string
- format: datetime
- email_sent:
- type: boolean
- timestamp:
- type: string
- format: datetime
- description:
- type: string
- nullable: true
- notification_sent:
- type: boolean
- nullable: true
-
- Trigger:
- type: object
- nullable: true
- properties:
- id:
- type: integer
- classpath:
- type: string
- kwargs:
- type: string
- created_date:
- type: string
- format: datetime
- triggerer_id:
- type: integer
- nullable: true
-
- TaskFailedDependency:
- type: object
- properties:
- name:
- type: string
- reason:
- type: string
-
- TaskInstanceDependencyCollection:
- type: object
- properties:
- dependencies:
- type: array
- items:
- $ref: "#/components/schemas/TaskFailedDependency"
-
- Job:
- type: object
- nullable: true
- properties:
- id:
- type: integer
- dag_id:
- type: string
- nullable: true
- state:
- type: string
- nullable: true
- job_type:
- type: string
- nullable: true
- start_date:
- type: string
- format: datetime
- nullable: true
- end_date:
- type: string
- format: datetime
- nullable: true
- latest_heartbeat:
- type: string
- format: datetime
- nullable: true
- executor_class:
- type: string
- nullable: true
- hostname:
- type: string
- nullable: true
- unixname:
- type: string
- nullable: true
-
- TaskInstance:
- type: object
- properties:
- task_id:
- type: string
- task_display_name:
- type: string
- description: |
- Human centric display text for the task.
-
- *New in version 2.9.0*
- dag_id:
- type: string
- dag_run_id:
- type: string
- description: |
- The DagRun ID for this task instance
-
- *New in version 2.3.0*
- execution_date:
- type: string
- format: datetime
- start_date:
- type: string
- format: datetime
- nullable: true
- end_date:
- type: string
- format: datetime
- nullable: true
- duration:
- type: number
- nullable: true
- state:
- $ref: "#/components/schemas/TaskState"
- try_number:
- type: integer
- map_index:
- type: integer
- max_tries:
- type: integer
- hostname:
- type: string
- unixname:
- type: string
- pool:
- type: string
- pool_slots:
- type: integer
- queue:
- type: string
- nullable: true
- priority_weight:
- type: integer
- nullable: true
- operator:
- type: string
- nullable: true
- description: |
- *Changed in version 2.1.1*: Field becomes nullable.
- queued_when:
- type: string
- nullable: true
- description: |
- The datetime that the task enter the state QUEUE, also known as queue_at
- pid:
- type: integer
- nullable: true
- executor:
- type: string
- nullable: true
- description: |
- Executor the task is configured to run on or None (which indicates the default executor)
-
- *New in version 2.10.0*
- executor_config:
- type: string
- sla_miss:
- $ref: "#/components/schemas/SLAMiss"
- rendered_map_index:
- description: |
- Rendered name of an expanded task instance, if the task is mapped.
-
- *New in version 2.9.0*
- type: string
- nullable: true
- rendered_fields:
- description: |
- JSON object describing rendered fields.
-
- *New in version 2.3.0*
- type: object
- trigger:
- $ref: "#/components/schemas/Trigger"
- triggerer_job:
- $ref: "#/components/schemas/Job"
- note:
- type: string
- description: |
- Contains manually entered notes by the user about the TaskInstance.
-
- *New in version 2.5.0*
- nullable: true
-
- TaskInstanceCollection:
- type: object
- description: |
- Collection of task instances.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- task_instances:
- type: array
- items:
- $ref: "#/components/schemas/TaskInstance"
- - $ref: "#/components/schemas/CollectionInfo"
- TaskInstanceHistory:
- type: object
- properties:
- task_id:
- type: string
- task_display_name:
- type: string
- description: |
- Human centric display text for the task.
-
- *New in version 2.9.0*
- dag_id:
- type: string
- dag_run_id:
- type: string
- description: |
- The DagRun ID for this task instance
-
- *New in version 2.3.0*
- start_date:
- type: string
- format: datetime
- nullable: true
- end_date:
- type: string
- format: datetime
- nullable: true
- duration:
- type: number
- nullable: true
- state:
- $ref: "#/components/schemas/TaskState"
- try_number:
- type: integer
- map_index:
- type: integer
- max_tries:
- type: integer
- hostname:
- type: string
- unixname:
- type: string
- pool:
- type: string
- pool_slots:
- type: integer
- queue:
- type: string
- nullable: true
- priority_weight:
- type: integer
- nullable: true
- operator:
- type: string
- nullable: true
- description: |
- *Changed in version 2.1.1*: Field becomes nullable.
- queued_when:
- type: string
- nullable: true
- description: |
- The datetime that the task enter the state QUEUE, also known as queue_at
- pid:
- type: integer
- nullable: true
- executor:
- type: string
- nullable: true
- description: |
- Executor the task is configured to run on or None (which indicates the default executor)
-
- *New in version 2.10.0*
- executor_config:
- type: string
-
- TaskInstanceHistoryCollection:
- type: object
- description: |
- Collection of task instances .
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- task_instances_history:
- type: array
- items:
- $ref: "#/components/schemas/TaskInstanceHistory"
- - $ref: "#/components/schemas/CollectionInfo"
- TaskInstanceReference:
- type: object
- properties:
- task_id:
- type: string
- readOnly: true
- description: The task ID.
- dag_id:
- type: string
- readOnly: true
- description: The DAG ID.
- execution_date:
- type: string
- format: datetime
- readOnly: true
- dag_run_id:
- type: string
- readOnly: true
- description: The DAG run ID.
-
- TaskInstanceReferenceCollection:
- type: object
- properties:
- task_instances:
- type: array
- items:
- $ref: "#/components/schemas/TaskInstanceReference"
-
- VariableCollectionItem:
- description: XCom entry collection item.
-
- The value field are only available when retrieving a single object due to the sensitivity of this
- data.
- # Divided into two schemas for sensitive data protection
- type: object
- properties:
- key:
- type: string
- description:
- type: string
- description: |
- The description of the variable.
-
- *New in version 2.4.0*
- nullable: true
-
- VariableCollection:
- type: object
- description: |
- Collection of variables.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- variables:
- type: array
- items:
- $ref: "#/components/schemas/VariableCollectionItem"
- - $ref: "#/components/schemas/CollectionInfo"
-
- Variable:
- description: Full representation of Variable
- allOf:
- - $ref: "#/components/schemas/VariableCollectionItem"
- - type: object
- properties:
- value:
- type: string
-
- XComCollectionItem:
- # Divided into two schemas for sensitive data protection
- type: object
- description: |
- XCom entry collection item.
-
- The value field is only available when reading a single object due to the size of the value.
- properties:
- key:
- type: string
- timestamp:
- type: string
- format: datetime
- execution_date:
- type: string
- format: datetime
- map_index:
- type: integer
- task_id:
- type: string
- dag_id:
- type: string
-
- XComCollection:
- type: object
- description: |
- Collection of XCom entries.
-
- *Changed in version 2.1.0*: 'total_entries' field is added.
- allOf:
- - type: object
- properties:
- xcom_entries:
- type: array
- items:
- $ref: "#/components/schemas/XComCollectionItem"
- - $ref: "#/components/schemas/CollectionInfo"
-
- XCom:
- description: Full representations of XCom entry.
- allOf:
- - $ref: "#/components/schemas/XComCollectionItem"
- - type: object
- properties:
- value:
- anyOf:
- - type: string
- - type: number
- - type: integer
- - type: boolean
- - type: array
- items: {}
- - type: object
- nullable: true
- description: The value(s),
-
- # Python objects
- # Based on
- # airflow/serialization/schema.json
- # but simplified to make the easier to use and to make backward compatibility easier.
- DAGDetail:
- description: |
- DAG details.
-
- For details see:
- [airflow.models.dag.DAG](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/dag/index.html#airflow.models.dag.DAG)
- allOf:
- - $ref: "#/components/schemas/DAG"
- - type: object
- properties:
- timezone:
- $ref: "#/components/schemas/Timezone"
- nullable: true
- catchup:
- type: boolean
- readOnly: true
- nullable: true
- orientation:
- type: string
- readOnly: true
- nullable: true
- concurrency:
- type: number
- readOnly: true
- nullable: true
- start_date:
- type: string
- format: "date-time"
- readOnly: true
- nullable: true
- description: |
- The DAG's start date.
-
- *Changed in version 2.0.1*: Field becomes nullable.
- dag_run_timeout:
- $ref: "#/components/schemas/TimeDelta"
- nullable: true
- dataset_expression:
- type: object
- description: Nested dataset any/all conditions
- nullable: true
- doc_md:
- type: string
- readOnly: true
- nullable: true
- default_view:
- type: string
- readOnly: true
- nullable: true
- params:
- type: object
- readOnly: true
- description: |
- User-specified DAG params.
-
- *New in version 2.0.1*
- end_date:
- type: string
- format: "date-time"
- readOnly: true
- nullable: true
- description: |
- The DAG's end date.
-
- *New in version 2.3.0*.
- is_paused_upon_creation:
- type: boolean
- readOnly: true
- nullable: true
- description: |
- Whether the DAG is paused upon creation.
-
- *New in version 2.3.0*
- last_parsed:
- type: string
- format: date-time
- nullable: true
- readOnly: true
- description: |
- The last time the DAG was parsed.
-
- *New in version 2.3.0*
- template_search_path:
- type: array
- nullable: true
- items:
- type: string
- description: |
- The template search path.
-
- *New in version 2.3.0*
- render_template_as_native_obj:
- type: boolean
- nullable: true
- readOnly: true
- description: |
- Whether to render templates as native Python objects.
-
- *New in version 2.3.0*
- ExtraLink:
- type: object
- description: Additional links containing additional information about the task.
- properties:
- class_ref:
- $ref: "#/components/schemas/ClassReference"
- name:
- type: string
- readOnly: true
- href:
- type: string
- readOnly: true
-
- ExtraLinkCollection:
- type: object
- description: The collection of extra links.
- properties:
- extra_links:
- type: array
- items:
- $ref: "#/components/schemas/ExtraLink"
-
- Task:
- type: object
- description: |
- For details see:
- [airflow.models.baseoperator.BaseOperator](https://airflow.apache.org/docs/apache-airflow/stable/_api/airflow/models/baseoperator/index.html#airflow.models.baseoperator.BaseOperator)
- properties:
- class_ref:
- $ref: "#/components/schemas/ClassReference"
- task_id:
- type: string
- readOnly: true
- task_display_name:
- type: string
- readOnly: true
- owner:
- type: string
- readOnly: true
- start_date:
- type: string
- format: "date-time"
- readOnly: true
- nullable: true
- end_date:
- type: string
- format: "date-time"
- readOnly: true
- nullable: true
- trigger_rule:
- $ref: "#/components/schemas/TriggerRule"
- extra_links:
- type: array
- readOnly: true
- items:
- type: object
- properties:
- class_ref:
- $ref: "#/components/schemas/ClassReference"
- depends_on_past:
- type: boolean
- readOnly: true
- is_mapped:
- type: boolean
- readOnly: true
- wait_for_downstream:
- type: boolean
- readOnly: true
- retries:
- type: number
- readOnly: true
- queue:
- type: string
- readOnly: true
- nullable: true
- executor:
- type: string
- readOnly: true
- nullable: true
- pool:
- type: string
- readOnly: true
- pool_slots:
- type: number
- readOnly: true
- execution_timeout:
- $ref: "#/components/schemas/TimeDelta"
- retry_delay:
- $ref: "#/components/schemas/TimeDelta"
- retry_exponential_backoff:
- type: boolean
- readOnly: true
- priority_weight:
- type: number
- readOnly: true
- weight_rule:
- $ref: "#/components/schemas/WeightRule"
- ui_color:
- $ref: "#/components/schemas/Color"
- ui_fgcolor:
- $ref: "#/components/schemas/Color"
- template_fields:
- type: array
- readOnly: true
- items:
- type: string
- sub_dag:
- $ref: "#/components/schemas/DAG"
- downstream_task_ids:
- type: array
- readOnly: true
- items:
- type: string
- doc_md:
- type: string
- readOnly: true
- nullable: true
- description: |
- Task documentation in markdown.
-
- *New in version 2.10.0*
-
- TaskCollection:
- type: object
- description: Collection of tasks.
- properties:
- tasks:
- type: array
- items:
- $ref: "#/components/schemas/Task"
-
- # Plugin
- PluginCollectionItem:
- type: object
- description: |
- A plugin Item.
-
- *New in version 2.1.0*
- properties:
- name:
- type: string
- description: The name of the plugin
- hooks:
- type: array
- items:
- type: string
- nullable: true
- description: The plugin hooks
- executors:
- type: array
- items:
- type: string
- nullable: true
- description: The plugin executors
- macros:
- type: array
- items:
- type: string
- nullable: true
- description: The plugin macros
- flask_blueprints:
- type: array
- items:
- type: string
- nullable: true
- description: The flask blueprints
- appbuilder_views:
- type: array
- items:
- type: object
- nullable: true
- description: The appuilder views
- appbuilder_menu_items:
- type: array
- items:
- type: object
- nullable: true
- description: The Flask Appbuilder menu items
- global_operator_extra_links:
- type: array
- items:
- type: string
- nullable: true
- description: The global operator extra links
- operator_extra_links:
- type: array
- items:
- type: string
- nullable: true
- description: Operator extra links
- source:
- type: string
- description: The plugin source
- nullable: true
- ti_deps:
- type: array
- items:
- type: string
- description: The plugin task instance dependencies
- listeners:
- type: array
- items:
- type: string
- description: The plugin listeners
- timetables:
- type: array
- items:
- type: string
- description: The plugin timetables
-
- PluginCollection:
- type: object
- description: |
- A collection of plugin.
-
- *New in version 2.1.0*
- allOf:
- - type: object
- properties:
- plugins:
- type: array
- items:
- $ref: "#/components/schemas/PluginCollectionItem"
- - $ref: "#/components/schemas/CollectionInfo"
-
- Role:
- description: |
- a role item.
-
- *New in version 2.1.0*
- type: object
- properties:
- name:
- type: string
- description: |
- The name of the role
-
- *Changed in version 2.3.0*: A minimum character length requirement ('minLength') is added.
- minLength: 1
- actions:
- type: array
- items:
- $ref: "#/components/schemas/ActionResource"
-
- RoleCollection:
- description: |
- A collection of roles.
-
- *New in version 2.1.0*
- type: object
- allOf:
- - type: object
- properties:
- roles:
- type: array
- items:
- $ref: "#/components/schemas/Role"
- - $ref: "#/components/schemas/CollectionInfo"
-
- Action:
- description: |
- An action Item.
-
- *New in version 2.1.0*
- type: object
- properties:
- name:
- type: string
- description: The name of the permission "action"
- nullable: false
-
- ActionCollection:
- description: |
- A collection of actions.
-
- *New in version 2.1.0*
- type: object
- allOf:
- - type: object
- properties:
- actions:
- type: array
- items:
- $ref: "#/components/schemas/Action"
- - $ref: "#/components/schemas/CollectionInfo"
-
- Resource:
- description: |
- A resource on which permissions are granted.
-
- *New in version 2.1.0*
- type: object
- properties:
- name:
- type: string
- description: The name of the resource
- nullable: false
-
- ActionResource:
- description: |
- The Action-Resource item.
-
- *New in version 2.1.0*
- type: object
- properties:
- action:
- type: object
- $ref: "#/components/schemas/Action"
- description: The permission action
- resource:
- type: object
- $ref: "#/components/schemas/Resource"
- description: The permission resource
-
- Dataset:
- description: |
- A dataset item.
-
- *New in version 2.4.0*
- type: object
- properties:
- id:
- type: integer
- description: The dataset id
- uri:
- type: string
- description: The dataset uri
- nullable: false
- extra:
- type: object
- description: The dataset extra
- nullable: true
- created_at:
- type: string
- description: The dataset creation time
- nullable: false
- updated_at:
- type: string
- description: The dataset update time
- nullable: false
- consuming_dags:
- type: array
- items:
- $ref: "#/components/schemas/DagScheduleDatasetReference"
- producing_tasks:
- type: array
- items:
- $ref: "#/components/schemas/TaskOutletDatasetReference"
-
- TaskOutletDatasetReference:
- description: |
- A datasets reference to an upstream task.
-
- *New in version 2.4.0*
- type: object
- properties:
- dag_id:
- type: string
- description: The DAG ID that updates the dataset.
- nullable: true
- task_id:
- type: string
- description: The task ID that updates the dataset.
- nullable: true
- created_at:
- type: string
- description: The dataset creation time
- nullable: false
- updated_at:
- type: string
- description: The dataset update time
- nullable: false
-
- DagScheduleDatasetReference:
- description: |
- A datasets reference to a downstream DAG.
-
- *New in version 2.4.0*
- type: object
- properties:
- dag_id:
- type: string
- description: The DAG ID that depends on the dataset.
- nullable: true
- created_at:
- type: string
- description: The dataset reference creation time
- nullable: false
- updated_at:
- type: string
- description: The dataset reference update time
- nullable: false
-
- DatasetCollection:
- description: |
- A collection of datasets.
-
- *New in version 2.4.0*
- type: object
- allOf:
- - type: object
- properties:
- datasets:
- type: array
- items:
- $ref: "#/components/schemas/Dataset"
- - $ref: "#/components/schemas/CollectionInfo"
-
- DatasetEvent:
- description: |
- A dataset event.
-
- *New in version 2.4.0*
- type: object
- properties:
- dataset_id:
- type: integer
- description: The dataset id
- dataset_uri:
- type: string
- description: The URI of the dataset
- nullable: false
- extra:
- type: object
- description: The dataset event extra
- nullable: true
- source_dag_id:
- type: string
- description: The DAG ID that updated the dataset.
- nullable: true
- source_task_id:
- type: string
- description: The task ID that updated the dataset.
- nullable: true
- source_run_id:
- type: string
- description: The DAG run ID that updated the dataset.
- nullable: true
- source_map_index:
- type: integer
- description: The task map index that updated the dataset.
- nullable: true
- created_dagruns:
- type: array
- items:
- $ref: "#/components/schemas/BasicDAGRun"
- timestamp:
- type: string
- description: The dataset event creation time
- nullable: false
-
- CreateDatasetEvent:
- type: object
- required:
- - dataset_uri
- properties:
- dataset_uri:
- type: string
- description: The URI of the dataset
- nullable: false
- extra:
- type: object
- description: The dataset event extra
- nullable: true
-
- QueuedEvent:
- type: object
- properties:
- uri:
- type: string
- description: The datata uri.
- dag_id:
- type: string
- description: The DAG ID.
- created_at:
- type: string
- format: date-time
- description: The creation time of QueuedEvent
-
- QueuedEventCollection:
- description: |
- A collection of Dataset Dag Run Queues.
-
- *New in version 2.9.0*
- type: object
- allOf:
- - type: object
- properties:
- datasets:
- type: array
- items:
- $ref: "#/components/schemas/QueuedEvent"
- - $ref: "#/components/schemas/CollectionInfo"
-
- BasicDAGRun:
- type: object
- properties:
- run_id:
- type: string
- description: |
- Run ID.
- dag_id:
- type: string
- readOnly: true
- logical_date:
- type: string
- description: |
- The logical date (previously called execution date). This is the time or interval covered by
- this DAG run, according to the DAG definition.
-
- The value of this field can be set only when creating the object. If you try to modify the
- field of an existing object, the request fails with an BAD_REQUEST error.
-
- This together with DAG_ID are a unique key.
-
- *New in version 2.2.0*
- format: date-time
- start_date:
- type: string
- format: date-time
- description: |
- The start time. The time when DAG run was actually created.
-
- *Changed in version 2.1.3*: Field becomes nullable.
- readOnly: true
- nullable: true
- end_date:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- data_interval_start:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- data_interval_end:
- type: string
- format: date-time
- readOnly: true
- nullable: true
- state:
- $ref: "#/components/schemas/DagState"
-
- DatasetEventCollection:
- description: |
- A collection of dataset events.
-
- *New in version 2.4.0*
- type: object
- allOf:
- - type: object
- properties:
- dataset_events:
- type: array
- items:
- $ref: "#/components/schemas/DatasetEvent"
- - $ref: "#/components/schemas/CollectionInfo"
-
- # Configuration
- ConfigOption:
- type: object
- description: The option of configuration.
- properties:
- key:
- type: string
- readOnly: true
- value:
- type: string
- readOnly: true
-
- ConfigSection:
- type: object
- description: The section of configuration.
- properties:
- name:
- type: string
- readOnly: true
- options:
- type: array
- items:
- $ref: "#/components/schemas/ConfigOption"
-
- Config:
- type: object
- description: The configuration.
- properties:
- sections:
- type: array
- items:
- $ref: "#/components/schemas/ConfigSection"
-
- VersionInfo:
- type: object
- description: Version information.
- properties:
- version:
- type: string
- description: The version of Airflow
- git_version:
- type: string
- description: The git version (including git commit hash)
- nullable: true
-
- # Form
- ClearDagRun:
- type: object
- properties:
- dry_run:
- description: |
- If set, don't actually run this operation. The response will contain a list of task instances
- planned to be cleaned, but not modified in any way.
- type: boolean
- default: true
-
- ClearTaskInstances:
- type: object
- properties:
- dry_run:
- description: |
- If set, don't actually run this operation. The response will contain a list of task instances
- planned to be cleaned, but not modified in any way.
- type: boolean
- default: true
-
- task_ids:
- description: |
- A list of task ids to clear.
-
- *New in version 2.1.0*
- type: array
- items:
- type: string
- minItems: 1
-
- start_date:
- description: The minimum execution date to clear.
- type: string
- format: datetime
-
- end_date:
- description: The maximum execution date to clear.
- type: string
- format: datetime
-
- only_failed:
- description: Only clear failed tasks.
- type: boolean
- default: true
-
- only_running:
- description: Only clear running tasks.
- type: boolean
- default: false
-
- include_subdags:
- description: Clear tasks in subdags and clear external tasks indicated by ExternalTaskMarker.
- type: boolean
-
- include_parentdag:
- description: Clear tasks in the parent dag of the subdag.
- type: boolean
-
- reset_dag_runs:
- description: Set state of DAG runs to RUNNING.
- type: boolean
-
- dag_run_id:
- type: string
- description: The DagRun ID for this task instance
- nullable: true
-
- include_upstream:
- description: If set to true, upstream tasks are also affected.
- type: boolean
- default: false
-
- include_downstream:
- description: If set to true, downstream tasks are also affected.
- type: boolean
- default: false
-
- include_future:
- description: If set to True, also tasks from future DAG Runs are affected.
- type: boolean
- default: false
-
- include_past:
- description: If set to True, also tasks from past DAG Runs are affected.
- type: boolean
- default: false
-
- UpdateTaskInstancesState:
- type: object
- properties:
- dry_run:
- description: |
- If set, don't actually run this operation. The response will contain a list of task instances
- planned to be affected, but won't be modified in any way.
- type: boolean
- default: true
-
- task_id:
- description: The task ID.
- type: string
-
- execution_date:
- description: The execution date. Either set this or dag_run_id but not both.
- type: string
- format: datetime
-
- dag_run_id:
- description: |
- The task instance's DAG run ID. Either set this or execution_date but not both.
-
- *New in version 2.3.0*
- type: string
-
- include_upstream:
- description: If set to true, upstream tasks are also affected.
- type: boolean
-
- include_downstream:
- description: If set to true, downstream tasks are also affected.
- type: boolean
-
- include_future:
- description: If set to True, also tasks from future DAG Runs are affected.
- type: boolean
-
- include_past:
- description: If set to True, also tasks from past DAG Runs are affected.
- type: boolean
-
- new_state:
- $ref: "#/components/schemas/UpdateTaskState"
-
- UpdateTaskInstance:
- type: object
- properties:
- dry_run:
- description: |
- If set, don't actually run this operation. The response will contain the task instance
- planned to be affected, but won't be modified in any way.
- type: boolean
- default: true
-
- new_state:
- $ref: "#/components/schemas/UpdateTaskState"
-
- SetTaskInstanceNote:
- type: object
- required:
- - note
- properties:
- note:
- description: The custom note to set for this Task Instance.
- type: string
-
- ListDagRunsForm:
- type: object
- properties:
- order_by:
- type: string
- description: |
- The name of the field to order the results by. Prefix a field name
- with `-` to reverse the sort order.
-
- *New in version 2.1.0*
- page_offset:
- type: integer
- minimum: 0
- description: The number of items to skip before starting to collect the result set.
-
- page_limit:
- type: integer
- minimum: 1
- default: 100
- description: The numbers of items to return.
-
- dag_ids:
- type: array
- items:
- type: string
- description: Return objects with specific DAG IDs.
-
- The value can be repeated to retrieve multiple matching values (OR condition).
-
- states:
- type: array
- items:
- type: string
- description: Return objects with specific states.
-
- The value can be repeated to retrieve multiple matching values (OR condition).
-
- execution_date_gte:
- type: string
- format: date-time
- description: |
- Returns objects greater or equal to the specified date.
-
- This can be combined with execution_date_lte key to receive only the selected period.
-
- execution_date_lte:
- type: string
- format: date-time
- description: |
- Returns objects less than or equal to the specified date.
-
- This can be combined with execution_date_gte key to receive only the selected period.
-
- start_date_gte:
- type: string
- format: date-time
- description: |
- Returns objects greater or equal the specified date.
-
- This can be combined with start_date_lte key to receive only the selected period.
-
- start_date_lte:
- type: string
- format: date-time
- description: |
- Returns objects less or equal the specified date.
-
- This can be combined with start_date_gte parameter to receive only the selected period
-
- end_date_gte:
- type: string
- format: date-time
- description: |
- Returns objects greater or equal the specified date.
-
- This can be combined with end_date_lte parameter to receive only the selected period.
- end_date_lte:
- type: string
- format: date-time
- description: |
- Returns objects less than or equal to the specified date.
-
- This can be combined with end_date_gte parameter to receive only the selected period.
-
- ListTaskInstanceForm:
- type: object
- properties:
- page_offset:
- type: integer
- minimum: 0
- description: The number of items to skip before starting to collect the result set.
- page_limit:
- type: integer
- minimum: 1
- default: 100
- description: The numbers of items to return.
- dag_ids:
- type: array
- items:
- type: string
- description: Return objects with specific DAG IDs.
-
- The value can be repeated to retrieve multiple matching values (OR condition).
- dag_run_ids:
- type: array
- items:
- type: string
- description: Return objects with specific DAG Run IDs.
-
- The value can be repeated to retrieve multiple matching values (OR condition).
-
- *New in version 2.7.1*
- task_ids:
- type: array
- items:
- type: string
- description: Return objects with specific task IDs.
-
- The value can be repeated to retrieve multiple matching values (OR condition).
-
- *New in version 2.7.1*
- execution_date_gte:
- type: string
- format: date-time
- description: |
- Returns objects greater or equal to the specified date.
-
- This can be combined with execution_date_lte parameter to receive only the selected period.
- execution_date_lte:
- type: string
- format: date-time
- description: |
- Returns objects less than or equal to the specified date.
-
- This can be combined with execution_date_gte parameter to receive only the selected period.
- start_date_gte:
- type: string
- format: date-time
- description: |
- Returns objects greater or equal the specified date.
-
- This can be combined with start_date_lte parameter to receive only the selected period.
- start_date_lte:
- type: string
- format: date-time
- description: |
- Returns objects less or equal the specified date.
-
- This can be combined with start_date_gte parameter to receive only the selected period.
- end_date_gte:
- type: string
- format: date-time
- description: |
- Returns objects greater or equal the specified date.
-
- This can be combined with start_date_lte parameter to receive only the selected period.
- end_date_lte:
- type: string
- format: date-time
- description: |
- Returns objects less than or equal to the specified date.
-
- This can be combined with start_date_gte parameter to receive only the selected period.
- duration_gte:
- type: number
- description: |
- Returns objects greater than or equal to the specified values.
-
- This can be combined with duration_lte parameter to receive only the selected period.
- duration_lte:
- type: number
- description: |
- Returns objects less than or equal to the specified values.
-
- This can be combined with duration_gte parameter to receive only the selected range.
- state:
- type: array
- items:
- $ref: "#/components/schemas/TaskState"
- description: The value can be repeated to retrieve multiple matching values (OR condition).
- pool:
- type: array
- items:
- type: string
- description: The value can be repeated to retrieve multiple matching values (OR condition).
- queue:
- type: array
- items:
- type: string
- description: The value can be repeated to retrieve multiple matching values (OR condition).
- executor:
- type: array
- items:
- type: string
- description: The value can be repeated to retrieve multiple matching values (OR condition).
-
- # Common data type
- ScheduleInterval:
- description: |
- Schedule interval. Defines how often DAG runs, this object gets added to your latest task instance's
- execution_date to figure out the next schedule.
- nullable: true
- readOnly: true
- anyOf:
- - $ref: "#/components/schemas/TimeDelta"
- - $ref: "#/components/schemas/RelativeDelta"
- - $ref: "#/components/schemas/CronExpression"
- discriminator:
- propertyName: __type
-
- TimeDelta:
- description: Time delta
- type: object
- nullable: true
- required:
- - __type
- - days
- - seconds
- - microseconds
- properties:
- __type: { type: string }
- days: { type: integer }
- seconds: { type: integer }
- microseconds: { type: integer }
-
- RelativeDelta:
- description: Relative delta
- # TODO: Why we need these fields?
- type: object
- required:
- - __type
- - years
- - months
- - days
- - leapdays
- - hours
- - minutes
- - seconds
- - microseconds
- - year
- - month
- - day
- - hour
- - minute
- - second
- - microsecond
- properties:
- __type: { type: string }
- years: { type: integer }
- months: { type: integer }
- days: { type: integer }
- leapdays: { type: integer }
- hours: { type: integer }
- minutes: { type: integer }
- seconds: { type: integer }
- microseconds: { type: integer }
- year: { type: integer }
- month: { type: integer }
- day: { type: integer }
- hour: { type: integer }
- minute: { type: integer }
- second: { type: integer }
- microsecond: { type: integer }
-
- CronExpression:
- description: Cron expression
- type: object
- required:
- - __type
- - value
- properties:
- __type: { type: string }
- value: { type: string }
- nullable: true
-
- Timezone:
- type: string
-
- Tag:
- description: Tag
- # Object to maintain extensibility
- type: object
- properties:
- name:
- type: string
-
- Color:
- description: Color in hexadecimal notation.
- type: string
- pattern: ^#[a-fA-F0-9]{3,6}$
-
- ClassReference:
- description: Class reference
- type: object
- properties:
- module_path:
- type: string
- readOnly: true
- class_name:
- type: string
- readOnly: true
-
- # Generic
- Error:
- description: |
- [RFC7807](https://tools.ietf.org/html/rfc7807) compliant response.
- type: object
- properties:
- type:
- type: string
- description: |
- A URI reference [RFC3986] that identifies the problem type. This specification
- encourages that, when dereferenced, it provide human-readable documentation for
- the problem type.
- title:
- type: string
- description: A short, human-readable summary of the problem type.
- status:
- type: number
- description: The HTTP status code generated by the API server for this occurrence of the problem.
- detail:
- type: string
- description: A human-readable explanation specific to this occurrence of the problem.
- instance:
- type: string
- description: |
- A URI reference that identifies the specific occurrence of the problem. It may or may
- not yield further information if dereferenced.
- required:
- - type
- - title
- - status
-
- CollectionInfo:
- description: Metadata about collection.
- type: object
- properties:
- total_entries:
- type: integer
- description: |
- Count of total objects in the current result set before pagination parameters
- (limit, offset) are applied.
-
- # Enums
- TaskState:
- description: |
- Task state.
-
- *Changed in version 2.0.2*: 'removed' is added as a possible value.
-
- *Changed in version 2.2.0*: 'deferred' is added as a possible value.
-
- *Changed in version 2.4.0*: 'sensing' state has been removed.
- *Changed in version 2.4.2*: 'restarting' is added as a possible value
-
- *Changed in version 2.7.0*: Field becomes nullable and null primitive is added as a possible value.
- *Changed in version 2.7.0*: 'none' state is deprecated in favor of null.
-
- type: string
- nullable: true
- enum:
- - null
- - success
- - running
- - failed
- - upstream_failed
- - skipped
- - up_for_retry
- - up_for_reschedule
- - queued
- - none
- - scheduled
- - deferred
- - removed
- - restarting
-
- UpdateTaskState:
- description: |
- Expected new state. Only a subset of TaskState are available.
-
- Other states are managed directly by the scheduler or the workers and cannot be updated manually through the REST API.
-
- type: string
- enum:
- - success
- - failed
- - skipped
-
- DagState:
- description: |
- DAG State.
-
- *Changed in version 2.1.3*: 'queued' is added as a possible value.
- type: string
- readOnly: true
- enum:
- - queued
- - running
- - success
- - failed
-
- TriggerRule:
- description: |
- Trigger rule.
-
- *Changed in version 2.2.0*: 'none_failed_min_one_success' is added as a possible value. Deprecated 'dummy' and 'always' is added as a possible value
-
- *Changed in version 2.3.0*: 'all_skipped' is added as a possible value.
-
- *Changed in version 2.5.0*: 'one_done' is added as a possible value.
-
- *Changed in version 2.7.0*: 'all_done_setup_success' is added as a possible value.
- type: string
- enum:
- - all_success
- - all_failed
- - all_done
- - all_done_setup_success
- - one_success
- - one_failed
- - one_done
- - none_failed
- - none_skipped
- - none_failed_or_skipped
- - none_failed_min_one_success
- - dummy
- - all_skipped
- - always
-
- WeightRule:
- description: Weight rule.
- type: string
- enum:
- - downstream
- - upstream
- - absolute
-
- HealthStatus:
- description: Health status
- type: string
- nullable: true
- enum:
- - healthy
- - unhealthy
-
- # Reusable path, query, header and cookie parameters
- parameters:
- # Pagination parameters
- PageOffset:
- in: query
- name: offset
- required: false
- schema:
- type: integer
- minimum: 0
- description: The number of items to skip before starting to collect the result set.
-
- PageLimit:
- in: query
- name: limit
- required: false
- schema:
- type: integer
- default: 100
- description: The numbers of items to return.
-
- # Database entity fields
- Username:
- in: path
- name: username
- schema:
- type: string
- required: true
- description: |
- The username of the user.
-
- *New in version 2.1.0*
- RoleName:
- in: path
- name: role_name
- schema:
- type: string
- required: true
- description: The role name
-
- ConnectionID:
- in: path
- name: connection_id
- schema:
- type: string
- required: true
- description: The connection ID.
-
- DAGID:
- in: path
- name: dag_id
- schema:
- type: string
- required: true
- description: The DAG ID.
-
- TaskID:
- in: path
- name: task_id
- schema:
- type: string
- required: true
- description: The task ID.
-
- Event:
- in: query
- name: event
- schema:
- type: string
- required: false
- description: The name of event log.
-
- Owner:
- in: query
- name: owner
- schema:
- type: string
- required: false
- description: The owner's name of event log.
-
- Before:
- in: query
- name: before
- schema:
- type: string
- format: date-time
- required: false
- description: Timestamp to select event logs occurring before.
-
- After:
- in: query
- name: after
- schema:
- type: string
- format: date-time
- required: false
- description: Timestamp to select event logs occurring after.
-
- MapIndex:
- in: path
- name: map_index
- schema:
- type: integer
- required: true
- description: The map index.
-
- DAGRunID:
- in: path
- name: dag_run_id
- schema:
- type: string
- required: true
- description: The DAG run ID.
-
- TaskTryNumber:
- in: path
- name: task_try_number
- schema:
- type: integer
- required: true
- description: The task try number.
-
- EventLogID:
- in: path
- name: event_log_id
- schema:
- type: integer
- required: true
- description: The event log ID.
-
- ImportErrorID:
- in: path
- name: import_error_id
- schema:
- type: integer
- required: true
- description: The import error ID.
-
- DatasetURI:
- in: path
- name: uri
- schema:
- type: string
- format: path
- required: true
- description: The encoded Dataset URI
-
- PoolName:
- in: path
- name: pool_name
- schema:
- type: string
- required: true
- description: The pool name.
-
- VariableKey:
- in: path
- name: variable_key
- schema:
- type: string
- format: path
- required: true
- description: The variable Key.
-
- # Logs
- FullContent:
- in: query
- name: full_content
- schema:
- type: boolean
- required: false
- description: |
- A full content will be returned.
- By default, only the first fragment will be returned.
-
- ContinuationToken:
- in: query
- name: token
- schema:
- type: string
- required: false
- description: |
- A token that allows you to continue fetching logs.
- If passed, it will specify the location from which the download should be continued.
-
- XComKey:
- in: path
- name: xcom_key
- schema:
- type: string
- required: true
- description: The XCom key.
-
- # Filters
- FilterExecutionDateGTE:
- in: query
- name: execution_date_gte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects greater or equal to the specified date.
-
- This can be combined with execution_date_lte parameter to receive only the selected period.
- FilterExecutionDateLTE:
- in: query
- name: execution_date_lte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects less than or equal to the specified date.
-
- This can be combined with execution_date_gte parameter to receive only the selected period.
- FilterStartDateGTE:
- in: query
- name: start_date_gte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects greater or equal the specified date.
-
- This can be combined with start_date_lte parameter to receive only the selected period.
- FilterStartDateLTE:
- in: query
- name: start_date_lte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects less or equal the specified date.
-
- This can be combined with start_date_gte parameter to receive only the selected period.
- FilterEndDateGTE:
- in: query
- name: end_date_gte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects greater or equal the specified date.
-
- This can be combined with start_date_lte parameter to receive only the selected period.
- FilterEndDateLTE:
- in: query
- name: end_date_lte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects less than or equal to the specified date.
-
- This can be combined with start_date_gte parameter to receive only the selected period.
- FilterDurationGTE:
- in: query
- name: duration_gte
- schema:
- type: number
- required: false
- description: |
- Returns objects greater than or equal to the specified values.
-
- This can be combined with duration_lte parameter to receive only the selected period.
- FilterDurationLTE:
- in: query
- name: duration_lte
- schema:
- type: number
- required: false
- description: |
- Returns objects less than or equal to the specified values.
-
- This can be combined with duration_gte parameter to receive only the selected range.
- FilterState:
- in: query
- name: state
- schema:
- type: array
- items:
- type: string
- required: false
- description: The value can be repeated to retrieve multiple matching values (OR condition).
- FilterPool:
- in: query
- name: pool
- schema:
- type: array
- items:
- type: string
- required: false
- description: The value can be repeated to retrieve multiple matching values (OR condition).
- FilterQueue:
- in: query
- name: queue
- schema:
- type: array
- items:
- type: string
- description: The value can be repeated to retrieve multiple matching values (OR condition).
- FilterExecutor:
- in: query
- name: executor
- schema:
- type: array
- items:
- type: string
- description: The value can be repeated to retrieve multiple matching values (OR condition).
- FilterTags:
- in: query
- name: tags
- schema:
- type: array
- items:
- type: string
- description: |
- List of tags to filter results.
-
- *New in version 2.2.0*
-
- FilterDatasetID:
- in: query
- name: dataset_id
- schema:
- type: integer
- description: The Dataset ID that updated the dataset.
-
- FilterSourceDAGID:
- in: query
- name: source_dag_id
- schema:
- type: string
- description: The DAG ID that updated the dataset.
-
- FilterSourceTaskID:
- in: query
- name: source_task_id
- schema:
- type: string
- description: The task ID that updated the dataset.
-
- FilterSourceRunID:
- in: query
- name: source_run_id
- schema:
- type: string
- description: The DAG run ID that updated the dataset.
-
- FilterSourceMapIndex:
- in: query
- name: source_map_index
- schema:
- type: integer
- description: The map index that updated the dataset.
-
- FilterMapIndex:
- in: query
- name: map_index
- schema:
- type: integer
- description: Filter on map index for mapped task.
-
- FilterTryNumber:
- in: query
- name: try_number
- schema:
- type: integer
- description: Filter on try_number for task instance.
-
- OrderBy:
- in: query
- name: order_by
- schema:
- type: string
- required: false
- description: |
- The name of the field to order the results by.
- Prefix a field name with `-` to reverse the sort order.
-
- *New in version 2.1.0*
-
- OnlyActive:
- in: query
- name: only_active
- schema:
- type: boolean
- default: true
- required: false
- description: |
- Only filter active DAGs.
-
- *New in version 2.1.1*
-
- FilterUpdatedAtLTE:
- in: query
- name: updated_at_lte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects less or equal the specified date.
-
- This can be combined with updated_at_gte parameter to receive only the selected period.
-
- *New in version 2.6.0*
-
- FilterUpdatedAtGTE:
- in: query
- name: updated_at_gte
- schema:
- type: string
- format: date-time
- required: false
- description: |
- Returns objects greater or equal the specified date.
-
- This can be combined with updated_at_lte parameter to receive only the selected period.
-
- *New in version 2.6.0*
-
- Paused:
- in: query
- name: paused
- schema:
- type: boolean
- required: false
- description: |
- Only filter paused/unpaused DAGs. If absent or null, it returns paused and unpaused DAGs.
-
- *New in version 2.6.0*
-
- FilterXcomKey:
- in: query
- name: xcom_key
- schema:
- type: string
- required: false
- description: Only filter the XCom records which have the provided key.
-
- FilterDAGID:
- in: query
- name: dag_id
- schema:
- type: string
- required: false
- description: Returns objects matched by the DAG ID.
-
- FilterTaskID:
- in: query
- name: task_id
- schema:
- type: string
- required: false
- description: Returns objects matched by the Task ID.
-
- FilterRunID:
- in: query
- name: run_id
- schema:
- type: string
- required: false
- description: Returns objects matched by the Run ID.
-
- # Other parameters
- FileToken:
- in: path
- name: file_token
- schema:
- type: string
- required: true
- description: |
- The key containing the encrypted path to the file. Encryption and decryption take place only on
- the server. This prevents the client from reading an non-DAG file. This also ensures API
- extensibility, because the format of encrypted data may change.
-
- UpdateMask:
- in: query
- name: update_mask
- schema:
- type: array
- items:
- type: string
- description: |
- The fields to update on the resource. If absent or empty, all modifiable fields are updated.
- A comma-separated list of fully qualified names of fields.
- style: form
- explode: false
-
- ReturnFields:
- in: query
- name: fields
- schema:
- type: array
- items:
- type: string
- description: |
- List of field for return.
-
- # Reusable request bodies
- requestBodies: {}
-
- # Reusable responses, such as 401 Unauthenticated or 400 Bad Request
- responses:
- # 400
- "BadRequest":
- description: Client specified an invalid argument.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
- # 401
- "Unauthenticated":
- description: Request not authenticated due to missing, invalid, authentication info.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
- # 403
- "PermissionDenied":
- description: Client does not have sufficient permission.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
- # 404
- "NotFound":
- description: A specified resource is not found.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
- # 405
- "MethodNotAllowed":
- description: Request method is known by the server but is not supported by the target resource.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
- # 406
- "NotAcceptable":
- description: A specified Accept header is not allowed.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
- # 409
- "AlreadyExists":
- description: An existing resource conflicts with the request.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
- # 500
- "Unknown":
- description: Unknown server error.
- content:
- application/json:
- schema:
- $ref: "#/components/schemas/Error"
-
- # Reusable response headers
- headers: {}
-
- # Reusable examples
- examples: {}
-
- # Reusable links
- links: {}
-
- # Reusable callbacks
- callbacks: {}
-
- securitySchemes:
- Basic:
- type: http
- scheme: basic
- GoogleOpenId:
- type: openIdConnect
- openIdConnectUrl: https://accounts.google.com/.well-known/openid-configuration
- Kerberos:
- type: http
- scheme: negotiate
-
-# The API will provide support for plugins to support various authorization mechanisms.
-# Detailed information will be available in the plugin specification.
-security: []
-
-tags:
- - name: Config
- - name: Connection
- - name: DAG
- - name: DAGRun
- - name: DagWarning
- - name: Dataset
- - name: EventLog
- - name: ImportError
- - name: Monitoring
- - name: Permission
- - name: Plugin
- - name: Pool
- - name: Provider
- - name: Role
- - name: TaskInstance
- - name: User
- - name: Variable
- - name: XCom
-
-externalDocs:
- url: https://airflow.apache.org/docs/apache-airflow/stable/
diff --git a/src/airflow_mcp_server/tools/tool_manager.py b/src/airflow_mcp_server/tools/tool_manager.py
index ba48392..489d8d1 100644
--- a/src/airflow_mcp_server/tools/tool_manager.py
+++ b/src/airflow_mcp_server/tools/tool_manager.py
@@ -1,7 +1,7 @@
import logging
-from importlib import resources
from mcp.types import Tool
+from packaging.version import parse as parse_version
from airflow_mcp_server.client.airflow_client import AirflowClient
from airflow_mcp_server.config import AirflowConfig
@@ -13,65 +13,16 @@ logger = logging.getLogger(__name__)
_tools_cache: dict[str, AirflowTool] = {}
-def _initialize_client(config: AirflowConfig) -> AirflowClient:
- """Initialize Airflow client with configuration.
-
- Args:
- config: Configuration object with auth and URL settings
-
- Returns:
- AirflowClient instance
-
- Raises:
- ValueError: If default spec is not found
- """
- spec_path = config.spec_path
- if not spec_path:
- # Fallback to embedded v1.yaml
- try:
- with resources.files("airflow_mcp_server.resources").joinpath("v1.yaml").open("rb") as f:
- spec_path = f.name
- logger.info("OPENAPI_SPEC not set; using embedded v1.yaml from %s", spec_path)
- except Exception as e:
- raise ValueError("Default OpenAPI spec not found in package resources") from e
-
- # Initialize client with appropriate authentication method
- client_args = {"spec_path": spec_path, "base_url": config.base_url}
-
- # Apply cookie auth first if available (highest precedence)
- if config.cookie:
- client_args["cookie"] = config.cookie
- # Otherwise use auth token if available
- elif config.auth_token:
- client_args["auth_token"] = config.auth_token
-
- return AirflowClient(**client_args)
-
-
async def _initialize_tools(config: AirflowConfig) -> None:
- """Initialize tools cache with Airflow operations.
-
- Args:
- config: Configuration object with auth and URL settings
-
- Raises:
- ValueError: If initialization fails
- """
+ """Initialize tools cache with Airflow operations (async)."""
global _tools_cache
-
try:
- client = _initialize_client(config)
- spec_path = config.spec_path
- if not spec_path:
- with resources.files("airflow_mcp_server.resources").joinpath("v1.yaml").open("rb") as f:
- spec_path = f.name
- parser = OperationParser(spec_path)
-
- # Generate tools for each operation
- for operation_id in parser.get_operations():
- operation_details = parser.parse_operation(operation_id)
- tool = AirflowTool(operation_details, client)
- _tools_cache[operation_id] = tool
+ async with AirflowClient(base_url=config.base_url, auth_token=config.auth_token) as client:
+ parser = OperationParser(client.raw_spec)
+ for operation_id in parser.get_operations():
+ operation_details = parser.parse_operation(operation_id)
+ tool = AirflowTool(operation_details, client)
+ _tools_cache[operation_id] = tool
except Exception as e:
logger.error("Failed to initialize tools: %s", e)
@@ -92,9 +43,22 @@ async def get_airflow_tools(config: AirflowConfig, mode: str = "unsafe") -> list
Raises:
ValueError: If initialization fails
"""
+
+ # Version check before returning tools
if not _tools_cache:
await _initialize_tools(config)
+ # Only check version if get_version tool is present
+ if "get_version" in _tools_cache:
+ version_tool = _tools_cache["get_version"]
+ async with version_tool.client:
+ version_result = await version_tool.run()
+ airflow_version = version_result.get("version")
+ if airflow_version is None:
+ raise RuntimeError("Could not determine Airflow version from get_version tool.")
+ if parse_version(airflow_version) <= parse_version("3.1.0"):
+ raise RuntimeError(f"Airflow version {airflow_version} is not supported. Requires >= 3.1.0.")
+
tools = []
for operation_id, tool in _tools_cache.items():
try:
diff --git a/tests/client/test_airflow_client.py b/tests/client/test_airflow_client.py
index 0b4460c..4ee21c2 100644
--- a/tests/client/test_airflow_client.py
+++ b/tests/client/test_airflow_client.py
@@ -1,211 +1,69 @@
+import asyncio
import logging
-from importlib import resources
-from pathlib import Path
-from typing import Any
+from unittest.mock import patch
-import aiohttp
import pytest
-import yaml
-from aioresponses import aioresponses
-from airflow_mcp_server.client.airflow_client import AirflowClient
from openapi_core import OpenAPI
+from airflow_mcp_server.client.airflow_client import AirflowClient
+
logging.basicConfig(level=logging.DEBUG)
-def create_valid_spec(paths: dict[str, Any] | None = None) -> dict[str, Any]:
- return {"openapi": "3.0.0", "info": {"title": "Airflow API", "version": "1.0.0"}, "paths": paths or {}}
+@pytest.mark.asyncio
+async def test_async_multiple_clients_concurrent():
+ """Test initializing two AirflowClients concurrently to verify async power."""
+
+ async def mock_get(self, url, *args, **kwargs):
+ class MockResponse:
+ def __init__(self):
+ self.status_code = 200
+
+ def raise_for_status(self):
+ pass
+
+ def json(self):
+ return {"openapi": "3.1.0", "info": {"title": "Airflow API", "version": "2.0.0"}, "paths": {}}
+
+ return MockResponse()
+
+ with patch("httpx.AsyncClient.get", new=mock_get):
+
+ async def create_and_check():
+ async with AirflowClient(base_url="http://localhost:8080", auth_token="token") as client:
+ assert client.base_url == "http://localhost:8080"
+ assert client.headers["Authorization"] == "Bearer token"
+ assert isinstance(client.spec, OpenAPI)
+
+ # Run two clients concurrently
+ await asyncio.gather(create_and_check(), create_and_check())
-@pytest.fixture
-def client() -> AirflowClient:
- with resources.files("airflow_mcp_server.resources").joinpath("v1.yaml").open("rb") as f:
- spec = yaml.safe_load(f)
- return AirflowClient(
- spec_path=spec,
- base_url="http://localhost:8080/api/v1",
- auth_token="test-token",
- )
+@pytest.mark.asyncio
+async def test_async_client_initialization():
+ async def mock_get(self, url, *args, **kwargs):
+ class MockResponse:
+ def __init__(self):
+ self.status_code = 200
+
+ def raise_for_status(self):
+ pass
+
+ def json(self):
+ return {"openapi": "3.1.0", "info": {"title": "Airflow API", "version": "2.0.0"}, "paths": {}}
+
+ return MockResponse()
+
+ with patch("httpx.AsyncClient.get", new=mock_get):
+ async with AirflowClient(base_url="http://localhost:8080", auth_token="test-token") as client:
+ assert client.base_url == "http://localhost:8080"
+ assert client.headers["Authorization"] == "Bearer test-token"
+ assert isinstance(client.spec, OpenAPI)
-def test_init_client_initialization(client: AirflowClient) -> None:
- assert isinstance(client.spec, OpenAPI)
- assert client.base_url == "http://localhost:8080/api/v1"
- assert client.headers["Authorization"] == "Basic test-token"
- assert "Cookie" not in client.headers
-
-
-def test_init_client_with_cookie() -> None:
- with resources.files("airflow_mcp_server.resources").joinpath("v1.yaml").open("rb") as f:
- spec = yaml.safe_load(f)
- client = AirflowClient(
- spec_path=spec,
- base_url="http://localhost:8080/api/v1",
- cookie="session=b18e8c5e-92f5-4d1e-a8f2-7c1b62110cae.vmX5kqDq5TdvT9BzTlypMVclAwM",
- )
- assert isinstance(client.spec, OpenAPI)
- assert client.base_url == "http://localhost:8080/api/v1"
- assert "Authorization" not in client.headers
- assert client.headers["Cookie"] == "session=b18e8c5e-92f5-4d1e-a8f2-7c1b62110cae.vmX5kqDq5TdvT9BzTlypMVclAwM"
-
-
-def test_init_client_missing_auth() -> None:
- with resources.files("airflow_mcp_server.resources").joinpath("v1.yaml").open("rb") as f:
- spec = yaml.safe_load(f)
- with pytest.raises(ValueError, match="Either auth_token or cookie must be provided"):
+def test_init_client_missing_auth():
+ with pytest.raises(ValueError, match="auth_token"):
AirflowClient(
- spec_path=spec,
- base_url="http://localhost:8080/api/v1",
+ base_url="http://localhost:8080",
+ auth_token=None,
)
-
-
-def test_init_load_spec_from_bytes() -> None:
- spec_bytes = yaml.dump(create_valid_spec()).encode()
- client = AirflowClient(spec_path=spec_bytes, base_url="http://test", auth_token="test")
- assert client.raw_spec is not None
-
-
-def test_init_load_spec_from_path(tmp_path: Path) -> None:
- spec_file = tmp_path / "test_spec.yaml"
- spec_file.write_text(yaml.dump(create_valid_spec()))
- client = AirflowClient(spec_path=spec_file, base_url="http://test", auth_token="test")
- assert client.raw_spec is not None
-
-
-def test_init_invalid_spec() -> None:
- with pytest.raises(ValueError):
- AirflowClient(spec_path={"invalid": "spec"}, base_url="http://test", auth_token="test")
-
-
-def test_init_missing_paths_in_spec() -> None:
- with pytest.raises(ValueError):
- AirflowClient(spec_path={"openapi": "3.0.0"}, base_url="http://test", auth_token="test")
-
-
-def test_ops_get_operation(client: AirflowClient) -> None:
- path, method, operation = client._get_operation("get_dags")
- assert path == "/dags"
- assert method == "get"
- assert operation.operation_id == "get_dags"
-
- path, method, operation = client._get_operation("get_dag")
- assert path == "/dags/{dag_id}"
- assert method == "get"
- assert operation.operation_id == "get_dag"
-
-
-def test_ops_nonexistent_operation(client: AirflowClient) -> None:
- with pytest.raises(ValueError, match="Operation nonexistent not found in spec"):
- client._get_operation("nonexistent")
-
-
-def test_ops_case_sensitive_operation(client: AirflowClient) -> None:
- with pytest.raises(ValueError):
- client._get_operation("GET_DAGS")
-
-
-@pytest.mark.asyncio
-async def test_exec_without_context() -> None:
- client = AirflowClient(
- spec_path=create_valid_spec(),
- base_url="http://test",
- auth_token="test",
- )
- with pytest.raises(RuntimeError, match="Client not in async context"):
- await client.execute("get_dags")
-
-
-@pytest.mark.asyncio
-async def test_exec_get_dags(client: AirflowClient) -> None:
- expected_response = {
- "dags": [
- {
- "dag_id": "test_dag",
- "is_active": True,
- "is_paused": False,
- }
- ],
- "total_entries": 1,
- }
-
- with aioresponses() as mock:
- async with client:
- mock.get(
- "http://localhost:8080/api/v1/dags?limit=100",
- status=200,
- payload=expected_response,
- )
- response = await client.execute("get_dags", query_params={"limit": 100})
- assert response == expected_response
-
-
-@pytest.mark.asyncio
-async def test_exec_get_dag(client: AirflowClient) -> None:
- expected_response = {
- "dag_id": "test_dag",
- "is_active": True,
- "is_paused": False,
- }
-
- with aioresponses() as mock:
- async with client:
- mock.get(
- "http://localhost:8080/api/v1/dags/test_dag",
- status=200,
- payload=expected_response,
- )
- response = await client.execute(
- "get_dag",
- path_params={"dag_id": "test_dag"},
- )
- assert response == expected_response
-
-
-@pytest.mark.asyncio
-async def test_exec_invalid_params(client: AirflowClient) -> None:
- with pytest.raises(ValueError):
- async with client:
- # Test with missing required parameter
- await client.execute("get_dag", path_params={})
-
- with pytest.raises(ValueError):
- async with client:
- # Test with invalid parameter name
- await client.execute("get_dag", path_params={"invalid": "value"})
-
-
-@pytest.mark.asyncio
-async def test_exec_timeout(client: AirflowClient) -> None:
- with aioresponses() as mock:
- mock.get("http://localhost:8080/api/v1/dags", exception=aiohttp.ClientError("Timeout"))
- async with client:
- with pytest.raises(aiohttp.ClientError):
- await client.execute("get_dags")
-
-
-@pytest.mark.asyncio
-async def test_exec_error_response(client: AirflowClient) -> None:
- with aioresponses() as mock:
- async with client:
- mock.get(
- "http://localhost:8080/api/v1/dags",
- status=403,
- body="Forbidden",
- )
- with pytest.raises(aiohttp.ClientResponseError):
- await client.execute("get_dags")
-
-
-@pytest.mark.asyncio
-async def test_exec_session_management(client: AirflowClient) -> None:
- async with client:
- with aioresponses() as mock:
- mock.get(
- "http://localhost:8080/api/v1/dags",
- status=200,
- payload={"dags": []},
- )
- await client.execute("get_dags")
-
- with pytest.raises(RuntimeError):
- await client.execute("get_dags")
diff --git a/tests/parser/openapi.json b/tests/parser/openapi.json
new file mode 100644
index 0000000..500c107
--- /dev/null
+++ b/tests/parser/openapi.json
@@ -0,0 +1,17319 @@
+{
+ "openapi": "3.1.0",
+ "info": {
+ "title": "Airflow API",
+ "description": "Airflow API. All endpoints located under ``/api/v2`` can be used safely, are stable and backward compatible. Endpoints located under ``/ui`` are dedicated to the UI and are subject to breaking change depending on the need of the frontend. Users should not rely on those but use the public ones instead.",
+ "version": "2"
+ },
+ "paths": {
+ "/api/v2/assets": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Assets",
+ "description": "Get assets.",
+ "operationId": "get_assets",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "name_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Name Pattern"
+ }
+ },
+ {
+ "name": "uri_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Uri Pattern"
+ }
+ },
+ {
+ "name": "dag_ids",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Dag Ids"
+ }
+ },
+ {
+ "name": "only_active",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true,
+ "title": "Only Active"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/assets/aliases": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Asset Aliases",
+ "description": "Get asset aliases.",
+ "operationId": "get_asset_aliases",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "name_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Name Pattern"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetAliasCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/assets/aliases/{asset_alias_id}": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Asset Alias",
+ "description": "Get an asset alias.",
+ "operationId": "get_asset_alias",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "asset_alias_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Asset Alias Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/assets/events": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Asset Events",
+ "description": "Get asset events.",
+ "operationId": "get_asset_events",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "timestamp",
+ "title": "Order By"
+ }
+ },
+ {
+ "name": "asset_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Asset Id"
+ }
+ },
+ {
+ "name": "source_dag_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Source Dag Id"
+ }
+ },
+ {
+ "name": "source_task_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Source Task Id"
+ }
+ },
+ {
+ "name": "source_run_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Source Run Id"
+ }
+ },
+ {
+ "name": "source_map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Source Map Index"
+ }
+ },
+ {
+ "name": "timestamp_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Timestamp Gte"
+ }
+ },
+ {
+ "name": "timestamp_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Timestamp Lte"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetEventCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Create Asset Event",
+ "description": "Create asset events.",
+ "operationId": "create_asset_event",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/CreateAssetEventsBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetEventResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/assets/{asset_id}/materialize": {
+ "post": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Materialize Asset",
+ "description": "Materialize an asset by triggering a DAG run that produces it.",
+ "operationId": "materialize_asset",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "asset_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Asset Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/assets/{asset_id}/queuedEvents": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Asset Queued Events",
+ "description": "Get queued asset events for an asset.",
+ "operationId": "get_asset_queued_events",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "asset_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Asset Id"
+ }
+ },
+ {
+ "name": "before",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Before"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/QueuedEventCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Delete Asset Queued Events",
+ "description": "Delete queued asset events for an asset.",
+ "operationId": "delete_asset_queued_events",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "asset_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Asset Id"
+ }
+ },
+ {
+ "name": "before",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Before"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/assets/{asset_id}": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Asset",
+ "description": "Get an asset.",
+ "operationId": "get_asset",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "asset_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Asset Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/assets/queuedEvents": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Dag Asset Queued Events",
+ "description": "Get queued asset events for a DAG.",
+ "operationId": "get_dag_asset_queued_events",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "before",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Before"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/QueuedEventCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Delete Dag Asset Queued Events",
+ "operationId": "delete_dag_asset_queued_events",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "before",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Before"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/assets/{asset_id}/queuedEvents": {
+ "get": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Get Dag Asset Queued Event",
+ "description": "Get a queued asset event for a DAG.",
+ "operationId": "get_dag_asset_queued_event",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "asset_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Asset Id"
+ }
+ },
+ {
+ "name": "before",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Before"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/QueuedEventResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Asset"
+ ],
+ "summary": "Delete Dag Asset Queued Event",
+ "description": "Delete a queued asset event for a DAG.",
+ "operationId": "delete_dag_asset_queued_event",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "asset_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Asset Id"
+ }
+ },
+ {
+ "name": "before",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Before"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/backfills": {
+ "get": {
+ "tags": [
+ "Backfill"
+ ],
+ "summary": "List Backfills",
+ "operationId": "list_backfills",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Backfill"
+ ],
+ "summary": "Create Backfill",
+ "operationId": "create_backfill",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillPostBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/backfills/{backfill_id}": {
+ "get": {
+ "tags": [
+ "Backfill"
+ ],
+ "summary": "Get Backfill",
+ "operationId": "get_backfill",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "backfill_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "title": "Backfill Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/backfills/{backfill_id}/pause": {
+ "put": {
+ "tags": [
+ "Backfill"
+ ],
+ "summary": "Pause Backfill",
+ "operationId": "pause_backfill",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "backfill_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "title": "Backfill Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/backfills/{backfill_id}/unpause": {
+ "put": {
+ "tags": [
+ "Backfill"
+ ],
+ "summary": "Unpause Backfill",
+ "operationId": "unpause_backfill",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "backfill_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "title": "Backfill Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/backfills/{backfill_id}/cancel": {
+ "put": {
+ "tags": [
+ "Backfill"
+ ],
+ "summary": "Cancel Backfill",
+ "operationId": "cancel_backfill",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "backfill_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "title": "Backfill Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/backfills/dry_run": {
+ "post": {
+ "tags": [
+ "Backfill"
+ ],
+ "summary": "Create Backfill Dry Run",
+ "operationId": "create_backfill_dry_run",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BackfillPostBody"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DryRunBackfillCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "404": {
+ "description": "Not Found",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "409": {
+ "description": "Conflict",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ]
+ }
+ },
+ "/api/v2/connections/{connection_id}": {
+ "delete": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Delete Connection",
+ "description": "Delete a connection entry.",
+ "operationId": "delete_connection",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "connection_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Connection Id"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Get Connection",
+ "description": "Get a connection entry.",
+ "operationId": "get_connection",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "connection_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Connection Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Patch Connection",
+ "description": "Update a connection entry.",
+ "operationId": "patch_connection",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "connection_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Connection Id"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/connections": {
+ "get": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Get Connections",
+ "description": "Get all connection entries.",
+ "operationId": "get_connections",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ },
+ {
+ "name": "connection_id_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Connection Id Pattern"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Post Connection",
+ "description": "Create connection entry.",
+ "operationId": "post_connection",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Bulk Connections",
+ "description": "Bulk create, update, and delete connections.",
+ "operationId": "bulk_connections",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkBody_ConnectionBody_"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/connections/test": {
+ "post": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Test Connection",
+ "description": "Test an API connection.\n\nThis method first creates an in-memory transient conn_id & exports that to an env var,\nas some hook classes tries to find out the `conn` from their __init__ method & errors out if not found.\nIt also deletes the conn id env connection after the test.",
+ "operationId": "test_connection",
+ "requestBody": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionBody"
+ }
+ }
+ },
+ "required": true
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ConnectionTestResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ]
+ }
+ },
+ "/api/v2/connections/defaults": {
+ "post": {
+ "tags": [
+ "Connection"
+ ],
+ "summary": "Create Default Connections",
+ "description": "Create default connections.",
+ "operationId": "create_default_connections",
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ]
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}": {
+ "get": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Get Dag Run",
+ "operationId": "get_dag_run",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Delete Dag Run",
+ "description": "Delete a DAG Run entry.",
+ "operationId": "delete_dag_run",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Patch Dag Run",
+ "description": "Modify a DAG Run.",
+ "operationId": "patch_dag_run",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunPatchBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/upstreamAssetEvents": {
+ "get": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Get Upstream Asset Events",
+ "description": "If dag run is asset-triggered, return the asset events that triggered it.",
+ "operationId": "get_upstream_asset_events",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/AssetEventCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/clear": {
+ "post": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Clear Dag Run",
+ "operationId": "clear_dag_run",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunClearBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TaskInstanceCollectionResponse"
+ },
+ {
+ "$ref": "#/components/schemas/DAGRunResponse"
+ }
+ ],
+ "title": "Response Clear Dag Run"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns": {
+ "get": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Get Dag Runs",
+ "description": "Get all DAG Runs.\n\nThis endpoint allows specifying `~` as the dag_id to retrieve Dag Runs for all DAGs.",
+ "operationId": "get_dag_runs",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "run_after_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Gte"
+ }
+ },
+ {
+ "name": "run_after_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Lte"
+ }
+ },
+ {
+ "name": "logical_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Gte"
+ }
+ },
+ {
+ "name": "logical_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Lte"
+ }
+ },
+ {
+ "name": "start_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Gte"
+ }
+ },
+ {
+ "name": "start_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Lte"
+ }
+ },
+ {
+ "name": "end_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Gte"
+ }
+ },
+ {
+ "name": "end_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Lte"
+ }
+ },
+ {
+ "name": "updated_at_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Updated At Gte"
+ }
+ },
+ {
+ "name": "updated_at_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Updated At Lte"
+ }
+ },
+ {
+ "name": "run_type",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Run Type"
+ }
+ },
+ {
+ "name": "state",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "State"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Trigger Dag Run",
+ "description": "Trigger a DAG.",
+ "operationId": "trigger_dag_run",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "title": "Dag Id"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TriggerDAGRunPostBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/list": {
+ "post": {
+ "tags": [
+ "DagRun"
+ ],
+ "summary": "Get List Dag Runs Batch",
+ "description": "Get a list of DAG Runs.",
+ "operationId": "get_list_dag_runs_batch",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "const": "~",
+ "type": "string",
+ "title": "Dag Id"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunsBatchBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGRunCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dagSources/{dag_id}": {
+ "get": {
+ "tags": [
+ "DagSource"
+ ],
+ "summary": "Get Dag Source",
+ "description": "Get source code using file token.",
+ "operationId": "get_dag_source",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "version_number",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Version Number"
+ }
+ },
+ {
+ "name": "accept",
+ "in": "header",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "application/json",
+ "text/plain",
+ "*/*"
+ ],
+ "default": "*/*",
+ "title": "Accept"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGSourceResponse"
+ }
+ },
+ "text/plain": {
+ "schema": {
+ "type": "string",
+ "example": "dag code"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "406": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Acceptable"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dagStats": {
+ "get": {
+ "tags": [
+ "DagStats"
+ ],
+ "summary": "Get Dag Stats",
+ "description": "Get Dag statistics.",
+ "operationId": "get_dag_stats",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_ids",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Dag Ids"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DagStatsCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dagReports": {
+ "get": {
+ "tags": [
+ "DagReport"
+ ],
+ "summary": "Get Dag Reports",
+ "description": "Get DAG report.",
+ "operationId": "get_dag_reports",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "subdir",
+ "in": "query",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Subdir"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/config": {
+ "get": {
+ "tags": [
+ "Config"
+ ],
+ "summary": "Get Config",
+ "operationId": "get_config",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "section",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Section"
+ }
+ },
+ {
+ "name": "accept",
+ "in": "header",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "application/json",
+ "text/plain",
+ "*/*"
+ ],
+ "default": "*/*",
+ "title": "Accept"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Config"
+ }
+ },
+ "text/plain": {
+ "schema": {
+ "type": "string",
+ "example": "[core]\ndags_folder = /opt/airflow/dags\nbase_log_folder = /opt/airflow/logs\n\n[smtp]\nsmtp_host = localhost\nsmtp_mail_from = airflow@example.com\n"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "406": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Acceptable"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/config/section/{section}/option/{option}": {
+ "get": {
+ "tags": [
+ "Config"
+ ],
+ "summary": "Get Config Value",
+ "operationId": "get_config_value",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "section",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Section"
+ }
+ },
+ {
+ "name": "option",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Option"
+ }
+ },
+ {
+ "name": "accept",
+ "in": "header",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "application/json",
+ "text/plain",
+ "*/*"
+ ],
+ "default": "*/*",
+ "title": "Accept"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/Config"
+ }
+ },
+ "text/plain": {
+ "schema": {
+ "type": "string",
+ "example": "[core]\ndags_folder = /opt/airflow/dags\nbase_log_folder = /opt/airflow/logs\n"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "406": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Acceptable"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dagWarnings": {
+ "get": {
+ "tags": [
+ "DagWarning"
+ ],
+ "summary": "List Dag Warnings",
+ "description": "Get a list of DAG warnings.",
+ "operationId": "list_dag_warnings",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "warning_type",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagWarningType"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Warning Type"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "dag_id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGWarningCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags": {
+ "get": {
+ "tags": [
+ "DAG"
+ ],
+ "summary": "Get Dags",
+ "description": "Get all DAGs.",
+ "operationId": "get_dags",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Tags"
+ }
+ },
+ {
+ "name": "tags_match_mode",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "enum": [
+ "any",
+ "all"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Tags Match Mode"
+ }
+ },
+ {
+ "name": "owners",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Owners"
+ }
+ },
+ {
+ "name": "dag_id_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Id Pattern"
+ }
+ },
+ {
+ "name": "dag_display_name_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Display Name Pattern"
+ }
+ },
+ {
+ "name": "exclude_stale",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true,
+ "title": "Exclude Stale"
+ }
+ },
+ {
+ "name": "paused",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Paused"
+ }
+ },
+ {
+ "name": "last_dag_run_state",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagRunState"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Dag Run State"
+ }
+ },
+ {
+ "name": "dag_run_start_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run Start Date Gte"
+ }
+ },
+ {
+ "name": "dag_run_start_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run Start Date Lte"
+ }
+ },
+ {
+ "name": "dag_run_end_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run End Date Gte"
+ }
+ },
+ {
+ "name": "dag_run_end_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run End Date Lte"
+ }
+ },
+ {
+ "name": "dag_run_state",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Dag Run State"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "dag_id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DAG"
+ ],
+ "summary": "Patch Dags",
+ "description": "Patch multiple DAGs.",
+ "operationId": "patch_dags",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Tags"
+ }
+ },
+ {
+ "name": "tags_match_mode",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "enum": [
+ "any",
+ "all"
+ ],
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Tags Match Mode"
+ }
+ },
+ {
+ "name": "owners",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Owners"
+ }
+ },
+ {
+ "name": "dag_id_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Id Pattern"
+ }
+ },
+ {
+ "name": "exclude_stale",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": true,
+ "title": "Exclude Stale"
+ }
+ },
+ {
+ "name": "paused",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Paused"
+ }
+ },
+ {
+ "name": "last_dag_run_state",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagRunState"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Dag Run State"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGPatchBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}": {
+ "get": {
+ "tags": [
+ "DAG"
+ ],
+ "summary": "Get Dag",
+ "description": "Get basic information about a DAG.",
+ "operationId": "get_dag",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unprocessable Entity"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DAG"
+ ],
+ "summary": "Patch Dag",
+ "description": "Patch the specific DAG.",
+ "operationId": "patch_dag",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGPatchBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DAG"
+ ],
+ "summary": "Delete Dag",
+ "description": "Delete the specific DAG.",
+ "operationId": "delete_dag",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unprocessable Entity"
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/details": {
+ "get": {
+ "tags": [
+ "DAG"
+ ],
+ "summary": "Get Dag Details",
+ "description": "Get details of DAG.",
+ "operationId": "get_dag_details",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGDetailsResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/eventLogs/{event_log_id}": {
+ "get": {
+ "tags": [
+ "Event Log"
+ ],
+ "summary": "Get Event Log",
+ "operationId": "get_event_log",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "event_log_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Event Log Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EventLogResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/eventLogs": {
+ "get": {
+ "tags": [
+ "Event Log"
+ ],
+ "summary": "Get Event Logs",
+ "description": "Get all Event Logs.",
+ "operationId": "get_event_logs",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ },
+ {
+ "name": "dag_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "run_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "try_number",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Try Number"
+ }
+ },
+ {
+ "name": "owner",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Owner"
+ }
+ },
+ {
+ "name": "event",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Event"
+ }
+ },
+ {
+ "name": "excluded_events",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Excluded Events"
+ }
+ },
+ {
+ "name": "included_events",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Included Events"
+ }
+ },
+ {
+ "name": "before",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Before"
+ }
+ },
+ {
+ "name": "after",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "After"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/EventLogCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/links": {
+ "get": {
+ "tags": [
+ "Extra Links",
+ "Task Instance"
+ ],
+ "summary": "Get Extra Links",
+ "description": "Get extra links for task instance.",
+ "operationId": "get_extra_links",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExtraLinkCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/importErrors/{import_error_id}": {
+ "get": {
+ "tags": [
+ "Import Error"
+ ],
+ "summary": "Get Import Error",
+ "description": "Get an import error.",
+ "operationId": "get_import_error",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "import_error_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Import Error Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportErrorResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/importErrors": {
+ "get": {
+ "tags": [
+ "Import Error"
+ ],
+ "summary": "Get Import Errors",
+ "description": "Get all import errors.",
+ "operationId": "get_import_errors",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ImportErrorCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/jobs": {
+ "get": {
+ "tags": [
+ "Job"
+ ],
+ "summary": "Get Jobs",
+ "description": "Get all jobs.",
+ "operationId": "get_jobs",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "is_alive",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Is Alive"
+ }
+ },
+ {
+ "name": "start_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Gte"
+ }
+ },
+ {
+ "name": "start_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Lte"
+ }
+ },
+ {
+ "name": "end_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Gte"
+ }
+ },
+ {
+ "name": "end_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Lte"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ },
+ {
+ "name": "job_state",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Job State"
+ }
+ },
+ {
+ "name": "job_type",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Job Type"
+ }
+ },
+ {
+ "name": "hostname",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Hostname"
+ }
+ },
+ {
+ "name": "executor_class",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Executor Class"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/JobCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/plugins": {
+ "get": {
+ "tags": [
+ "Plugin"
+ ],
+ "summary": "Get Plugins",
+ "operationId": "get_plugins",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PluginCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/plugins/importErrors": {
+ "get": {
+ "tags": [
+ "Plugin"
+ ],
+ "summary": "Import Errors",
+ "operationId": "import_errors",
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PluginImportErrorCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Forbidden",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ }
+ }
+ },
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ]
+ }
+ },
+ "/api/v2/pools/{pool_name}": {
+ "delete": {
+ "tags": [
+ "Pool"
+ ],
+ "summary": "Delete Pool",
+ "description": "Delete a pool entry.",
+ "operationId": "delete_pool",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "pool_name",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Pool Name"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Pool"
+ ],
+ "summary": "Get Pool",
+ "description": "Get a pool.",
+ "operationId": "get_pool",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "pool_name",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Pool Name"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PoolResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Pool"
+ ],
+ "summary": "Patch Pool",
+ "description": "Update a Pool.",
+ "operationId": "patch_pool",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "pool_name",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Pool Name"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PoolPatchBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PoolResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/pools": {
+ "get": {
+ "tags": [
+ "Pool"
+ ],
+ "summary": "Get Pools",
+ "description": "Get all pools entries.",
+ "operationId": "get_pools",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ },
+ {
+ "name": "pool_name_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Pool Name Pattern"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PoolCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Pool"
+ ],
+ "summary": "Post Pool",
+ "description": "Create a Pool.",
+ "operationId": "post_pool",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PoolBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PoolResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Pool"
+ ],
+ "summary": "Bulk Pools",
+ "description": "Bulk create, update, and delete pools.",
+ "operationId": "bulk_pools",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkBody_PoolBody_"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/providers": {
+ "get": {
+ "tags": [
+ "Provider"
+ ],
+ "summary": "Get Providers",
+ "description": "Get providers.",
+ "operationId": "get_providers",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ProviderCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries/{xcom_key}": {
+ "get": {
+ "tags": [
+ "XCom"
+ ],
+ "summary": "Get Xcom Entry",
+ "description": "Get an XCom entry.",
+ "operationId": "get_xcom_entry",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "xcom_key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Xcom Key"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": -1,
+ "default": -1,
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "deserialize",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false,
+ "title": "Deserialize"
+ }
+ },
+ {
+ "name": "stringify",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false,
+ "title": "Stringify"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/XComResponseNative"
+ },
+ {
+ "$ref": "#/components/schemas/XComResponseString"
+ }
+ ],
+ "title": "Response Get Xcom Entry"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "XCom"
+ ],
+ "summary": "Update Xcom Entry",
+ "description": "Update an existing XCom entry.",
+ "operationId": "update_xcom_entry",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "xcom_key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Xcom Key"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/XComUpdateBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/XComResponseNative"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/xcomEntries": {
+ "get": {
+ "tags": [
+ "XCom"
+ ],
+ "summary": "Get Xcom Entries",
+ "description": "Get all XCom entries.\n\nThis endpoint allows specifying `~` as the dag_id, dag_run_id, task_id to retrieve XCom entries for all DAGs.",
+ "operationId": "get_xcom_entries",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "xcom_key",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Xcom Key"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "integer",
+ "minimum": -1
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/XComCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "XCom"
+ ],
+ "summary": "Create Xcom Entry",
+ "description": "Create an XCom entry.",
+ "operationId": "create_xcom_entry",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/XComCreateBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/XComResponseNative"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Task Instance",
+ "description": "Get task instance.",
+ "operationId": "get_task_instance",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Patch Task Instance",
+ "description": "Update a task instance.",
+ "operationId": "patch_task_instance",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PatchTaskInstanceBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/listMapped": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Mapped Task Instances",
+ "description": "Get list of mapped task instances.",
+ "operationId": "get_mapped_task_instances",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "run_after_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Gte"
+ }
+ },
+ {
+ "name": "run_after_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Lte"
+ }
+ },
+ {
+ "name": "logical_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Gte"
+ }
+ },
+ {
+ "name": "logical_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Lte"
+ }
+ },
+ {
+ "name": "start_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Gte"
+ }
+ },
+ {
+ "name": "start_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Lte"
+ }
+ },
+ {
+ "name": "end_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Gte"
+ }
+ },
+ {
+ "name": "end_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Lte"
+ }
+ },
+ {
+ "name": "updated_at_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Updated At Gte"
+ }
+ },
+ {
+ "name": "updated_at_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Updated At Lte"
+ }
+ },
+ {
+ "name": "duration_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration Gte"
+ }
+ },
+ {
+ "name": "duration_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration Lte"
+ }
+ },
+ {
+ "name": "state",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "State"
+ }
+ },
+ {
+ "name": "pool",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Pool"
+ }
+ },
+ {
+ "name": "queue",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Queue"
+ }
+ },
+ {
+ "name": "executor",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Executor"
+ }
+ },
+ {
+ "name": "version_number",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "title": "Version Number"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "map_index",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/dependencies": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Task Instance Dependencies",
+ "description": "Get dependencies blocking task from getting scheduled.",
+ "operationId": "get_task_instance_dependencies_by_map_index",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskDependencyCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/dependencies": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Task Instance Dependencies",
+ "description": "Get dependencies blocking task from getting scheduled.",
+ "operationId": "get_task_instance_dependencies",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskDependencyCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Task Instance Tries",
+ "description": "Get list of task instances history.",
+ "operationId": "get_task_instance_tries",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceHistoryCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Mapped Task Instance Tries",
+ "operationId": "get_mapped_task_instance_tries",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceHistoryCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Mapped Task Instance",
+ "description": "Get task instance.",
+ "operationId": "get_mapped_task_instance",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Patch Task Instance",
+ "description": "Update a task instance.",
+ "operationId": "patch_task_instance_by_map_index",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PatchTaskInstanceBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Task Instances",
+ "description": "Get list of task instances.\n\nThis endpoint allows specifying `~` as the dag_id, dag_run_id to retrieve Task Instances for all DAGs\nand DAG runs.",
+ "operationId": "get_task_instances",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "run_after_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Gte"
+ }
+ },
+ {
+ "name": "run_after_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Lte"
+ }
+ },
+ {
+ "name": "logical_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Gte"
+ }
+ },
+ {
+ "name": "logical_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Lte"
+ }
+ },
+ {
+ "name": "start_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Gte"
+ }
+ },
+ {
+ "name": "start_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Lte"
+ }
+ },
+ {
+ "name": "end_date_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Gte"
+ }
+ },
+ {
+ "name": "end_date_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Lte"
+ }
+ },
+ {
+ "name": "updated_at_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Updated At Gte"
+ }
+ },
+ {
+ "name": "updated_at_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Updated At Lte"
+ }
+ },
+ {
+ "name": "duration_gte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration Gte"
+ }
+ },
+ {
+ "name": "duration_lte",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration Lte"
+ }
+ },
+ {
+ "name": "task_display_name_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Display Name Pattern"
+ }
+ },
+ {
+ "name": "state",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "State"
+ }
+ },
+ {
+ "name": "pool",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Pool"
+ }
+ },
+ {
+ "name": "queue",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Queue"
+ }
+ },
+ {
+ "name": "executor",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "title": "Executor"
+ }
+ },
+ {
+ "name": "version_number",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "title": "Version Number"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "map_index",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/list": {
+ "post": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Task Instances Batch",
+ "description": "Get list of task instances.",
+ "operationId": "get_task_instances_batch",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "const": "~",
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "const": "~",
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstancesBatchBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/tries/{task_try_number}": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Task Instance Try Details",
+ "description": "Get task instance details by try number.",
+ "operationId": "get_task_instance_try_details",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "task_try_number",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Task Try Number"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceHistoryResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/tries/{task_try_number}": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Mapped Task Instance Try Details",
+ "operationId": "get_mapped_task_instance_try_details",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "task_try_number",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Task Try Number"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceHistoryResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/clearTaskInstances": {
+ "post": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Post Clear Task Instances",
+ "description": "Clear task instances.",
+ "operationId": "post_clear_task_instances",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ClearTaskInstancesBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/{map_index}/dry_run": {
+ "patch": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Patch Task Instance Dry Run",
+ "description": "Update a task instance dry_run mode.",
+ "operationId": "patch_task_instance_dry_run_by_map_index",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PatchTaskInstanceBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/dry_run": {
+ "patch": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Patch Task Instance Dry Run",
+ "description": "Update a task instance dry_run mode.",
+ "operationId": "patch_task_instance_dry_run",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/PatchTaskInstanceBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstanceCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/tasks": {
+ "get": {
+ "tags": [
+ "Task"
+ ],
+ "summary": "Get Tasks",
+ "description": "Get tasks for DAG.",
+ "operationId": "get_tasks",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "task_id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/tasks/{task_id}": {
+ "get": {
+ "tags": [
+ "Task"
+ ],
+ "summary": "Get Task",
+ "description": "Get simplified representation of a task.",
+ "operationId": "get_task",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "title": "Task Id"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/variables/{variable_key}": {
+ "delete": {
+ "tags": [
+ "Variable"
+ ],
+ "summary": "Delete Variable",
+ "description": "Delete a variable entry.",
+ "operationId": "delete_variable",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "variable_key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Variable Key"
+ }
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successful Response"
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Variable"
+ ],
+ "summary": "Get Variable",
+ "description": "Get a variable entry.",
+ "operationId": "get_variable",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "variable_key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Variable Key"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VariableResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Variable"
+ ],
+ "summary": "Patch Variable",
+ "description": "Update a variable by key.",
+ "operationId": "patch_variable",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "variable_key",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Variable Key"
+ }
+ },
+ {
+ "name": "update_mask",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Update Mask"
+ }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VariableBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VariableResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/variables": {
+ "get": {
+ "tags": [
+ "Variable"
+ ],
+ "summary": "Get Variables",
+ "description": "Get all Variables entries.",
+ "operationId": "get_variables",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ },
+ {
+ "name": "variable_key_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Variable Key Pattern"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VariableCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "post": {
+ "tags": [
+ "Variable"
+ ],
+ "summary": "Post Variable",
+ "description": "Create a variable.",
+ "operationId": "post_variable",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VariableBody"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VariableResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "409": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Conflict"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Variable"
+ ],
+ "summary": "Bulk Variables",
+ "description": "Bulk create, update, and delete variables.",
+ "operationId": "bulk_variables",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkBody_VariableBody_"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/BulkResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/logs/{try_number}": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get Log",
+ "description": "Get logs for a specific task instance.",
+ "operationId": "get_log",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "try_number",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "exclusiveMinimum": 0,
+ "title": "Try Number"
+ }
+ },
+ {
+ "name": "full_content",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "boolean",
+ "default": false,
+ "title": "Full Content"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Token"
+ }
+ },
+ {
+ "name": "accept",
+ "in": "header",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "application/json",
+ "text/plain",
+ "*/*"
+ ],
+ "default": "*/*",
+ "title": "Accept"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/TaskInstancesLogResponse"
+ }
+ },
+ "text/plain": {
+ "schema": {
+ "type": "string",
+ "example": "content\n"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagRuns/{dag_run_id}/taskInstances/{task_id}/externalLogUrl/{try_number}": {
+ "get": {
+ "tags": [
+ "Task Instance"
+ ],
+ "summary": "Get External Log Url",
+ "description": "Get external log URL for a specific task instance.",
+ "operationId": "get_external_log_url",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "dag_run_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Run Id"
+ }
+ },
+ {
+ "name": "task_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Task Id"
+ }
+ },
+ {
+ "name": "try_number",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "exclusiveMinimum": 0,
+ "title": "Try Number"
+ }
+ },
+ {
+ "name": "map_index",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "default": -1,
+ "title": "Map Index"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/ExternalLogUrlResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "400": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Bad Request"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/parseDagFile/{file_token}": {
+ "put": {
+ "tags": [
+ "DAG Parsing"
+ ],
+ "summary": "Reparse Dag File",
+ "description": "Request re-parsing a DAG file.",
+ "operationId": "reparse_dag_file",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "file_token",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "File Token"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "null",
+ "title": "Response Reparse Dag File"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dagTags": {
+ "get": {
+ "tags": [
+ "DAG"
+ ],
+ "summary": "Get Dag Tags",
+ "description": "Get all DAG tags.",
+ "operationId": "get_dag_tags",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "name",
+ "title": "Order By"
+ }
+ },
+ {
+ "name": "tag_name_pattern",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Tag Name Pattern"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGTagCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagVersions/{version_number}": {
+ "get": {
+ "tags": [
+ "DagVersion"
+ ],
+ "summary": "Get Dag Version",
+ "description": "Get one Dag Version.",
+ "operationId": "get_dag_version",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "version_number",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "title": "Version Number"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DagVersionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/dags/{dag_id}/dagVersions": {
+ "get": {
+ "tags": [
+ "DagVersion"
+ ],
+ "summary": "Get Dag Versions",
+ "description": "Get all DAG Versions.\n\nThis endpoint allows specifying `~` as the dag_id to retrieve DAG Versions for all DAGs.",
+ "operationId": "get_dag_versions",
+ "security": [
+ {
+ "OAuth2PasswordBearer": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "dag_id",
+ "in": "path",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ {
+ "name": "limit",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 50,
+ "title": "Limit"
+ }
+ },
+ {
+ "name": "offset",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "minimum": 0,
+ "default": 0,
+ "title": "Offset"
+ }
+ },
+ {
+ "name": "version_number",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "integer",
+ "title": "Version Number"
+ }
+ },
+ {
+ "name": "bundle_name",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "title": "Bundle Name"
+ }
+ },
+ {
+ "name": "bundle_version",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Version"
+ }
+ },
+ {
+ "name": "order_by",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "default": "id",
+ "title": "Order By"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/DAGVersionCollectionResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Unauthorized"
+ },
+ "403": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Forbidden"
+ },
+ "404": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Not Found"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/monitor/health": {
+ "get": {
+ "tags": [
+ "Monitor"
+ ],
+ "summary": "Get Health",
+ "operationId": "get_health",
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HealthInfoResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/version": {
+ "get": {
+ "tags": [
+ "Version"
+ ],
+ "summary": "Get Version",
+ "description": "Get version information.",
+ "operationId": "get_version",
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/VersionInfo"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/auth/login": {
+ "get": {
+ "tags": [
+ "Login"
+ ],
+ "summary": "Login",
+ "description": "Redirect to the login URL depending on the AuthManager configured.",
+ "operationId": "login",
+ "parameters": [
+ {
+ "name": "next",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ },
+ "307": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Temporary Redirect"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/api/v2/auth/logout": {
+ "get": {
+ "tags": [
+ "Login"
+ ],
+ "summary": "Logout",
+ "description": "Logout the user.",
+ "operationId": "logout",
+ "parameters": [
+ {
+ "name": "next",
+ "in": "query",
+ "required": false,
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful Response",
+ "content": {
+ "application/json": {
+ "schema": {}
+ }
+ }
+ },
+ "307": {
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPExceptionResponse"
+ }
+ }
+ },
+ "description": "Temporary Redirect"
+ },
+ "422": {
+ "description": "Validation Error",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/HTTPValidationError"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "components": {
+ "schemas": {
+ "AppBuilderMenuItemResponse": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "href": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Href"
+ },
+ "category": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Category"
+ }
+ },
+ "additionalProperties": true,
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "title": "AppBuilderMenuItemResponse",
+ "description": "Serializer for AppBuilder Menu Item responses."
+ },
+ "AppBuilderViewResponse": {
+ "properties": {
+ "name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Name"
+ },
+ "category": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Category"
+ },
+ "view": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "View"
+ },
+ "label": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Label"
+ }
+ },
+ "additionalProperties": true,
+ "type": "object",
+ "title": "AppBuilderViewResponse",
+ "description": "Serializer for AppBuilder View responses."
+ },
+ "AssetAliasCollectionResponse": {
+ "properties": {
+ "asset_aliases": {
+ "items": {
+ "$ref": "#/components/schemas/AssetAliasResponse"
+ },
+ "type": "array",
+ "title": "Asset Aliases"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "asset_aliases",
+ "total_entries"
+ ],
+ "title": "AssetAliasCollectionResponse",
+ "description": "Asset alias collection response."
+ },
+ "AssetAliasResponse": {
+ "properties": {
+ "id": {
+ "type": "integer",
+ "title": "Id"
+ },
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "group": {
+ "type": "string",
+ "title": "Group"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "group"
+ ],
+ "title": "AssetAliasResponse",
+ "description": "Asset alias serializer for responses."
+ },
+ "AssetCollectionResponse": {
+ "properties": {
+ "assets": {
+ "items": {
+ "$ref": "#/components/schemas/AssetResponse"
+ },
+ "type": "array",
+ "title": "Assets"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "assets",
+ "total_entries"
+ ],
+ "title": "AssetCollectionResponse",
+ "description": "Asset collection response."
+ },
+ "AssetEventCollectionResponse": {
+ "properties": {
+ "asset_events": {
+ "items": {
+ "$ref": "#/components/schemas/AssetEventResponse"
+ },
+ "type": "array",
+ "title": "Asset Events"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "asset_events",
+ "total_entries"
+ ],
+ "title": "AssetEventCollectionResponse",
+ "description": "Asset event collection response."
+ },
+ "AssetEventResponse": {
+ "properties": {
+ "id": {
+ "type": "integer",
+ "title": "Id"
+ },
+ "asset_id": {
+ "type": "integer",
+ "title": "Asset Id"
+ },
+ "uri": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Uri"
+ },
+ "name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Name"
+ },
+ "group": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Group"
+ },
+ "extra": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Extra"
+ },
+ "source_task_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Source Task Id"
+ },
+ "source_dag_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Source Dag Id"
+ },
+ "source_run_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Source Run Id"
+ },
+ "source_map_index": {
+ "type": "integer",
+ "title": "Source Map Index"
+ },
+ "created_dagruns": {
+ "items": {
+ "$ref": "#/components/schemas/DagRunAssetReference"
+ },
+ "type": "array",
+ "title": "Created Dagruns"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Timestamp"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "asset_id",
+ "source_map_index",
+ "created_dagruns",
+ "timestamp"
+ ],
+ "title": "AssetEventResponse",
+ "description": "Asset event serializer for responses."
+ },
+ "AssetResponse": {
+ "properties": {
+ "id": {
+ "type": "integer",
+ "title": "Id"
+ },
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "uri": {
+ "type": "string",
+ "title": "Uri"
+ },
+ "group": {
+ "type": "string",
+ "title": "Group"
+ },
+ "extra": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Extra"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Created At"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Updated At"
+ },
+ "consuming_dags": {
+ "items": {
+ "$ref": "#/components/schemas/DagScheduleAssetReference"
+ },
+ "type": "array",
+ "title": "Consuming Dags"
+ },
+ "producing_tasks": {
+ "items": {
+ "$ref": "#/components/schemas/TaskOutletAssetReference"
+ },
+ "type": "array",
+ "title": "Producing Tasks"
+ },
+ "aliases": {
+ "items": {
+ "$ref": "#/components/schemas/AssetAliasResponse"
+ },
+ "type": "array",
+ "title": "Aliases"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "name",
+ "uri",
+ "group",
+ "created_at",
+ "updated_at",
+ "consuming_dags",
+ "producing_tasks",
+ "aliases"
+ ],
+ "title": "AssetResponse",
+ "description": "Asset serializer for responses."
+ },
+ "BackfillCollectionResponse": {
+ "properties": {
+ "backfills": {
+ "items": {
+ "$ref": "#/components/schemas/BackfillResponse"
+ },
+ "type": "array",
+ "title": "Backfills"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "backfills",
+ "total_entries"
+ ],
+ "title": "BackfillCollectionResponse",
+ "description": "Backfill Collection serializer for responses."
+ },
+ "BackfillPostBody": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "from_date": {
+ "type": "string",
+ "format": "date-time",
+ "title": "From Date"
+ },
+ "to_date": {
+ "type": "string",
+ "format": "date-time",
+ "title": "To Date"
+ },
+ "run_backwards": {
+ "type": "boolean",
+ "title": "Run Backwards",
+ "default": false
+ },
+ "dag_run_conf": {
+ "additionalProperties": true,
+ "type": "object",
+ "title": "Dag Run Conf",
+ "default": {}
+ },
+ "reprocess_behavior": {
+ "$ref": "#/components/schemas/ReprocessBehavior",
+ "default": "none"
+ },
+ "max_active_runs": {
+ "type": "integer",
+ "title": "Max Active Runs",
+ "default": 10
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "dag_id",
+ "from_date",
+ "to_date"
+ ],
+ "title": "BackfillPostBody",
+ "description": "Object used for create backfill request."
+ },
+ "BackfillResponse": {
+ "properties": {
+ "id": {
+ "type": "integer",
+ "minimum": 0.0,
+ "title": "Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "from_date": {
+ "type": "string",
+ "format": "date-time",
+ "title": "From Date"
+ },
+ "to_date": {
+ "type": "string",
+ "format": "date-time",
+ "title": "To Date"
+ },
+ "dag_run_conf": {
+ "additionalProperties": true,
+ "type": "object",
+ "title": "Dag Run Conf"
+ },
+ "is_paused": {
+ "type": "boolean",
+ "title": "Is Paused"
+ },
+ "reprocess_behavior": {
+ "$ref": "#/components/schemas/ReprocessBehavior"
+ },
+ "max_active_runs": {
+ "type": "integer",
+ "title": "Max Active Runs"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Created At"
+ },
+ "completed_at": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Completed At"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Updated At"
+ },
+ "dag_display_name": {
+ "type": "string",
+ "title": "Dag Display Name"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "dag_id",
+ "from_date",
+ "to_date",
+ "dag_run_conf",
+ "is_paused",
+ "reprocess_behavior",
+ "max_active_runs",
+ "created_at",
+ "completed_at",
+ "updated_at",
+ "dag_display_name"
+ ],
+ "title": "BackfillResponse",
+ "description": "Base serializer for Backfill."
+ },
+ "BaseInfoResponse": {
+ "properties": {
+ "status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Status"
+ }
+ },
+ "type": "object",
+ "required": [
+ "status"
+ ],
+ "title": "BaseInfoResponse",
+ "description": "Base info serializer for responses."
+ },
+ "BulkAction": {
+ "type": "string",
+ "enum": [
+ "create",
+ "delete",
+ "update"
+ ],
+ "title": "BulkAction",
+ "description": "Bulk Action to be performed on the used model."
+ },
+ "BulkActionNotOnExistence": {
+ "type": "string",
+ "enum": [
+ "fail",
+ "skip"
+ ],
+ "title": "BulkActionNotOnExistence",
+ "description": "Bulk Action to be taken if the entity does not exist."
+ },
+ "BulkActionOnExistence": {
+ "type": "string",
+ "enum": [
+ "fail",
+ "skip",
+ "overwrite"
+ ],
+ "title": "BulkActionOnExistence",
+ "description": "Bulk Action to be taken if the entity already exists or not."
+ },
+ "BulkActionResponse": {
+ "properties": {
+ "success": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Success",
+ "description": "A list of unique id/key representing successful operations.",
+ "default": []
+ },
+ "errors": {
+ "items": {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ "type": "array",
+ "title": "Errors",
+ "description": "A list of errors encountered during the operation, each containing details about the issue.",
+ "default": []
+ }
+ },
+ "type": "object",
+ "title": "BulkActionResponse",
+ "description": "Serializer for individual bulk action responses.\n\nRepresents the outcome of a single bulk operation (create, update, or delete).\nThe response includes a list of successful keys and any errors encountered during the operation.\nThis structure helps users understand which key actions succeeded and which failed."
+ },
+ "BulkBody_ConnectionBody_": {
+ "properties": {
+ "actions": {
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/BulkCreateAction_ConnectionBody_"
+ },
+ {
+ "$ref": "#/components/schemas/BulkUpdateAction_ConnectionBody_"
+ },
+ {
+ "$ref": "#/components/schemas/BulkDeleteAction_ConnectionBody_"
+ }
+ ]
+ },
+ "type": "array",
+ "title": "Actions"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "actions"
+ ],
+ "title": "BulkBody[ConnectionBody]"
+ },
+ "BulkBody_PoolBody_": {
+ "properties": {
+ "actions": {
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/BulkCreateAction_PoolBody_"
+ },
+ {
+ "$ref": "#/components/schemas/BulkUpdateAction_PoolBody_"
+ },
+ {
+ "$ref": "#/components/schemas/BulkDeleteAction_PoolBody_"
+ }
+ ]
+ },
+ "type": "array",
+ "title": "Actions"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "actions"
+ ],
+ "title": "BulkBody[PoolBody]"
+ },
+ "BulkBody_VariableBody_": {
+ "properties": {
+ "actions": {
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/components/schemas/BulkCreateAction_VariableBody_"
+ },
+ {
+ "$ref": "#/components/schemas/BulkUpdateAction_VariableBody_"
+ },
+ {
+ "$ref": "#/components/schemas/BulkDeleteAction_VariableBody_"
+ }
+ ]
+ },
+ "type": "array",
+ "title": "Actions"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "actions"
+ ],
+ "title": "BulkBody[VariableBody]"
+ },
+ "BulkCreateAction_ConnectionBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "$ref": "#/components/schemas/ConnectionBody"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entities to be created."
+ },
+ "action_on_existence": {
+ "$ref": "#/components/schemas/BulkActionOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkCreateAction[ConnectionBody]"
+ },
+ "BulkCreateAction_PoolBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "$ref": "#/components/schemas/PoolBody"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entities to be created."
+ },
+ "action_on_existence": {
+ "$ref": "#/components/schemas/BulkActionOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkCreateAction[PoolBody]"
+ },
+ "BulkCreateAction_VariableBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "$ref": "#/components/schemas/VariableBody"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entities to be created."
+ },
+ "action_on_existence": {
+ "$ref": "#/components/schemas/BulkActionOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkCreateAction[VariableBody]"
+ },
+ "BulkDeleteAction_ConnectionBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entity id/key to be deleted."
+ },
+ "action_on_non_existence": {
+ "$ref": "#/components/schemas/BulkActionNotOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkDeleteAction[ConnectionBody]"
+ },
+ "BulkDeleteAction_PoolBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entity id/key to be deleted."
+ },
+ "action_on_non_existence": {
+ "$ref": "#/components/schemas/BulkActionNotOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkDeleteAction[PoolBody]"
+ },
+ "BulkDeleteAction_VariableBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entity id/key to be deleted."
+ },
+ "action_on_non_existence": {
+ "$ref": "#/components/schemas/BulkActionNotOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkDeleteAction[VariableBody]"
+ },
+ "BulkResponse": {
+ "properties": {
+ "create": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BulkActionResponse"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Details of the bulk create operation, including successful keys and errors."
+ },
+ "update": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BulkActionResponse"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Details of the bulk update operation, including successful keys and errors."
+ },
+ "delete": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/BulkActionResponse"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Details of the bulk delete operation, including successful keys and errors."
+ }
+ },
+ "type": "object",
+ "title": "BulkResponse",
+ "description": "Serializer for responses to bulk entity operations.\n\nThis represents the results of create, update, and delete actions performed on entity in bulk.\nEach action (if requested) is represented as a field containing details about successful keys and any encountered errors.\nFields are populated in the response only if the respective action was part of the request, else are set None."
+ },
+ "BulkUpdateAction_ConnectionBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "$ref": "#/components/schemas/ConnectionBody"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entities to be updated."
+ },
+ "action_on_non_existence": {
+ "$ref": "#/components/schemas/BulkActionNotOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkUpdateAction[ConnectionBody]"
+ },
+ "BulkUpdateAction_PoolBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "$ref": "#/components/schemas/PoolBody"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entities to be updated."
+ },
+ "action_on_non_existence": {
+ "$ref": "#/components/schemas/BulkActionNotOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkUpdateAction[PoolBody]"
+ },
+ "BulkUpdateAction_VariableBody_": {
+ "properties": {
+ "action": {
+ "$ref": "#/components/schemas/BulkAction",
+ "description": "The action to be performed on the entities."
+ },
+ "entities": {
+ "items": {
+ "$ref": "#/components/schemas/VariableBody"
+ },
+ "type": "array",
+ "title": "Entities",
+ "description": "A list of entities to be updated."
+ },
+ "action_on_non_existence": {
+ "$ref": "#/components/schemas/BulkActionNotOnExistence",
+ "default": "fail"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "action",
+ "entities"
+ ],
+ "title": "BulkUpdateAction[VariableBody]"
+ },
+ "ClearTaskInstancesBody": {
+ "properties": {
+ "dry_run": {
+ "type": "boolean",
+ "title": "Dry Run",
+ "default": true
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "only_failed": {
+ "type": "boolean",
+ "title": "Only Failed",
+ "default": true
+ },
+ "only_running": {
+ "type": "boolean",
+ "title": "Only Running",
+ "default": false
+ },
+ "reset_dag_runs": {
+ "type": "boolean",
+ "title": "Reset Dag Runs",
+ "default": true
+ },
+ "task_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "prefixItems": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ],
+ "type": "array",
+ "maxItems": 2,
+ "minItems": 2
+ }
+ ]
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Ids"
+ },
+ "dag_run_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run Id"
+ },
+ "include_upstream": {
+ "type": "boolean",
+ "title": "Include Upstream",
+ "default": false
+ },
+ "include_downstream": {
+ "type": "boolean",
+ "title": "Include Downstream",
+ "default": false
+ },
+ "include_future": {
+ "type": "boolean",
+ "title": "Include Future",
+ "default": false
+ },
+ "include_past": {
+ "type": "boolean",
+ "title": "Include Past",
+ "default": false
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "title": "ClearTaskInstancesBody",
+ "description": "Request body for Clear Task Instances endpoint."
+ },
+ "Config": {
+ "properties": {
+ "sections": {
+ "items": {
+ "$ref": "#/components/schemas/ConfigSection"
+ },
+ "type": "array",
+ "title": "Sections"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "sections"
+ ],
+ "title": "Config",
+ "description": "List of config sections with their options."
+ },
+ "ConfigOption": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "Key"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "prefixItems": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "string"
+ }
+ ],
+ "type": "array",
+ "maxItems": 2,
+ "minItems": 2
+ }
+ ],
+ "title": "Value"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "key",
+ "value"
+ ],
+ "title": "ConfigOption",
+ "description": "Config option."
+ },
+ "ConfigSection": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "options": {
+ "items": {
+ "$ref": "#/components/schemas/ConfigOption"
+ },
+ "type": "array",
+ "title": "Options"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "name",
+ "options"
+ ],
+ "title": "ConfigSection",
+ "description": "Config Section Schema."
+ },
+ "ConnectionBody": {
+ "properties": {
+ "connection_id": {
+ "type": "string",
+ "maxLength": 200,
+ "pattern": "^[\\w.-]+$",
+ "title": "Connection Id"
+ },
+ "conn_type": {
+ "type": "string",
+ "title": "Conn Type"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "host": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Host"
+ },
+ "login": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Login"
+ },
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Schema"
+ },
+ "port": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Port"
+ },
+ "password": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Password"
+ },
+ "extra": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Extra"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "connection_id",
+ "conn_type"
+ ],
+ "title": "ConnectionBody",
+ "description": "Connection Serializer for requests body."
+ },
+ "ConnectionCollectionResponse": {
+ "properties": {
+ "connections": {
+ "items": {
+ "$ref": "#/components/schemas/ConnectionResponse"
+ },
+ "type": "array",
+ "title": "Connections"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "connections",
+ "total_entries"
+ ],
+ "title": "ConnectionCollectionResponse",
+ "description": "Connection Collection serializer for responses."
+ },
+ "ConnectionResponse": {
+ "properties": {
+ "connection_id": {
+ "type": "string",
+ "title": "Connection Id"
+ },
+ "conn_type": {
+ "type": "string",
+ "title": "Conn Type"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "host": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Host"
+ },
+ "login": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Login"
+ },
+ "schema": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Schema"
+ },
+ "port": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Port"
+ },
+ "password": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Password"
+ },
+ "extra": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Extra"
+ }
+ },
+ "type": "object",
+ "required": [
+ "connection_id",
+ "conn_type",
+ "description",
+ "host",
+ "login",
+ "schema",
+ "port",
+ "password",
+ "extra"
+ ],
+ "title": "ConnectionResponse",
+ "description": "Connection serializer for responses."
+ },
+ "ConnectionTestResponse": {
+ "properties": {
+ "status": {
+ "type": "boolean",
+ "title": "Status"
+ },
+ "message": {
+ "type": "string",
+ "title": "Message"
+ }
+ },
+ "type": "object",
+ "required": [
+ "status",
+ "message"
+ ],
+ "title": "ConnectionTestResponse",
+ "description": "Connection Test serializer for responses."
+ },
+ "CreateAssetEventsBody": {
+ "properties": {
+ "asset_id": {
+ "type": "integer",
+ "title": "Asset Id"
+ },
+ "extra": {
+ "additionalProperties": true,
+ "type": "object",
+ "title": "Extra"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "asset_id"
+ ],
+ "title": "CreateAssetEventsBody",
+ "description": "Create asset events request."
+ },
+ "DAGCollectionResponse": {
+ "properties": {
+ "dags": {
+ "items": {
+ "$ref": "#/components/schemas/DAGResponse"
+ },
+ "type": "array",
+ "title": "Dags"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dags",
+ "total_entries"
+ ],
+ "title": "DAGCollectionResponse",
+ "description": "DAG Collection serializer for responses."
+ },
+ "DAGDetailsResponse": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "dag_display_name": {
+ "type": "string",
+ "title": "Dag Display Name"
+ },
+ "is_paused": {
+ "type": "boolean",
+ "title": "Is Paused"
+ },
+ "is_stale": {
+ "type": "boolean",
+ "title": "Is Stale"
+ },
+ "last_parsed_time": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Parsed Time"
+ },
+ "last_expired": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Expired"
+ },
+ "bundle_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Name"
+ },
+ "bundle_version": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Version"
+ },
+ "relative_fileloc": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Relative Fileloc"
+ },
+ "fileloc": {
+ "type": "string",
+ "title": "Fileloc"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "timetable_summary": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Timetable Summary"
+ },
+ "timetable_description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Timetable Description"
+ },
+ "tags": {
+ "items": {
+ "$ref": "#/components/schemas/DagTagResponse"
+ },
+ "type": "array",
+ "title": "Tags"
+ },
+ "max_active_tasks": {
+ "type": "integer",
+ "title": "Max Active Tasks"
+ },
+ "max_active_runs": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Max Active Runs"
+ },
+ "max_consecutive_failed_dag_runs": {
+ "type": "integer",
+ "title": "Max Consecutive Failed Dag Runs"
+ },
+ "has_task_concurrency_limits": {
+ "type": "boolean",
+ "title": "Has Task Concurrency Limits"
+ },
+ "has_import_errors": {
+ "type": "boolean",
+ "title": "Has Import Errors"
+ },
+ "next_dagrun_logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Logical Date"
+ },
+ "next_dagrun_data_interval_start": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Data Interval Start"
+ },
+ "next_dagrun_data_interval_end": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Data Interval End"
+ },
+ "next_dagrun_run_after": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Run After"
+ },
+ "owners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Owners"
+ },
+ "catchup": {
+ "type": "boolean",
+ "title": "Catchup"
+ },
+ "dag_run_timeout": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "duration"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run Timeout"
+ },
+ "asset_expression": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Asset Expression"
+ },
+ "doc_md": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Doc Md"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "is_paused_upon_creation": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Is Paused Upon Creation"
+ },
+ "params": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Params"
+ },
+ "render_template_as_native_obj": {
+ "type": "boolean",
+ "title": "Render Template As Native Obj"
+ },
+ "template_search_path": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Template Search Path"
+ },
+ "timezone": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Timezone"
+ },
+ "last_parsed": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Parsed"
+ },
+ "default_args": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Default Args"
+ },
+ "file_token": {
+ "type": "string",
+ "title": "File Token",
+ "description": "Return file token.",
+ "readOnly": true
+ },
+ "concurrency": {
+ "type": "integer",
+ "title": "Concurrency",
+ "description": "Return max_active_tasks as concurrency.",
+ "readOnly": true
+ },
+ "latest_dag_version": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagVersionResponse"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "description": "Return the latest DagVersion.",
+ "readOnly": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_id",
+ "dag_display_name",
+ "is_paused",
+ "is_stale",
+ "last_parsed_time",
+ "last_expired",
+ "bundle_name",
+ "bundle_version",
+ "relative_fileloc",
+ "fileloc",
+ "description",
+ "timetable_summary",
+ "timetable_description",
+ "tags",
+ "max_active_tasks",
+ "max_active_runs",
+ "max_consecutive_failed_dag_runs",
+ "has_task_concurrency_limits",
+ "has_import_errors",
+ "next_dagrun_logical_date",
+ "next_dagrun_data_interval_start",
+ "next_dagrun_data_interval_end",
+ "next_dagrun_run_after",
+ "owners",
+ "catchup",
+ "dag_run_timeout",
+ "asset_expression",
+ "doc_md",
+ "start_date",
+ "end_date",
+ "is_paused_upon_creation",
+ "params",
+ "render_template_as_native_obj",
+ "template_search_path",
+ "timezone",
+ "last_parsed",
+ "default_args",
+ "file_token",
+ "concurrency",
+ "latest_dag_version"
+ ],
+ "title": "DAGDetailsResponse",
+ "description": "Specific serializer for DAG Details responses."
+ },
+ "DAGPatchBody": {
+ "properties": {
+ "is_paused": {
+ "type": "boolean",
+ "title": "Is Paused"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "is_paused"
+ ],
+ "title": "DAGPatchBody",
+ "description": "Dag Serializer for updatable bodies."
+ },
+ "DAGResponse": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "dag_display_name": {
+ "type": "string",
+ "title": "Dag Display Name"
+ },
+ "is_paused": {
+ "type": "boolean",
+ "title": "Is Paused"
+ },
+ "is_stale": {
+ "type": "boolean",
+ "title": "Is Stale"
+ },
+ "last_parsed_time": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Parsed Time"
+ },
+ "last_expired": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Expired"
+ },
+ "bundle_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Name"
+ },
+ "bundle_version": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Version"
+ },
+ "relative_fileloc": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Relative Fileloc"
+ },
+ "fileloc": {
+ "type": "string",
+ "title": "Fileloc"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "timetable_summary": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Timetable Summary"
+ },
+ "timetable_description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Timetable Description"
+ },
+ "tags": {
+ "items": {
+ "$ref": "#/components/schemas/DagTagResponse"
+ },
+ "type": "array",
+ "title": "Tags"
+ },
+ "max_active_tasks": {
+ "type": "integer",
+ "title": "Max Active Tasks"
+ },
+ "max_active_runs": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Max Active Runs"
+ },
+ "max_consecutive_failed_dag_runs": {
+ "type": "integer",
+ "title": "Max Consecutive Failed Dag Runs"
+ },
+ "has_task_concurrency_limits": {
+ "type": "boolean",
+ "title": "Has Task Concurrency Limits"
+ },
+ "has_import_errors": {
+ "type": "boolean",
+ "title": "Has Import Errors"
+ },
+ "next_dagrun_logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Logical Date"
+ },
+ "next_dagrun_data_interval_start": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Data Interval Start"
+ },
+ "next_dagrun_data_interval_end": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Data Interval End"
+ },
+ "next_dagrun_run_after": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Next Dagrun Run After"
+ },
+ "owners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Owners"
+ },
+ "file_token": {
+ "type": "string",
+ "title": "File Token",
+ "description": "Return file token.",
+ "readOnly": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_id",
+ "dag_display_name",
+ "is_paused",
+ "is_stale",
+ "last_parsed_time",
+ "last_expired",
+ "bundle_name",
+ "bundle_version",
+ "relative_fileloc",
+ "fileloc",
+ "description",
+ "timetable_summary",
+ "timetable_description",
+ "tags",
+ "max_active_tasks",
+ "max_active_runs",
+ "max_consecutive_failed_dag_runs",
+ "has_task_concurrency_limits",
+ "has_import_errors",
+ "next_dagrun_logical_date",
+ "next_dagrun_data_interval_start",
+ "next_dagrun_data_interval_end",
+ "next_dagrun_run_after",
+ "owners",
+ "file_token"
+ ],
+ "title": "DAGResponse",
+ "description": "DAG serializer for responses."
+ },
+ "DAGRunClearBody": {
+ "properties": {
+ "dry_run": {
+ "type": "boolean",
+ "title": "Dry Run",
+ "default": true
+ },
+ "only_failed": {
+ "type": "boolean",
+ "title": "Only Failed",
+ "default": false
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "title": "DAGRunClearBody",
+ "description": "DAG Run serializer for clear endpoint body."
+ },
+ "DAGRunCollectionResponse": {
+ "properties": {
+ "dag_runs": {
+ "items": {
+ "$ref": "#/components/schemas/DAGRunResponse"
+ },
+ "type": "array",
+ "title": "Dag Runs"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_runs",
+ "total_entries"
+ ],
+ "title": "DAGRunCollectionResponse",
+ "description": "DAG Run Collection serializer for responses."
+ },
+ "DAGRunPatchBody": {
+ "properties": {
+ "state": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DAGRunPatchStates"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "note": {
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 1000
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Note"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "title": "DAGRunPatchBody",
+ "description": "DAG Run Serializer for PATCH requests."
+ },
+ "DAGRunPatchStates": {
+ "type": "string",
+ "enum": [
+ "queued",
+ "success",
+ "failed"
+ ],
+ "title": "DAGRunPatchStates",
+ "description": "Enum for DAG Run states when updating a DAG Run."
+ },
+ "DAGRunResponse": {
+ "properties": {
+ "dag_run_id": {
+ "type": "string",
+ "title": "Dag Run Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "queued_at": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Queued At"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "data_interval_start": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Data Interval Start"
+ },
+ "data_interval_end": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Data Interval End"
+ },
+ "run_after": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Run After"
+ },
+ "last_scheduling_decision": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Last Scheduling Decision"
+ },
+ "run_type": {
+ "$ref": "#/components/schemas/DagRunType"
+ },
+ "state": {
+ "$ref": "#/components/schemas/DagRunState"
+ },
+ "triggered_by": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagRunTriggeredByType"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "conf": {
+ "additionalProperties": true,
+ "type": "object",
+ "title": "Conf"
+ },
+ "note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Note"
+ },
+ "dag_versions": {
+ "items": {
+ "$ref": "#/components/schemas/DagVersionResponse"
+ },
+ "type": "array",
+ "title": "Dag Versions"
+ },
+ "bundle_version": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Version"
+ },
+ "dag_display_name": {
+ "type": "string",
+ "title": "Dag Display Name"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_run_id",
+ "dag_id",
+ "logical_date",
+ "queued_at",
+ "start_date",
+ "end_date",
+ "data_interval_start",
+ "data_interval_end",
+ "run_after",
+ "last_scheduling_decision",
+ "run_type",
+ "state",
+ "triggered_by",
+ "conf",
+ "note",
+ "dag_versions",
+ "bundle_version",
+ "dag_display_name"
+ ],
+ "title": "DAGRunResponse",
+ "description": "DAG Run serializer for responses."
+ },
+ "DAGRunsBatchBody": {
+ "properties": {
+ "order_by": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Order By"
+ },
+ "page_offset": {
+ "type": "integer",
+ "minimum": 0.0,
+ "title": "Page Offset",
+ "default": 0
+ },
+ "page_limit": {
+ "type": "integer",
+ "minimum": 0.0,
+ "title": "Page Limit",
+ "default": 100
+ },
+ "dag_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Ids"
+ },
+ "states": {
+ "anyOf": [
+ {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagRunState"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "States"
+ },
+ "run_after_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Gte"
+ },
+ "run_after_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Lte"
+ },
+ "logical_date_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Gte"
+ },
+ "logical_date_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Lte"
+ },
+ "start_date_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Gte"
+ },
+ "start_date_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Lte"
+ },
+ "end_date_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Gte"
+ },
+ "end_date_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Lte"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "title": "DAGRunsBatchBody",
+ "description": "List DAG Runs body for batch endpoint."
+ },
+ "DAGSourceResponse": {
+ "properties": {
+ "content": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Content"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "version_number": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Version Number"
+ }
+ },
+ "type": "object",
+ "required": [
+ "content",
+ "dag_id",
+ "version_number"
+ ],
+ "title": "DAGSourceResponse",
+ "description": "DAG Source serializer for responses."
+ },
+ "DAGTagCollectionResponse": {
+ "properties": {
+ "tags": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Tags"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "tags",
+ "total_entries"
+ ],
+ "title": "DAGTagCollectionResponse",
+ "description": "DAG Tags Collection serializer for responses."
+ },
+ "DAGVersionCollectionResponse": {
+ "properties": {
+ "dag_versions": {
+ "items": {
+ "$ref": "#/components/schemas/DagVersionResponse"
+ },
+ "type": "array",
+ "title": "Dag Versions"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_versions",
+ "total_entries"
+ ],
+ "title": "DAGVersionCollectionResponse",
+ "description": "DAG Version Collection serializer for responses."
+ },
+ "DAGWarningCollectionResponse": {
+ "properties": {
+ "dag_warnings": {
+ "items": {
+ "$ref": "#/components/schemas/DAGWarningResponse"
+ },
+ "type": "array",
+ "title": "Dag Warnings"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_warnings",
+ "total_entries"
+ ],
+ "title": "DAGWarningCollectionResponse",
+ "description": "DAG warning collection serializer for responses."
+ },
+ "DAGWarningResponse": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "warning_type": {
+ "$ref": "#/components/schemas/DagWarningType"
+ },
+ "message": {
+ "type": "string",
+ "title": "Message"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Timestamp"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_id",
+ "warning_type",
+ "message",
+ "timestamp"
+ ],
+ "title": "DAGWarningResponse",
+ "description": "DAG Warning serializer for responses."
+ },
+ "DagProcessorInfoResponse": {
+ "properties": {
+ "status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Status"
+ },
+ "latest_dag_processor_heartbeat": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Latest Dag Processor Heartbeat"
+ }
+ },
+ "type": "object",
+ "required": [
+ "status",
+ "latest_dag_processor_heartbeat"
+ ],
+ "title": "DagProcessorInfoResponse",
+ "description": "DagProcessor info serializer for responses."
+ },
+ "DagRunAssetReference": {
+ "properties": {
+ "run_id": {
+ "type": "string",
+ "title": "Run Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "start_date": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "state": {
+ "type": "string",
+ "title": "State"
+ },
+ "data_interval_start": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Data Interval Start"
+ },
+ "data_interval_end": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Data Interval End"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "run_id",
+ "dag_id",
+ "logical_date",
+ "start_date",
+ "end_date",
+ "state",
+ "data_interval_start",
+ "data_interval_end"
+ ],
+ "title": "DagRunAssetReference",
+ "description": "DAGRun serializer for asset responses."
+ },
+ "DagRunState": {
+ "type": "string",
+ "enum": [
+ "queued",
+ "running",
+ "success",
+ "failed"
+ ],
+ "title": "DagRunState",
+ "description": "All possible states that a DagRun can be in.\n\nThese are \"shared\" with TaskInstanceState in some parts of the code,\nso please ensure that their values always match the ones with the\nsame name in TaskInstanceState."
+ },
+ "DagRunTriggeredByType": {
+ "type": "string",
+ "enum": [
+ "cli",
+ "operator",
+ "rest_api",
+ "ui",
+ "test",
+ "timetable",
+ "asset",
+ "backfill"
+ ],
+ "title": "DagRunTriggeredByType",
+ "description": "Class with TriggeredBy types for DagRun."
+ },
+ "DagRunType": {
+ "type": "string",
+ "enum": [
+ "backfill",
+ "scheduled",
+ "manual",
+ "asset_triggered"
+ ],
+ "title": "DagRunType",
+ "description": "Class with DagRun types."
+ },
+ "DagScheduleAssetReference": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Created At"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Updated At"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "dag_id",
+ "created_at",
+ "updated_at"
+ ],
+ "title": "DagScheduleAssetReference",
+ "description": "DAG schedule reference serializer for assets."
+ },
+ "DagStatsCollectionResponse": {
+ "properties": {
+ "dags": {
+ "items": {
+ "$ref": "#/components/schemas/DagStatsResponse"
+ },
+ "type": "array",
+ "title": "Dags"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dags",
+ "total_entries"
+ ],
+ "title": "DagStatsCollectionResponse",
+ "description": "DAG Stats Collection serializer for responses."
+ },
+ "DagStatsResponse": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "stats": {
+ "items": {
+ "$ref": "#/components/schemas/DagStatsStateResponse"
+ },
+ "type": "array",
+ "title": "Stats"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_id",
+ "stats"
+ ],
+ "title": "DagStatsResponse",
+ "description": "DAG Stats serializer for responses."
+ },
+ "DagStatsStateResponse": {
+ "properties": {
+ "state": {
+ "$ref": "#/components/schemas/DagRunState"
+ },
+ "count": {
+ "type": "integer",
+ "title": "Count"
+ }
+ },
+ "type": "object",
+ "required": [
+ "state",
+ "count"
+ ],
+ "title": "DagStatsStateResponse",
+ "description": "DagStatsState serializer for responses."
+ },
+ "DagTagResponse": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "dag_id"
+ ],
+ "title": "DagTagResponse",
+ "description": "DAG Tag serializer for responses."
+ },
+ "DagVersionResponse": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "title": "Id"
+ },
+ "version_number": {
+ "type": "integer",
+ "title": "Version Number"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "bundle_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Name"
+ },
+ "bundle_version": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Version"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Created At"
+ },
+ "bundle_url": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Url",
+ "readOnly": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "version_number",
+ "dag_id",
+ "bundle_name",
+ "bundle_version",
+ "created_at",
+ "bundle_url"
+ ],
+ "title": "DagVersionResponse",
+ "description": "Dag Version serializer for responses."
+ },
+ "DagWarningType": {
+ "type": "string",
+ "enum": [
+ "asset conflict",
+ "non-existent pool"
+ ],
+ "title": "DagWarningType",
+ "description": "Enum for DAG warning types.\n\nThis is the set of allowable values for the ``warning_type`` field\nin the DagWarning model."
+ },
+ "DryRunBackfillCollectionResponse": {
+ "properties": {
+ "backfills": {
+ "items": {
+ "$ref": "#/components/schemas/DryRunBackfillResponse"
+ },
+ "type": "array",
+ "title": "Backfills"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "backfills",
+ "total_entries"
+ ],
+ "title": "DryRunBackfillCollectionResponse",
+ "description": "Backfill collection serializer for responses in dry-run mode."
+ },
+ "DryRunBackfillResponse": {
+ "properties": {
+ "logical_date": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Logical Date"
+ }
+ },
+ "type": "object",
+ "required": [
+ "logical_date"
+ ],
+ "title": "DryRunBackfillResponse",
+ "description": "Backfill serializer for responses in dry-run mode."
+ },
+ "EventLogCollectionResponse": {
+ "properties": {
+ "event_logs": {
+ "items": {
+ "$ref": "#/components/schemas/EventLogResponse"
+ },
+ "type": "array",
+ "title": "Event Logs"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "event_logs",
+ "total_entries"
+ ],
+ "title": "EventLogCollectionResponse",
+ "description": "Event Log Collection Response."
+ },
+ "EventLogResponse": {
+ "properties": {
+ "event_log_id": {
+ "type": "integer",
+ "title": "Event Log Id"
+ },
+ "when": {
+ "type": "string",
+ "format": "date-time",
+ "title": "When"
+ },
+ "dag_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Id"
+ },
+ "task_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Id"
+ },
+ "run_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run Id"
+ },
+ "map_index": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Map Index"
+ },
+ "try_number": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Try Number"
+ },
+ "event": {
+ "type": "string",
+ "title": "Event"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "owner": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Owner"
+ },
+ "extra": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Extra"
+ }
+ },
+ "type": "object",
+ "required": [
+ "event_log_id",
+ "when",
+ "dag_id",
+ "task_id",
+ "run_id",
+ "map_index",
+ "try_number",
+ "event",
+ "logical_date",
+ "owner",
+ "extra"
+ ],
+ "title": "EventLogResponse",
+ "description": "Event Log Response."
+ },
+ "ExternalLogUrlResponse": {
+ "properties": {
+ "url": {
+ "type": "string",
+ "title": "Url"
+ }
+ },
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "title": "ExternalLogUrlResponse",
+ "description": "Response for the external log URL endpoint."
+ },
+ "ExtraLinkCollectionResponse": {
+ "properties": {
+ "extra_links": {
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "object",
+ "title": "Extra Links"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "extra_links",
+ "total_entries"
+ ],
+ "title": "ExtraLinkCollectionResponse",
+ "description": "Extra Links Response."
+ },
+ "FastAPIAppResponse": {
+ "properties": {
+ "app": {
+ "type": "string",
+ "title": "App"
+ },
+ "url_prefix": {
+ "type": "string",
+ "title": "Url Prefix"
+ },
+ "name": {
+ "type": "string",
+ "title": "Name"
+ }
+ },
+ "additionalProperties": true,
+ "type": "object",
+ "required": [
+ "app",
+ "url_prefix",
+ "name"
+ ],
+ "title": "FastAPIAppResponse",
+ "description": "Serializer for Plugin FastAPI App responses."
+ },
+ "FastAPIRootMiddlewareResponse": {
+ "properties": {
+ "middleware": {
+ "type": "string",
+ "title": "Middleware"
+ },
+ "name": {
+ "type": "string",
+ "title": "Name"
+ }
+ },
+ "additionalProperties": true,
+ "type": "object",
+ "required": [
+ "middleware",
+ "name"
+ ],
+ "title": "FastAPIRootMiddlewareResponse",
+ "description": "Serializer for Plugin FastAPI root middleware responses."
+ },
+ "HTTPExceptionResponse": {
+ "properties": {
+ "detail": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "additionalProperties": true,
+ "type": "object"
+ }
+ ],
+ "title": "Detail"
+ }
+ },
+ "type": "object",
+ "required": [
+ "detail"
+ ],
+ "title": "HTTPExceptionResponse",
+ "description": "HTTPException Model used for error response."
+ },
+ "HTTPValidationError": {
+ "properties": {
+ "detail": {
+ "items": {
+ "$ref": "#/components/schemas/ValidationError"
+ },
+ "type": "array",
+ "title": "Detail"
+ }
+ },
+ "type": "object",
+ "title": "HTTPValidationError"
+ },
+ "HealthInfoResponse": {
+ "properties": {
+ "metadatabase": {
+ "$ref": "#/components/schemas/BaseInfoResponse"
+ },
+ "scheduler": {
+ "$ref": "#/components/schemas/SchedulerInfoResponse"
+ },
+ "triggerer": {
+ "$ref": "#/components/schemas/TriggererInfoResponse"
+ },
+ "dag_processor": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagProcessorInfoResponse"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object",
+ "required": [
+ "metadatabase",
+ "scheduler",
+ "triggerer"
+ ],
+ "title": "HealthInfoResponse",
+ "description": "Health serializer for responses."
+ },
+ "ImportErrorCollectionResponse": {
+ "properties": {
+ "import_errors": {
+ "items": {
+ "$ref": "#/components/schemas/ImportErrorResponse"
+ },
+ "type": "array",
+ "title": "Import Errors"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "import_errors",
+ "total_entries"
+ ],
+ "title": "ImportErrorCollectionResponse",
+ "description": "Import Error Collection Response."
+ },
+ "ImportErrorResponse": {
+ "properties": {
+ "import_error_id": {
+ "type": "integer",
+ "title": "Import Error Id"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Timestamp"
+ },
+ "filename": {
+ "type": "string",
+ "title": "Filename"
+ },
+ "bundle_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Bundle Name"
+ },
+ "stack_trace": {
+ "type": "string",
+ "title": "Stack Trace"
+ }
+ },
+ "type": "object",
+ "required": [
+ "import_error_id",
+ "timestamp",
+ "filename",
+ "bundle_name",
+ "stack_trace"
+ ],
+ "title": "ImportErrorResponse",
+ "description": "Import Error Response."
+ },
+ "JobCollectionResponse": {
+ "properties": {
+ "jobs": {
+ "items": {
+ "$ref": "#/components/schemas/JobResponse"
+ },
+ "type": "array",
+ "title": "Jobs"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "jobs",
+ "total_entries"
+ ],
+ "title": "JobCollectionResponse",
+ "description": "Job Collection Response."
+ },
+ "JobResponse": {
+ "properties": {
+ "id": {
+ "type": "integer",
+ "title": "Id"
+ },
+ "dag_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Id"
+ },
+ "state": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "State"
+ },
+ "job_type": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Job Type"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "latest_heartbeat": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Latest Heartbeat"
+ },
+ "executor_class": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Executor Class"
+ },
+ "hostname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Hostname"
+ },
+ "unixname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Unixname"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "dag_id",
+ "state",
+ "job_type",
+ "start_date",
+ "end_date",
+ "latest_heartbeat",
+ "executor_class",
+ "hostname",
+ "unixname"
+ ],
+ "title": "JobResponse",
+ "description": "Job serializer for responses."
+ },
+ "JsonValue": {},
+ "PatchTaskInstanceBody": {
+ "properties": {
+ "new_state": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TaskInstanceState"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "note": {
+ "anyOf": [
+ {
+ "type": "string",
+ "maxLength": 1000
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Note"
+ },
+ "include_upstream": {
+ "type": "boolean",
+ "title": "Include Upstream",
+ "default": false
+ },
+ "include_downstream": {
+ "type": "boolean",
+ "title": "Include Downstream",
+ "default": false
+ },
+ "include_future": {
+ "type": "boolean",
+ "title": "Include Future",
+ "default": false
+ },
+ "include_past": {
+ "type": "boolean",
+ "title": "Include Past",
+ "default": false
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "title": "PatchTaskInstanceBody",
+ "description": "Request body for Clear Task Instances endpoint."
+ },
+ "PluginCollectionResponse": {
+ "properties": {
+ "plugins": {
+ "items": {
+ "$ref": "#/components/schemas/PluginResponse"
+ },
+ "type": "array",
+ "title": "Plugins"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "plugins",
+ "total_entries"
+ ],
+ "title": "PluginCollectionResponse",
+ "description": "Plugin Collection serializer."
+ },
+ "PluginImportErrorCollectionResponse": {
+ "properties": {
+ "import_errors": {
+ "items": {
+ "$ref": "#/components/schemas/PluginImportErrorResponse"
+ },
+ "type": "array",
+ "title": "Import Errors"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "import_errors",
+ "total_entries"
+ ],
+ "title": "PluginImportErrorCollectionResponse",
+ "description": "Plugin Import Error Collection serializer."
+ },
+ "PluginImportErrorResponse": {
+ "properties": {
+ "source": {
+ "type": "string",
+ "title": "Source"
+ },
+ "error": {
+ "type": "string",
+ "title": "Error"
+ }
+ },
+ "type": "object",
+ "required": [
+ "source",
+ "error"
+ ],
+ "title": "PluginImportErrorResponse",
+ "description": "Plugin Import Error serializer for responses."
+ },
+ "PluginResponse": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "macros": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Macros"
+ },
+ "flask_blueprints": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Flask Blueprints"
+ },
+ "fastapi_apps": {
+ "items": {
+ "$ref": "#/components/schemas/FastAPIAppResponse"
+ },
+ "type": "array",
+ "title": "Fastapi Apps"
+ },
+ "fastapi_root_middlewares": {
+ "items": {
+ "$ref": "#/components/schemas/FastAPIRootMiddlewareResponse"
+ },
+ "type": "array",
+ "title": "Fastapi Root Middlewares"
+ },
+ "appbuilder_views": {
+ "items": {
+ "$ref": "#/components/schemas/AppBuilderViewResponse"
+ },
+ "type": "array",
+ "title": "Appbuilder Views"
+ },
+ "appbuilder_menu_items": {
+ "items": {
+ "$ref": "#/components/schemas/AppBuilderMenuItemResponse"
+ },
+ "type": "array",
+ "title": "Appbuilder Menu Items"
+ },
+ "global_operator_extra_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Global Operator Extra Links"
+ },
+ "operator_extra_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Operator Extra Links"
+ },
+ "source": {
+ "type": "string",
+ "title": "Source"
+ },
+ "listeners": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Listeners"
+ },
+ "timetables": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Timetables"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "macros",
+ "flask_blueprints",
+ "fastapi_apps",
+ "fastapi_root_middlewares",
+ "appbuilder_views",
+ "appbuilder_menu_items",
+ "global_operator_extra_links",
+ "operator_extra_links",
+ "source",
+ "listeners",
+ "timetables"
+ ],
+ "title": "PluginResponse",
+ "description": "Plugin serializer."
+ },
+ "PoolBody": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 256,
+ "title": "Name"
+ },
+ "slots": {
+ "type": "integer",
+ "title": "Slots"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "include_deferred": {
+ "type": "boolean",
+ "title": "Include Deferred",
+ "default": false
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "name",
+ "slots"
+ ],
+ "title": "PoolBody",
+ "description": "Pool serializer for post bodies."
+ },
+ "PoolCollectionResponse": {
+ "properties": {
+ "pools": {
+ "items": {
+ "$ref": "#/components/schemas/PoolResponse"
+ },
+ "type": "array",
+ "title": "Pools"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "pools",
+ "total_entries"
+ ],
+ "title": "PoolCollectionResponse",
+ "description": "Pool Collection serializer for responses."
+ },
+ "PoolPatchBody": {
+ "properties": {
+ "pool": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Pool"
+ },
+ "slots": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Slots"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "include_deferred": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Include Deferred"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "title": "PoolPatchBody",
+ "description": "Pool serializer for patch bodies."
+ },
+ "PoolResponse": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "slots": {
+ "type": "integer",
+ "title": "Slots"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "include_deferred": {
+ "type": "boolean",
+ "title": "Include Deferred"
+ },
+ "occupied_slots": {
+ "type": "integer",
+ "title": "Occupied Slots"
+ },
+ "running_slots": {
+ "type": "integer",
+ "title": "Running Slots"
+ },
+ "queued_slots": {
+ "type": "integer",
+ "title": "Queued Slots"
+ },
+ "scheduled_slots": {
+ "type": "integer",
+ "title": "Scheduled Slots"
+ },
+ "open_slots": {
+ "type": "integer",
+ "title": "Open Slots"
+ },
+ "deferred_slots": {
+ "type": "integer",
+ "title": "Deferred Slots"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "slots",
+ "description",
+ "include_deferred",
+ "occupied_slots",
+ "running_slots",
+ "queued_slots",
+ "scheduled_slots",
+ "open_slots",
+ "deferred_slots"
+ ],
+ "title": "PoolResponse",
+ "description": "Pool serializer for responses."
+ },
+ "ProviderCollectionResponse": {
+ "properties": {
+ "providers": {
+ "items": {
+ "$ref": "#/components/schemas/ProviderResponse"
+ },
+ "type": "array",
+ "title": "Providers"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "providers",
+ "total_entries"
+ ],
+ "title": "ProviderCollectionResponse",
+ "description": "Provider Collection serializer for responses."
+ },
+ "ProviderResponse": {
+ "properties": {
+ "package_name": {
+ "type": "string",
+ "title": "Package Name"
+ },
+ "description": {
+ "type": "string",
+ "title": "Description"
+ },
+ "version": {
+ "type": "string",
+ "title": "Version"
+ }
+ },
+ "type": "object",
+ "required": [
+ "package_name",
+ "description",
+ "version"
+ ],
+ "title": "ProviderResponse",
+ "description": "Provider serializer for responses."
+ },
+ "QueuedEventCollectionResponse": {
+ "properties": {
+ "queued_events": {
+ "items": {
+ "$ref": "#/components/schemas/QueuedEventResponse"
+ },
+ "type": "array",
+ "title": "Queued Events"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "queued_events",
+ "total_entries"
+ ],
+ "title": "QueuedEventCollectionResponse",
+ "description": "Queued Event Collection serializer for responses."
+ },
+ "QueuedEventResponse": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "asset_id": {
+ "type": "integer",
+ "title": "Asset Id"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Created At"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dag_id",
+ "asset_id",
+ "created_at"
+ ],
+ "title": "QueuedEventResponse",
+ "description": "Queued Event serializer for responses.."
+ },
+ "ReprocessBehavior": {
+ "type": "string",
+ "enum": [
+ "failed",
+ "completed",
+ "none"
+ ],
+ "title": "ReprocessBehavior",
+ "description": "Internal enum for setting reprocess behavior in a backfill.\n\n:meta private:"
+ },
+ "SchedulerInfoResponse": {
+ "properties": {
+ "status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Status"
+ },
+ "latest_scheduler_heartbeat": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Latest Scheduler Heartbeat"
+ }
+ },
+ "type": "object",
+ "required": [
+ "status",
+ "latest_scheduler_heartbeat"
+ ],
+ "title": "SchedulerInfoResponse",
+ "description": "Scheduler info serializer for responses."
+ },
+ "StructuredLogMessage": {
+ "properties": {
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Timestamp"
+ },
+ "event": {
+ "type": "string",
+ "title": "Event"
+ }
+ },
+ "additionalProperties": true,
+ "type": "object",
+ "required": [
+ "event"
+ ],
+ "title": "StructuredLogMessage",
+ "description": "An individual log message."
+ },
+ "TaskCollectionResponse": {
+ "properties": {
+ "tasks": {
+ "items": {
+ "$ref": "#/components/schemas/TaskResponse"
+ },
+ "type": "array",
+ "title": "Tasks"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "tasks",
+ "total_entries"
+ ],
+ "title": "TaskCollectionResponse",
+ "description": "Task collection serializer for responses."
+ },
+ "TaskDependencyCollectionResponse": {
+ "properties": {
+ "dependencies": {
+ "items": {
+ "$ref": "#/components/schemas/TaskDependencyResponse"
+ },
+ "type": "array",
+ "title": "Dependencies"
+ }
+ },
+ "type": "object",
+ "required": [
+ "dependencies"
+ ],
+ "title": "TaskDependencyCollectionResponse",
+ "description": "Task scheduling dependencies collection serializer for responses."
+ },
+ "TaskDependencyResponse": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "title": "Name"
+ },
+ "reason": {
+ "type": "string",
+ "title": "Reason"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name",
+ "reason"
+ ],
+ "title": "TaskDependencyResponse",
+ "description": "Task Dependency serializer for responses."
+ },
+ "TaskInstanceCollectionResponse": {
+ "properties": {
+ "task_instances": {
+ "items": {
+ "$ref": "#/components/schemas/TaskInstanceResponse"
+ },
+ "type": "array",
+ "title": "Task Instances"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "task_instances",
+ "total_entries"
+ ],
+ "title": "TaskInstanceCollectionResponse",
+ "description": "Task Instance Collection serializer for responses."
+ },
+ "TaskInstanceHistoryCollectionResponse": {
+ "properties": {
+ "task_instances": {
+ "items": {
+ "$ref": "#/components/schemas/TaskInstanceHistoryResponse"
+ },
+ "type": "array",
+ "title": "Task Instances"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "task_instances",
+ "total_entries"
+ ],
+ "title": "TaskInstanceHistoryCollectionResponse",
+ "description": "TaskInstanceHistory Collection serializer for responses."
+ },
+ "TaskInstanceHistoryResponse": {
+ "properties": {
+ "task_id": {
+ "type": "string",
+ "title": "Task Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "dag_run_id": {
+ "type": "string",
+ "title": "Dag Run Id"
+ },
+ "map_index": {
+ "type": "integer",
+ "title": "Map Index"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "duration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration"
+ },
+ "state": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TaskInstanceState"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "try_number": {
+ "type": "integer",
+ "title": "Try Number"
+ },
+ "max_tries": {
+ "type": "integer",
+ "title": "Max Tries"
+ },
+ "task_display_name": {
+ "type": "string",
+ "title": "Task Display Name"
+ },
+ "dag_display_name": {
+ "type": "string",
+ "title": "Dag Display Name"
+ },
+ "hostname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Hostname"
+ },
+ "unixname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Unixname"
+ },
+ "pool": {
+ "type": "string",
+ "title": "Pool"
+ },
+ "pool_slots": {
+ "type": "integer",
+ "title": "Pool Slots"
+ },
+ "queue": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Queue"
+ },
+ "priority_weight": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Priority Weight"
+ },
+ "operator": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Operator"
+ },
+ "queued_when": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Queued When"
+ },
+ "scheduled_when": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Scheduled When"
+ },
+ "pid": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Pid"
+ },
+ "executor": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Executor"
+ },
+ "executor_config": {
+ "type": "string",
+ "title": "Executor Config"
+ },
+ "dag_version": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagVersionResponse"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object",
+ "required": [
+ "task_id",
+ "dag_id",
+ "dag_run_id",
+ "map_index",
+ "start_date",
+ "end_date",
+ "duration",
+ "state",
+ "try_number",
+ "max_tries",
+ "task_display_name",
+ "dag_display_name",
+ "hostname",
+ "unixname",
+ "pool",
+ "pool_slots",
+ "queue",
+ "priority_weight",
+ "operator",
+ "queued_when",
+ "scheduled_when",
+ "pid",
+ "executor",
+ "executor_config",
+ "dag_version"
+ ],
+ "title": "TaskInstanceHistoryResponse",
+ "description": "TaskInstanceHistory serializer for responses."
+ },
+ "TaskInstanceResponse": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "title": "Id"
+ },
+ "task_id": {
+ "type": "string",
+ "title": "Task Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "dag_run_id": {
+ "type": "string",
+ "title": "Dag Run Id"
+ },
+ "map_index": {
+ "type": "integer",
+ "title": "Map Index"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "run_after": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Run After"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "duration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration"
+ },
+ "state": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TaskInstanceState"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "try_number": {
+ "type": "integer",
+ "title": "Try Number"
+ },
+ "max_tries": {
+ "type": "integer",
+ "title": "Max Tries"
+ },
+ "task_display_name": {
+ "type": "string",
+ "title": "Task Display Name"
+ },
+ "dag_display_name": {
+ "type": "string",
+ "title": "Dag Display Name"
+ },
+ "hostname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Hostname"
+ },
+ "unixname": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Unixname"
+ },
+ "pool": {
+ "type": "string",
+ "title": "Pool"
+ },
+ "pool_slots": {
+ "type": "integer",
+ "title": "Pool Slots"
+ },
+ "queue": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Queue"
+ },
+ "priority_weight": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Priority Weight"
+ },
+ "operator": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Operator"
+ },
+ "queued_when": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Queued When"
+ },
+ "scheduled_when": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Scheduled When"
+ },
+ "pid": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Pid"
+ },
+ "executor": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Executor"
+ },
+ "executor_config": {
+ "type": "string",
+ "title": "Executor Config"
+ },
+ "note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Note"
+ },
+ "rendered_map_index": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Rendered Map Index"
+ },
+ "rendered_fields": {
+ "additionalProperties": true,
+ "type": "object",
+ "title": "Rendered Fields"
+ },
+ "trigger": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TriggerResponse"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "triggerer_job": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/JobResponse"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "dag_version": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/DagVersionResponse"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "task_id",
+ "dag_id",
+ "dag_run_id",
+ "map_index",
+ "logical_date",
+ "run_after",
+ "start_date",
+ "end_date",
+ "duration",
+ "state",
+ "try_number",
+ "max_tries",
+ "task_display_name",
+ "dag_display_name",
+ "hostname",
+ "unixname",
+ "pool",
+ "pool_slots",
+ "queue",
+ "priority_weight",
+ "operator",
+ "queued_when",
+ "scheduled_when",
+ "pid",
+ "executor",
+ "executor_config",
+ "note",
+ "rendered_map_index",
+ "trigger",
+ "triggerer_job",
+ "dag_version"
+ ],
+ "title": "TaskInstanceResponse",
+ "description": "TaskInstance serializer for responses."
+ },
+ "TaskInstanceState": {
+ "type": "string",
+ "enum": [
+ "removed",
+ "scheduled",
+ "queued",
+ "running",
+ "success",
+ "restarting",
+ "failed",
+ "up_for_retry",
+ "up_for_reschedule",
+ "upstream_failed",
+ "skipped",
+ "deferred"
+ ],
+ "title": "TaskInstanceState",
+ "description": "All possible states that a Task Instance can be in.\n\nNote that None is also allowed, so always use this in a type hint with Optional."
+ },
+ "TaskInstancesBatchBody": {
+ "properties": {
+ "dag_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Ids"
+ },
+ "dag_run_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run Ids"
+ },
+ "task_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Ids"
+ },
+ "state": {
+ "anyOf": [
+ {
+ "items": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TaskInstanceState"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "State"
+ },
+ "run_after_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Gte"
+ },
+ "run_after_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After Lte"
+ },
+ "logical_date_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Gte"
+ },
+ "logical_date_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date Lte"
+ },
+ "start_date_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Gte"
+ },
+ "start_date_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date Lte"
+ },
+ "end_date_gte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Gte"
+ },
+ "end_date_lte": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date Lte"
+ },
+ "duration_gte": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration Gte"
+ },
+ "duration_lte": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Duration Lte"
+ },
+ "pool": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Pool"
+ },
+ "queue": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Queue"
+ },
+ "executor": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Executor"
+ },
+ "page_offset": {
+ "type": "integer",
+ "minimum": 0.0,
+ "title": "Page Offset",
+ "default": 0
+ },
+ "page_limit": {
+ "type": "integer",
+ "minimum": 0.0,
+ "title": "Page Limit",
+ "default": 100
+ },
+ "order_by": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Order By"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "title": "TaskInstancesBatchBody",
+ "description": "Task Instance body for get batch."
+ },
+ "TaskInstancesLogResponse": {
+ "properties": {
+ "content": {
+ "anyOf": [
+ {
+ "items": {
+ "$ref": "#/components/schemas/StructuredLogMessage"
+ },
+ "type": "array"
+ },
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ ],
+ "title": "Content"
+ },
+ "continuation_token": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Continuation Token"
+ }
+ },
+ "type": "object",
+ "required": [
+ "content",
+ "continuation_token"
+ ],
+ "title": "TaskInstancesLogResponse",
+ "description": "Log serializer for responses."
+ },
+ "TaskOutletAssetReference": {
+ "properties": {
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "task_id": {
+ "type": "string",
+ "title": "Task Id"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Created At"
+ },
+ "updated_at": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Updated At"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "dag_id",
+ "task_id",
+ "created_at",
+ "updated_at"
+ ],
+ "title": "TaskOutletAssetReference",
+ "description": "Task outlet reference serializer for assets."
+ },
+ "TaskResponse": {
+ "properties": {
+ "task_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Id"
+ },
+ "task_display_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Task Display Name"
+ },
+ "owner": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Owner"
+ },
+ "start_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Start Date"
+ },
+ "end_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "End Date"
+ },
+ "trigger_rule": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Trigger Rule"
+ },
+ "depends_on_past": {
+ "type": "boolean",
+ "title": "Depends On Past"
+ },
+ "wait_for_downstream": {
+ "type": "boolean",
+ "title": "Wait For Downstream"
+ },
+ "retries": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Retries"
+ },
+ "queue": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Queue"
+ },
+ "pool": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Pool"
+ },
+ "pool_slots": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Pool Slots"
+ },
+ "execution_timeout": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TimeDelta"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retry_delay": {
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/TimeDelta"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "retry_exponential_backoff": {
+ "type": "boolean",
+ "title": "Retry Exponential Backoff"
+ },
+ "priority_weight": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Priority Weight"
+ },
+ "weight_rule": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Weight Rule"
+ },
+ "ui_color": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Ui Color"
+ },
+ "ui_fgcolor": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Ui Fgcolor"
+ },
+ "template_fields": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Template Fields"
+ },
+ "downstream_task_ids": {
+ "anyOf": [
+ {
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Downstream Task Ids"
+ },
+ "doc_md": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Doc Md"
+ },
+ "operator_name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Operator Name"
+ },
+ "params": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Params"
+ },
+ "class_ref": {
+ "anyOf": [
+ {
+ "additionalProperties": true,
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Class Ref"
+ },
+ "is_mapped": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Is Mapped"
+ },
+ "extra_links": {
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "title": "Extra Links",
+ "description": "Extract and return extra_links.",
+ "readOnly": true
+ }
+ },
+ "type": "object",
+ "required": [
+ "task_id",
+ "task_display_name",
+ "owner",
+ "start_date",
+ "end_date",
+ "trigger_rule",
+ "depends_on_past",
+ "wait_for_downstream",
+ "retries",
+ "queue",
+ "pool",
+ "pool_slots",
+ "execution_timeout",
+ "retry_delay",
+ "retry_exponential_backoff",
+ "priority_weight",
+ "weight_rule",
+ "ui_color",
+ "ui_fgcolor",
+ "template_fields",
+ "downstream_task_ids",
+ "doc_md",
+ "operator_name",
+ "params",
+ "class_ref",
+ "is_mapped",
+ "extra_links"
+ ],
+ "title": "TaskResponse",
+ "description": "Task serializer for responses."
+ },
+ "TimeDelta": {
+ "properties": {
+ "__type": {
+ "type": "string",
+ "title": "Type",
+ "default": "TimeDelta"
+ },
+ "days": {
+ "type": "integer",
+ "title": "Days"
+ },
+ "seconds": {
+ "type": "integer",
+ "title": "Seconds"
+ },
+ "microseconds": {
+ "type": "integer",
+ "title": "Microseconds"
+ }
+ },
+ "type": "object",
+ "required": [
+ "days",
+ "seconds",
+ "microseconds"
+ ],
+ "title": "TimeDelta",
+ "description": "TimeDelta can be used to interact with datetime.timedelta objects."
+ },
+ "TriggerDAGRunPostBody": {
+ "properties": {
+ "dag_run_id": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Dag Run Id"
+ },
+ "data_interval_start": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Data Interval Start"
+ },
+ "data_interval_end": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Data Interval End"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "run_after": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Run After"
+ },
+ "conf": {
+ "additionalProperties": true,
+ "type": "object",
+ "title": "Conf"
+ },
+ "note": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Note"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "logical_date"
+ ],
+ "title": "TriggerDAGRunPostBody",
+ "description": "Trigger DAG Run Serializer for POST body."
+ },
+ "TriggerResponse": {
+ "properties": {
+ "id": {
+ "type": "integer",
+ "title": "Id"
+ },
+ "classpath": {
+ "type": "string",
+ "title": "Classpath"
+ },
+ "kwargs": {
+ "type": "string",
+ "title": "Kwargs"
+ },
+ "created_date": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Created Date"
+ },
+ "triggerer_id": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Triggerer Id"
+ }
+ },
+ "type": "object",
+ "required": [
+ "id",
+ "classpath",
+ "kwargs",
+ "created_date",
+ "triggerer_id"
+ ],
+ "title": "TriggerResponse",
+ "description": "Trigger serializer for responses."
+ },
+ "TriggererInfoResponse": {
+ "properties": {
+ "status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Status"
+ },
+ "latest_triggerer_heartbeat": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Latest Triggerer Heartbeat"
+ }
+ },
+ "type": "object",
+ "required": [
+ "status",
+ "latest_triggerer_heartbeat"
+ ],
+ "title": "TriggererInfoResponse",
+ "description": "Triggerer info serializer for responses."
+ },
+ "ValidationError": {
+ "properties": {
+ "loc": {
+ "items": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "type": "array",
+ "title": "Location"
+ },
+ "msg": {
+ "type": "string",
+ "title": "Message"
+ },
+ "type": {
+ "type": "string",
+ "title": "Error Type"
+ }
+ },
+ "type": "object",
+ "required": [
+ "loc",
+ "msg",
+ "type"
+ ],
+ "title": "ValidationError"
+ },
+ "VariableBody": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "maxLength": 250,
+ "title": "Key"
+ },
+ "value": {
+ "$ref": "#/components/schemas/JsonValue"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "key",
+ "value"
+ ],
+ "title": "VariableBody",
+ "description": "Variable serializer for bodies."
+ },
+ "VariableCollectionResponse": {
+ "properties": {
+ "variables": {
+ "items": {
+ "$ref": "#/components/schemas/VariableResponse"
+ },
+ "type": "array",
+ "title": "Variables"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "variables",
+ "total_entries"
+ ],
+ "title": "VariableCollectionResponse",
+ "description": "Variable Collection serializer for responses."
+ },
+ "VariableResponse": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "Key"
+ },
+ "value": {
+ "type": "string",
+ "title": "Value"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Description"
+ },
+ "is_encrypted": {
+ "type": "boolean",
+ "title": "Is Encrypted"
+ }
+ },
+ "type": "object",
+ "required": [
+ "key",
+ "value",
+ "description",
+ "is_encrypted"
+ ],
+ "title": "VariableResponse",
+ "description": "Variable serializer for responses."
+ },
+ "VersionInfo": {
+ "properties": {
+ "version": {
+ "type": "string",
+ "title": "Version"
+ },
+ "git_version": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Git Version"
+ }
+ },
+ "type": "object",
+ "required": [
+ "version",
+ "git_version"
+ ],
+ "title": "VersionInfo",
+ "description": "Version information serializer for responses."
+ },
+ "XComCollectionResponse": {
+ "properties": {
+ "xcom_entries": {
+ "items": {
+ "$ref": "#/components/schemas/XComResponse"
+ },
+ "type": "array",
+ "title": "Xcom Entries"
+ },
+ "total_entries": {
+ "type": "integer",
+ "title": "Total Entries"
+ }
+ },
+ "type": "object",
+ "required": [
+ "xcom_entries",
+ "total_entries"
+ ],
+ "title": "XComCollectionResponse",
+ "description": "XCom Collection serializer for responses."
+ },
+ "XComCreateBody": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "Key"
+ },
+ "value": {
+ "title": "Value"
+ },
+ "map_index": {
+ "type": "integer",
+ "title": "Map Index",
+ "default": -1
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "key",
+ "value"
+ ],
+ "title": "XComCreateBody",
+ "description": "Payload serializer for creating an XCom entry."
+ },
+ "XComResponse": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "Key"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Timestamp"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "map_index": {
+ "type": "integer",
+ "title": "Map Index"
+ },
+ "task_id": {
+ "type": "string",
+ "title": "Task Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "run_id": {
+ "type": "string",
+ "title": "Run Id"
+ }
+ },
+ "type": "object",
+ "required": [
+ "key",
+ "timestamp",
+ "logical_date",
+ "map_index",
+ "task_id",
+ "dag_id",
+ "run_id"
+ ],
+ "title": "XComResponse",
+ "description": "Serializer for a xcom item."
+ },
+ "XComResponseNative": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "Key"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Timestamp"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "map_index": {
+ "type": "integer",
+ "title": "Map Index"
+ },
+ "task_id": {
+ "type": "string",
+ "title": "Task Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "run_id": {
+ "type": "string",
+ "title": "Run Id"
+ },
+ "value": {
+ "title": "Value"
+ }
+ },
+ "type": "object",
+ "required": [
+ "key",
+ "timestamp",
+ "logical_date",
+ "map_index",
+ "task_id",
+ "dag_id",
+ "run_id",
+ "value"
+ ],
+ "title": "XComResponseNative",
+ "description": "XCom response serializer with native return type."
+ },
+ "XComResponseString": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "title": "Key"
+ },
+ "timestamp": {
+ "type": "string",
+ "format": "date-time",
+ "title": "Timestamp"
+ },
+ "logical_date": {
+ "anyOf": [
+ {
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Logical Date"
+ },
+ "map_index": {
+ "type": "integer",
+ "title": "Map Index"
+ },
+ "task_id": {
+ "type": "string",
+ "title": "Task Id"
+ },
+ "dag_id": {
+ "type": "string",
+ "title": "Dag Id"
+ },
+ "run_id": {
+ "type": "string",
+ "title": "Run Id"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "title": "Value"
+ }
+ },
+ "type": "object",
+ "required": [
+ "key",
+ "timestamp",
+ "logical_date",
+ "map_index",
+ "task_id",
+ "dag_id",
+ "run_id",
+ "value"
+ ],
+ "title": "XComResponseString",
+ "description": "XCom response serializer with string return type."
+ },
+ "XComUpdateBody": {
+ "properties": {
+ "value": {
+ "title": "Value"
+ },
+ "map_index": {
+ "type": "integer",
+ "title": "Map Index",
+ "default": -1
+ }
+ },
+ "additionalProperties": false,
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "title": "XComUpdateBody",
+ "description": "Payload serializer for updating an XCom entry."
+ }
+ },
+ "securitySchemes": {
+ "OAuth2PasswordBearer": {
+ "type": "oauth2",
+ "description": "To authenticate Airflow API requests, clients must include a JWT (JSON Web Token) in the Authorization header of each request. This token is used to verify the identity of the client and ensure that they have the appropriate permissions to access the requested resources. You can use the endpoint ``POST /auth/token`` in order to generate a JWT token. Upon successful authentication, the server will issue a JWT token that contains the necessary information (such as user identity and scope) to authenticate subsequent requests. To learn more about Airflow public API authentication, please read https://airflow.apache.org/docs/apache-airflow/stable/security/api.html.",
+ "flows": {
+ "password": {
+ "scopes": {},
+ "tokenUrl": "/auth/token"
+ }
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/tests/parser/test_operation_parser.py b/tests/parser/test_operation_parser.py
index 89831d3..36259b0 100644
--- a/tests/parser/test_operation_parser.py
+++ b/tests/parser/test_operation_parser.py
@@ -1,26 +1,16 @@
-import logging
-from importlib import resources
-from typing import Any
-
+import json
import pytest
-from airflow_mcp_server.parser.operation_parser import OperationDetails, OperationParser
+from typing import Any
from pydantic import BaseModel
-
-logging.basicConfig(level=logging.DEBUG)
-logger = logging.getLogger(__name__)
+from airflow_mcp_server.parser.operation_parser import OperationDetails, OperationParser
@pytest.fixture
-def spec_file():
- """Get content of the v1.yaml spec file."""
- with resources.files("airflow_mcp_server.resources").joinpath("v1.yaml").open("rb") as f:
- return f.read()
-
-
-@pytest.fixture
-def parser(spec_file) -> OperationParser:
- """Create OperationParser instance."""
- return OperationParser(spec_path=spec_file)
+def parser() -> OperationParser:
+ """Create OperationParser instance from tests/parser/openapi.json."""
+ with open("tests/parser/openapi.json") as f:
+ spec_dict = json.load(f)
+ return OperationParser(spec_dict)
def test_parse_operation_basic(parser: OperationParser) -> None:
@@ -29,14 +19,9 @@ def test_parse_operation_basic(parser: OperationParser) -> None:
assert isinstance(operation, OperationDetails)
assert operation.operation_id == "get_dags"
- assert operation.path == "/dags"
+ assert operation.path == "/api/v2/dags"
assert operation.method == "get"
- assert (
- operation.description
- == """List DAGs in the database.
-`dag_id_pattern` can be set to match dags of a specific pattern
-"""
- )
+ assert operation.description == "Get all DAGs."
assert isinstance(operation.parameters, dict)
@@ -46,9 +31,9 @@ def test_parse_operation_with_no_description_but_summary(parser: OperationParser
assert isinstance(operation, OperationDetails)
assert operation.operation_id == "get_connections"
- assert operation.path == "/connections"
+ assert operation.path == "/api/v2/connections"
assert operation.method == "get"
- assert operation.description == "List connections"
+ assert operation.description == "Get all connection entries."
assert isinstance(operation.parameters, dict)
@@ -56,7 +41,7 @@ def test_parse_operation_with_path_params(parser: OperationParser) -> None:
"""Test parsing operation with path parameters."""
operation = parser.parse_operation("get_dag")
- assert operation.path == "/dags/{dag_id}"
+ assert operation.path == "/api/v2/dags/{dag_id}"
assert isinstance(operation.input_model, type(BaseModel))
# Verify path parameter field exists
@@ -83,7 +68,10 @@ def test_parse_operation_with_query_params(parser: OperationParser) -> None:
def test_parse_operation_with_body_params(parser: OperationParser) -> None:
"""Test parsing operation with request body."""
- operation = parser.parse_operation("post_dag_run")
+ # Find the correct operationId for posting a dag run in the OpenAPI spec
+ # From the spec, the likely operation is under /api/v2/dags/{dag_id}/dagRuns
+ # Let's use "post_dag_run" if it exists, otherwise use the actual operationId
+ operation = parser.parse_operation("trigger_dag_run")
# Verify body fields exist
fields = operation.input_model.__annotations__
@@ -167,7 +155,7 @@ def test_parse_operation_with_allof_body(parser: OperationParser) -> None:
assert isinstance(operation, OperationDetails)
assert operation.operation_id == "test_connection"
- assert operation.path == "/connections/test"
+ assert operation.path == "/api/v2/connections/test"
assert operation.method == "post"
# Verify input model includes fields from allOf schema
diff --git a/tests/tools/test_airflow_tool.py b/tests/tools/test_airflow_tool.py
index 7981edb..4f62eec 100644
--- a/tests/tools/test_airflow_tool.py
+++ b/tests/tools/test_airflow_tool.py
@@ -1,11 +1,11 @@
"""Tests for AirflowTool."""
import pytest
+from pydantic import ValidationError
+
from airflow_mcp_server.client.airflow_client import AirflowClient
from airflow_mcp_server.parser.operation_parser import OperationDetails
from airflow_mcp_server.tools.airflow_tool import AirflowTool
-from pydantic import ValidationError
-
from tests.tools.test_models import TestRequestModel
@@ -41,6 +41,7 @@ def operation_details():
},
},
input_model=model,
+ description="Test operation for AirflowTool",
)
diff --git a/uv.lock b/uv.lock
index a6ab90c..944876c 100644
--- a/uv.lock
+++ b/uv.lock
@@ -1,27 +1,28 @@
version = 1
+revision = 2
requires-python = ">=3.11"
[[package]]
name = "aiofiles"
version = "24.1.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c", size = 30247 }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/03/a88171e277e8caa88a4c77808c20ebb04ba74cc4681bf1e9416c862de237/aiofiles-24.1.0.tar.gz", hash = "sha256:22a075c9e5a3810f0c2e48f3008c94d68c65d763b9b03857924c99e57355166c", size = 30247, upload_time = "2024-06-24T11:02:03.584Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5", size = 15896 },
+ { url = "https://files.pythonhosted.org/packages/a5/45/30bb92d442636f570cb5651bc661f52b610e2eec3f891a5dc3a4c3667db0/aiofiles-24.1.0-py3-none-any.whl", hash = "sha256:b4ec55f4195e3eb5d7abd1bf7e061763e864dd4954231fb8539a0ef8bb8260e5", size = 15896, upload_time = "2024-06-24T11:02:01.529Z" },
]
[[package]]
name = "aiohappyeyeballs"
-version = "2.4.6"
+version = "2.6.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/08/07/508f9ebba367fc3370162e53a3cfd12f5652ad79f0e0bfdf9f9847c6f159/aiohappyeyeballs-2.4.6.tar.gz", hash = "sha256:9b05052f9042985d32ecbe4b59a77ae19c006a78f1344d7fdad69d28ded3d0b0", size = 21726 }
+sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload_time = "2025-03-12T01:42:48.764Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/44/4c/03fb05f56551828ec67ceb3665e5dc51638042d204983a03b0a1541475b6/aiohappyeyeballs-2.4.6-py3-none-any.whl", hash = "sha256:147ec992cf873d74f5062644332c539fcd42956dc69453fe5204195e560517e1", size = 14543 },
+ { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload_time = "2025-03-12T01:42:47.083Z" },
]
[[package]]
name = "aiohttp"
-version = "3.11.12"
+version = "3.11.18"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "aiohappyeyeballs" },
@@ -32,56 +33,56 @@ dependencies = [
{ name = "propcache" },
{ name = "yarl" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/37/4b/952d49c73084fb790cb5c6ead50848c8e96b4980ad806cf4d2ad341eaa03/aiohttp-3.11.12.tar.gz", hash = "sha256:7603ca26d75b1b86160ce1bbe2787a0b706e592af5b2504e12caa88a217767b0", size = 7673175 }
+sdist = { url = "https://files.pythonhosted.org/packages/63/e7/fa1a8c00e2c54b05dc8cb5d1439f627f7c267874e3f7bb047146116020f9/aiohttp-3.11.18.tar.gz", hash = "sha256:ae856e1138612b7e412db63b7708735cff4d38d0399f6a5435d3dac2669f558a", size = 7678653, upload_time = "2025-04-21T09:43:09.191Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/9c/38/35311e70196b6a63cfa033a7f741f800aa8a93f57442991cbe51da2394e7/aiohttp-3.11.12-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:87a2e00bf17da098d90d4145375f1d985a81605267e7f9377ff94e55c5d769eb", size = 708797 },
- { url = "https://files.pythonhosted.org/packages/44/3e/46c656e68cbfc4f3fc7cb5d2ba4da6e91607fe83428208028156688f6201/aiohttp-3.11.12-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:b34508f1cd928ce915ed09682d11307ba4b37d0708d1f28e5774c07a7674cac9", size = 468669 },
- { url = "https://files.pythonhosted.org/packages/a0/d6/2088fb4fd1e3ac2bfb24bc172223babaa7cdbb2784d33c75ec09e66f62f8/aiohttp-3.11.12-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:936d8a4f0f7081327014742cd51d320296b56aa6d324461a13724ab05f4b2933", size = 455739 },
- { url = "https://files.pythonhosted.org/packages/e7/dc/c443a6954a56f4a58b5efbfdf23cc6f3f0235e3424faf5a0c56264d5c7bb/aiohttp-3.11.12-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2de1378f72def7dfb5dbd73d86c19eda0ea7b0a6873910cc37d57e80f10d64e1", size = 1685858 },
- { url = "https://files.pythonhosted.org/packages/25/67/2d5b3aaade1d5d01c3b109aa76e3aa9630531252cda10aa02fb99b0b11a1/aiohttp-3.11.12-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9d45dbb3aaec05cf01525ee1a7ac72de46a8c425cb75c003acd29f76b1ffe94", size = 1743829 },
- { url = "https://files.pythonhosted.org/packages/90/9b/9728fe9a3e1b8521198455d027b0b4035522be18f504b24c5d38d59e7278/aiohttp-3.11.12-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:930ffa1925393381e1e0a9b82137fa7b34c92a019b521cf9f41263976666a0d6", size = 1785587 },
- { url = "https://files.pythonhosted.org/packages/ce/cf/28fbb43d4ebc1b4458374a3c7b6db3b556a90e358e9bbcfe6d9339c1e2b6/aiohttp-3.11.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8340def6737118f5429a5df4e88f440746b791f8f1c4ce4ad8a595f42c980bd5", size = 1675319 },
- { url = "https://files.pythonhosted.org/packages/e5/d2/006c459c11218cabaa7bca401f965c9cc828efbdea7e1615d4644eaf23f7/aiohttp-3.11.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4016e383f91f2814e48ed61e6bda7d24c4d7f2402c75dd28f7e1027ae44ea204", size = 1619982 },
- { url = "https://files.pythonhosted.org/packages/9d/83/ca425891ebd37bee5d837110f7fddc4d808a7c6c126a7d1b5c3ad72fc6ba/aiohttp-3.11.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3c0600bcc1adfaaac321422d615939ef300df81e165f6522ad096b73439c0f58", size = 1654176 },
- { url = "https://files.pythonhosted.org/packages/25/df/047b1ce88514a1b4915d252513640184b63624e7914e41d846668b8edbda/aiohttp-3.11.12-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:0450ada317a65383b7cce9576096150fdb97396dcfe559109b403c7242faffef", size = 1660198 },
- { url = "https://files.pythonhosted.org/packages/d3/cc/6ecb8e343f0902528620b9dbd567028a936d5489bebd7dbb0dd0914f4fdb/aiohttp-3.11.12-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:850ff6155371fd802a280f8d369d4e15d69434651b844bde566ce97ee2277420", size = 1650186 },
- { url = "https://files.pythonhosted.org/packages/f8/f8/453df6dd69256ca8c06c53fc8803c9056e2b0b16509b070f9a3b4bdefd6c/aiohttp-3.11.12-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:8fd12d0f989c6099e7b0f30dc6e0d1e05499f3337461f0b2b0dadea6c64b89df", size = 1733063 },
- { url = "https://files.pythonhosted.org/packages/55/f8/540160787ff3000391de0e5d0d1d33be4c7972f933c21991e2ea105b2d5e/aiohttp-3.11.12-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:76719dd521c20a58a6c256d058547b3a9595d1d885b830013366e27011ffe804", size = 1755306 },
- { url = "https://files.pythonhosted.org/packages/30/7d/49f3bfdfefd741576157f8f91caa9ff61a6f3d620ca6339268327518221b/aiohttp-3.11.12-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:97fe431f2ed646a3b56142fc81d238abcbaff08548d6912acb0b19a0cadc146b", size = 1692909 },
- { url = "https://files.pythonhosted.org/packages/40/9c/8ce00afd6f6112ce9a2309dc490fea376ae824708b94b7b5ea9cba979d1d/aiohttp-3.11.12-cp311-cp311-win32.whl", hash = "sha256:e10c440d142fa8b32cfdb194caf60ceeceb3e49807072e0dc3a8887ea80e8c16", size = 416584 },
- { url = "https://files.pythonhosted.org/packages/35/97/4d3c5f562f15830de472eb10a7a222655d750839943e0e6d915ef7e26114/aiohttp-3.11.12-cp311-cp311-win_amd64.whl", hash = "sha256:246067ba0cf5560cf42e775069c5d80a8989d14a7ded21af529a4e10e3e0f0e6", size = 442674 },
- { url = "https://files.pythonhosted.org/packages/4d/d0/94346961acb476569fca9a644cc6f9a02f97ef75961a6b8d2b35279b8d1f/aiohttp-3.11.12-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e392804a38353900c3fd8b7cacbea5132888f7129f8e241915e90b85f00e3250", size = 704837 },
- { url = "https://files.pythonhosted.org/packages/a9/af/05c503f1cc8f97621f199ef4b8db65fb88b8bc74a26ab2adb74789507ad3/aiohttp-3.11.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:8fa1510b96c08aaad49303ab11f8803787c99222288f310a62f493faf883ede1", size = 464218 },
- { url = "https://files.pythonhosted.org/packages/f2/48/b9949eb645b9bd699153a2ec48751b985e352ab3fed9d98c8115de305508/aiohttp-3.11.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:dc065a4285307607df3f3686363e7f8bdd0d8ab35f12226362a847731516e42c", size = 456166 },
- { url = "https://files.pythonhosted.org/packages/14/fb/980981807baecb6f54bdd38beb1bd271d9a3a786e19a978871584d026dcf/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddb31f8474695cd61fc9455c644fc1606c164b93bff2490390d90464b4655df", size = 1682528 },
- { url = "https://files.pythonhosted.org/packages/90/cb/77b1445e0a716914e6197b0698b7a3640590da6c692437920c586764d05b/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9dec0000d2d8621d8015c293e24589d46fa218637d820894cb7356c77eca3259", size = 1737154 },
- { url = "https://files.pythonhosted.org/packages/ff/24/d6fb1f4cede9ccbe98e4def6f3ed1e1efcb658871bbf29f4863ec646bf38/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e3552fe98e90fdf5918c04769f338a87fa4f00f3b28830ea9b78b1bdc6140e0d", size = 1793435 },
- { url = "https://files.pythonhosted.org/packages/17/e2/9f744cee0861af673dc271a3351f59ebd5415928e20080ab85be25641471/aiohttp-3.11.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6dfe7f984f28a8ae94ff3a7953cd9678550dbd2a1f9bda5dd9c5ae627744c78e", size = 1692010 },
- { url = "https://files.pythonhosted.org/packages/90/c4/4a1235c1df544223eb57ba553ce03bc706bdd065e53918767f7fa1ff99e0/aiohttp-3.11.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a481a574af914b6e84624412666cbfbe531a05667ca197804ecc19c97b8ab1b0", size = 1619481 },
- { url = "https://files.pythonhosted.org/packages/60/70/cf12d402a94a33abda86dd136eb749b14c8eb9fec1e16adc310e25b20033/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1987770fb4887560363b0e1a9b75aa303e447433c41284d3af2840a2f226d6e0", size = 1641578 },
- { url = "https://files.pythonhosted.org/packages/1b/25/7211973fda1f5e833fcfd98ccb7f9ce4fbfc0074e3e70c0157a751d00db8/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:a4ac6a0f0f6402854adca4e3259a623f5c82ec3f0c049374133bcb243132baf9", size = 1684463 },
- { url = "https://files.pythonhosted.org/packages/93/60/b5905b4d0693f6018b26afa9f2221fefc0dcbd3773fe2dff1a20fb5727f1/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c96a43822f1f9f69cc5c3706af33239489a6294be486a0447fb71380070d4d5f", size = 1646691 },
- { url = "https://files.pythonhosted.org/packages/b4/fc/ba1b14d6fdcd38df0b7c04640794b3683e949ea10937c8a58c14d697e93f/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a5e69046f83c0d3cb8f0d5bd9b8838271b1bc898e01562a04398e160953e8eb9", size = 1702269 },
- { url = "https://files.pythonhosted.org/packages/5e/39/18c13c6f658b2ba9cc1e0c6fb2d02f98fd653ad2addcdf938193d51a9c53/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:68d54234c8d76d8ef74744f9f9fc6324f1508129e23da8883771cdbb5818cbef", size = 1734782 },
- { url = "https://files.pythonhosted.org/packages/9f/d2/ccc190023020e342419b265861877cd8ffb75bec37b7ddd8521dd2c6deb8/aiohttp-3.11.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c9fd9dcf9c91affe71654ef77426f5cf8489305e1c66ed4816f5a21874b094b9", size = 1694740 },
- { url = "https://files.pythonhosted.org/packages/3f/54/186805bcada64ea90ea909311ffedcd74369bfc6e880d39d2473314daa36/aiohttp-3.11.12-cp312-cp312-win32.whl", hash = "sha256:0ed49efcd0dc1611378beadbd97beb5d9ca8fe48579fc04a6ed0844072261b6a", size = 411530 },
- { url = "https://files.pythonhosted.org/packages/3d/63/5eca549d34d141bcd9de50d4e59b913f3641559460c739d5e215693cb54a/aiohttp-3.11.12-cp312-cp312-win_amd64.whl", hash = "sha256:54775858c7f2f214476773ce785a19ee81d1294a6bedc5cc17225355aab74802", size = 437860 },
- { url = "https://files.pythonhosted.org/packages/c3/9b/cea185d4b543ae08ee478373e16653722c19fcda10d2d0646f300ce10791/aiohttp-3.11.12-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:413ad794dccb19453e2b97c2375f2ca3cdf34dc50d18cc2693bd5aed7d16f4b9", size = 698148 },
- { url = "https://files.pythonhosted.org/packages/91/5c/80d47fe7749fde584d1404a68ade29bcd7e58db8fa11fa38e8d90d77e447/aiohttp-3.11.12-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4a93d28ed4b4b39e6f46fd240896c29b686b75e39cc6992692e3922ff6982b4c", size = 460831 },
- { url = "https://files.pythonhosted.org/packages/8e/f9/de568f8a8ca6b061d157c50272620c53168d6e3eeddae78dbb0f7db981eb/aiohttp-3.11.12-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d589264dbba3b16e8951b6f145d1e6b883094075283dafcab4cdd564a9e353a0", size = 453122 },
- { url = "https://files.pythonhosted.org/packages/8b/fd/b775970a047543bbc1d0f66725ba72acef788028fce215dc959fd15a8200/aiohttp-3.11.12-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e5148ca8955affdfeb864aca158ecae11030e952b25b3ae15d4e2b5ba299bad2", size = 1665336 },
- { url = "https://files.pythonhosted.org/packages/82/9b/aff01d4f9716245a1b2965f02044e4474fadd2bcfe63cf249ca788541886/aiohttp-3.11.12-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:525410e0790aab036492eeea913858989c4cb070ff373ec3bc322d700bdf47c1", size = 1718111 },
- { url = "https://files.pythonhosted.org/packages/e0/a9/166fd2d8b2cc64f08104aa614fad30eee506b563154081bf88ce729bc665/aiohttp-3.11.12-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9bd8695be2c80b665ae3f05cb584093a1e59c35ecb7d794d1edd96e8cc9201d7", size = 1775293 },
- { url = "https://files.pythonhosted.org/packages/13/c5/0d3c89bd9e36288f10dc246f42518ce8e1c333f27636ac78df091c86bb4a/aiohttp-3.11.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f0203433121484b32646a5f5ea93ae86f3d9559d7243f07e8c0eab5ff8e3f70e", size = 1677338 },
- { url = "https://files.pythonhosted.org/packages/72/b2/017db2833ef537be284f64ead78725984db8a39276c1a9a07c5c7526e238/aiohttp-3.11.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40cd36749a1035c34ba8d8aaf221b91ca3d111532e5ccb5fa8c3703ab1b967ed", size = 1603365 },
- { url = "https://files.pythonhosted.org/packages/fc/72/b66c96a106ec7e791e29988c222141dd1219d7793ffb01e72245399e08d2/aiohttp-3.11.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a7442662afebbf7b4c6d28cb7aab9e9ce3a5df055fc4116cc7228192ad6cb484", size = 1618464 },
- { url = "https://files.pythonhosted.org/packages/3f/50/e68a40f267b46a603bab569d48d57f23508801614e05b3369898c5b2910a/aiohttp-3.11.12-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:8a2fb742ef378284a50766e985804bd6adb5adb5aa781100b09befdbfa757b65", size = 1657827 },
- { url = "https://files.pythonhosted.org/packages/c5/1d/aafbcdb1773d0ba7c20793ebeedfaba1f3f7462f6fc251f24983ed738aa7/aiohttp-3.11.12-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2cee3b117a8d13ab98b38d5b6bdcd040cfb4181068d05ce0c474ec9db5f3c5bb", size = 1616700 },
- { url = "https://files.pythonhosted.org/packages/b0/5e/6cd9724a2932f36e2a6b742436a36d64784322cfb3406ca773f903bb9a70/aiohttp-3.11.12-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f6a19bcab7fbd8f8649d6595624856635159a6527861b9cdc3447af288a00c00", size = 1685643 },
- { url = "https://files.pythonhosted.org/packages/8b/38/ea6c91d5c767fd45a18151675a07c710ca018b30aa876a9f35b32fa59761/aiohttp-3.11.12-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e4cecdb52aaa9994fbed6b81d4568427b6002f0a91c322697a4bfcc2b2363f5a", size = 1715487 },
- { url = "https://files.pythonhosted.org/packages/8e/24/e9edbcb7d1d93c02e055490348df6f955d675e85a028c33babdcaeda0853/aiohttp-3.11.12-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:30f546358dfa0953db92ba620101fefc81574f87b2346556b90b5f3ef16e55ce", size = 1672948 },
- { url = "https://files.pythonhosted.org/packages/25/be/0b1fb737268e003198f25c3a68c2135e76e4754bf399a879b27bd508a003/aiohttp-3.11.12-cp313-cp313-win32.whl", hash = "sha256:ce1bb21fc7d753b5f8a5d5a4bae99566386b15e716ebdb410154c16c91494d7f", size = 410396 },
- { url = "https://files.pythonhosted.org/packages/68/fd/677def96a75057b0a26446b62f8fbb084435b20a7d270c99539c26573bfd/aiohttp-3.11.12-cp313-cp313-win_amd64.whl", hash = "sha256:f7914ab70d2ee8ab91c13e5402122edbc77821c66d2758abb53aabe87f013287", size = 436234 },
+ { url = "https://files.pythonhosted.org/packages/2f/10/fd9ee4f9e042818c3c2390054c08ccd34556a3cb209d83285616434cf93e/aiohttp-3.11.18-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:427fdc56ccb6901ff8088544bde47084845ea81591deb16f957897f0f0ba1be9", size = 712088, upload_time = "2025-04-21T09:40:55.776Z" },
+ { url = "https://files.pythonhosted.org/packages/22/eb/6a77f055ca56f7aae2cd2a5607a3c9e7b9554f1497a069dcfcb52bfc9540/aiohttp-3.11.18-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c828b6d23b984255b85b9b04a5b963a74278b7356a7de84fda5e3b76866597b", size = 471450, upload_time = "2025-04-21T09:40:57.301Z" },
+ { url = "https://files.pythonhosted.org/packages/78/dc/5f3c0d27c91abf0bb5d103e9c9b0ff059f60cf6031a5f06f456c90731f42/aiohttp-3.11.18-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5c2eaa145bb36b33af1ff2860820ba0589e165be4ab63a49aebfd0981c173b66", size = 457836, upload_time = "2025-04-21T09:40:59.322Z" },
+ { url = "https://files.pythonhosted.org/packages/49/7b/55b65af9ef48b9b811c91ff8b5b9de9650c71147f10523e278d297750bc8/aiohttp-3.11.18-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d518ce32179f7e2096bf4e3e8438cf445f05fedd597f252de9f54c728574756", size = 1690978, upload_time = "2025-04-21T09:41:00.795Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/5a/3f8938c4f68ae400152b42742653477fc625d6bfe02e764f3521321c8442/aiohttp-3.11.18-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0700055a6e05c2f4711011a44364020d7a10fbbcd02fbf3e30e8f7e7fddc8717", size = 1745307, upload_time = "2025-04-21T09:41:02.89Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/42/89b694a293333ef6f771c62da022163bcf44fb03d4824372d88e3dc12530/aiohttp-3.11.18-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8bd1cde83e4684324e6ee19adfc25fd649d04078179890be7b29f76b501de8e4", size = 1780692, upload_time = "2025-04-21T09:41:04.461Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/ce/1a75384e01dd1bf546898b6062b1b5f7a59b6692ef802e4dd6db64fed264/aiohttp-3.11.18-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73b8870fe1c9a201b8c0d12c94fe781b918664766728783241a79e0468427e4f", size = 1676934, upload_time = "2025-04-21T09:41:06.728Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/31/442483276e6c368ab5169797d9873b5875213cbcf7e74b95ad1c5003098a/aiohttp-3.11.18-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:25557982dd36b9e32c0a3357f30804e80790ec2c4d20ac6bcc598533e04c6361", size = 1621190, upload_time = "2025-04-21T09:41:08.293Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/83/90274bf12c079457966008a58831a99675265b6a34b505243e004b408934/aiohttp-3.11.18-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7e889c9df381a2433802991288a61e5a19ceb4f61bd14f5c9fa165655dcb1fd1", size = 1658947, upload_time = "2025-04-21T09:41:11.054Z" },
+ { url = "https://files.pythonhosted.org/packages/91/c1/da9cee47a0350b78fdc93670ebe7ad74103011d7778ab4c382ca4883098d/aiohttp-3.11.18-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9ea345fda05bae217b6cce2acf3682ce3b13d0d16dd47d0de7080e5e21362421", size = 1654443, upload_time = "2025-04-21T09:41:13.213Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/f2/73cbe18dc25d624f79a09448adfc4972f82ed6088759ddcf783cd201956c/aiohttp-3.11.18-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9f26545b9940c4b46f0a9388fd04ee3ad7064c4017b5a334dd450f616396590e", size = 1644169, upload_time = "2025-04-21T09:41:14.827Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/32/970b0a196c4dccb1b0cfa5b4dc3b20f63d76f1c608f41001a84b2fd23c3d/aiohttp-3.11.18-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3a621d85e85dccabd700294494d7179ed1590b6d07a35709bb9bd608c7f5dd1d", size = 1728532, upload_time = "2025-04-21T09:41:17.168Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/50/b1dc810a41918d2ea9574e74125eb053063bc5e14aba2d98966f7d734da0/aiohttp-3.11.18-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9c23fd8d08eb9c2af3faeedc8c56e134acdaf36e2117ee059d7defa655130e5f", size = 1750310, upload_time = "2025-04-21T09:41:19.353Z" },
+ { url = "https://files.pythonhosted.org/packages/95/24/39271f5990b35ff32179cc95537e92499d3791ae82af7dcf562be785cd15/aiohttp-3.11.18-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:d9e6b0e519067caa4fd7fb72e3e8002d16a68e84e62e7291092a5433763dc0dd", size = 1691580, upload_time = "2025-04-21T09:41:21.868Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/78/75d0353feb77f041460564f12fe58e456436bbc00cbbf5d676dbf0038cc2/aiohttp-3.11.18-cp311-cp311-win32.whl", hash = "sha256:122f3e739f6607e5e4c6a2f8562a6f476192a682a52bda8b4c6d4254e1138f4d", size = 417565, upload_time = "2025-04-21T09:41:24.78Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/97/b912dcb654634a813f8518de359364dfc45976f822116e725dc80a688eee/aiohttp-3.11.18-cp311-cp311-win_amd64.whl", hash = "sha256:e6f3c0a3a1e73e88af384b2e8a0b9f4fb73245afd47589df2afcab6b638fa0e6", size = 443652, upload_time = "2025-04-21T09:41:26.48Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/d2/5bc436f42bf4745c55f33e1e6a2d69e77075d3e768e3d1a34f96ee5298aa/aiohttp-3.11.18-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:63d71eceb9cad35d47d71f78edac41fcd01ff10cacaa64e473d1aec13fa02df2", size = 706671, upload_time = "2025-04-21T09:41:28.021Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/d0/2dbabecc4e078c0474abb40536bbde717fb2e39962f41c5fc7a216b18ea7/aiohttp-3.11.18-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d1929da615840969929e8878d7951b31afe0bac883d84418f92e5755d7b49508", size = 466169, upload_time = "2025-04-21T09:41:29.783Z" },
+ { url = "https://files.pythonhosted.org/packages/70/84/19edcf0b22933932faa6e0be0d933a27bd173da02dc125b7354dff4d8da4/aiohttp-3.11.18-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7d0aebeb2392f19b184e3fdd9e651b0e39cd0f195cdb93328bd124a1d455cd0e", size = 457554, upload_time = "2025-04-21T09:41:31.327Z" },
+ { url = "https://files.pythonhosted.org/packages/32/d0/e8d1f034ae5624a0f21e4fb3feff79342ce631f3a4d26bd3e58b31ef033b/aiohttp-3.11.18-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3849ead845e8444f7331c284132ab314b4dac43bfae1e3cf350906d4fff4620f", size = 1690154, upload_time = "2025-04-21T09:41:33.541Z" },
+ { url = "https://files.pythonhosted.org/packages/16/de/2f9dbe2ac6f38f8495562077131888e0d2897e3798a0ff3adda766b04a34/aiohttp-3.11.18-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5e8452ad6b2863709f8b3d615955aa0807bc093c34b8e25b3b52097fe421cb7f", size = 1733402, upload_time = "2025-04-21T09:41:35.634Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/04/bd2870e1e9aef990d14b6df2a695f17807baf5c85a4c187a492bda569571/aiohttp-3.11.18-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b8d2b42073611c860a37f718b3d61ae8b4c2b124b2e776e2c10619d920350ec", size = 1783958, upload_time = "2025-04-21T09:41:37.456Z" },
+ { url = "https://files.pythonhosted.org/packages/23/06/4203ffa2beb5bedb07f0da0f79b7d9039d1c33f522e0d1a2d5b6218e6f2e/aiohttp-3.11.18-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40fbf91f6a0ac317c0a07eb328a1384941872f6761f2e6f7208b63c4cc0a7ff6", size = 1695288, upload_time = "2025-04-21T09:41:39.756Z" },
+ { url = "https://files.pythonhosted.org/packages/30/b2/e2285dda065d9f29ab4b23d8bcc81eb881db512afb38a3f5247b191be36c/aiohttp-3.11.18-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ff5625413fec55216da5eaa011cf6b0a2ed67a565914a212a51aa3755b0009", size = 1618871, upload_time = "2025-04-21T09:41:41.972Z" },
+ { url = "https://files.pythonhosted.org/packages/57/e0/88f2987885d4b646de2036f7296ebea9268fdbf27476da551c1a7c158bc0/aiohttp-3.11.18-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7f33a92a2fde08e8c6b0c61815521324fc1612f397abf96eed86b8e31618fdb4", size = 1646262, upload_time = "2025-04-21T09:41:44.192Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/19/4d2da508b4c587e7472a032290b2981f7caeca82b4354e19ab3df2f51d56/aiohttp-3.11.18-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:11d5391946605f445ddafda5eab11caf310f90cdda1fd99865564e3164f5cff9", size = 1677431, upload_time = "2025-04-21T09:41:46.049Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/ae/047473ea50150a41440f3265f53db1738870b5a1e5406ece561ca61a3bf4/aiohttp-3.11.18-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3cc314245deb311364884e44242e00c18b5896e4fe6d5f942e7ad7e4cb640adb", size = 1637430, upload_time = "2025-04-21T09:41:47.973Z" },
+ { url = "https://files.pythonhosted.org/packages/11/32/c6d1e3748077ce7ee13745fae33e5cb1dac3e3b8f8787bf738a93c94a7d2/aiohttp-3.11.18-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0f421843b0f70740772228b9e8093289924359d306530bcd3926f39acbe1adda", size = 1703342, upload_time = "2025-04-21T09:41:50.323Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/1d/a3b57bfdbe285f0d45572d6d8f534fd58761da3e9cbc3098372565005606/aiohttp-3.11.18-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e220e7562467dc8d589e31c1acd13438d82c03d7f385c9cd41a3f6d1d15807c1", size = 1740600, upload_time = "2025-04-21T09:41:52.111Z" },
+ { url = "https://files.pythonhosted.org/packages/a5/71/f9cd2fed33fa2b7ce4d412fb7876547abb821d5b5520787d159d0748321d/aiohttp-3.11.18-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ab2ef72f8605046115bc9aa8e9d14fd49086d405855f40b79ed9e5c1f9f4faea", size = 1695131, upload_time = "2025-04-21T09:41:53.94Z" },
+ { url = "https://files.pythonhosted.org/packages/97/97/d1248cd6d02b9de6aa514793d0dcb20099f0ec47ae71a933290116c070c5/aiohttp-3.11.18-cp312-cp312-win32.whl", hash = "sha256:12a62691eb5aac58d65200c7ae94d73e8a65c331c3a86a2e9670927e94339ee8", size = 412442, upload_time = "2025-04-21T09:41:55.689Z" },
+ { url = "https://files.pythonhosted.org/packages/33/9a/e34e65506e06427b111e19218a99abf627638a9703f4b8bcc3e3021277ed/aiohttp-3.11.18-cp312-cp312-win_amd64.whl", hash = "sha256:364329f319c499128fd5cd2d1c31c44f234c58f9b96cc57f743d16ec4f3238c8", size = 439444, upload_time = "2025-04-21T09:41:57.977Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/18/be8b5dd6b9cf1b2172301dbed28e8e5e878ee687c21947a6c81d6ceaa15d/aiohttp-3.11.18-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:474215ec618974054cf5dc465497ae9708543cbfc312c65212325d4212525811", size = 699833, upload_time = "2025-04-21T09:42:00.298Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/84/ecdc68e293110e6f6f6d7b57786a77555a85f70edd2b180fb1fafaff361a/aiohttp-3.11.18-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:6ced70adf03920d4e67c373fd692123e34d3ac81dfa1c27e45904a628567d804", size = 462774, upload_time = "2025-04-21T09:42:02.015Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/85/f07718cca55884dad83cc2433746384d267ee970e91f0dcc75c6d5544079/aiohttp-3.11.18-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2d9f6c0152f8d71361905aaf9ed979259537981f47ad099c8b3d81e0319814bd", size = 454429, upload_time = "2025-04-21T09:42:03.728Z" },
+ { url = "https://files.pythonhosted.org/packages/82/02/7f669c3d4d39810db8842c4e572ce4fe3b3a9b82945fdd64affea4c6947e/aiohttp-3.11.18-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a35197013ed929c0aed5c9096de1fc5a9d336914d73ab3f9df14741668c0616c", size = 1670283, upload_time = "2025-04-21T09:42:06.053Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/79/b82a12f67009b377b6c07a26bdd1b81dab7409fc2902d669dbfa79e5ac02/aiohttp-3.11.18-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:540b8a1f3a424f1af63e0af2d2853a759242a1769f9f1ab053996a392bd70118", size = 1717231, upload_time = "2025-04-21T09:42:07.953Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/38/d5a1f28c3904a840642b9a12c286ff41fc66dfa28b87e204b1f242dbd5e6/aiohttp-3.11.18-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f9e6710ebebfce2ba21cee6d91e7452d1125100f41b906fb5af3da8c78b764c1", size = 1769621, upload_time = "2025-04-21T09:42:09.855Z" },
+ { url = "https://files.pythonhosted.org/packages/53/2d/deb3749ba293e716b5714dda06e257f123c5b8679072346b1eb28b766a0b/aiohttp-3.11.18-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8af2ef3b4b652ff109f98087242e2ab974b2b2b496304063585e3d78de0b000", size = 1678667, upload_time = "2025-04-21T09:42:11.741Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/a8/04b6e11683a54e104b984bd19a9790eb1ae5f50968b601bb202d0406f0ff/aiohttp-3.11.18-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:28c3f975e5ae3dbcbe95b7e3dcd30e51da561a0a0f2cfbcdea30fc1308d72137", size = 1601592, upload_time = "2025-04-21T09:42:14.137Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/9d/c33305ae8370b789423623f0e073d09ac775cd9c831ac0f11338b81c16e0/aiohttp-3.11.18-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c28875e316c7b4c3e745172d882d8a5c835b11018e33432d281211af35794a93", size = 1621679, upload_time = "2025-04-21T09:42:16.056Z" },
+ { url = "https://files.pythonhosted.org/packages/56/45/8e9a27fff0538173d47ba60362823358f7a5f1653c6c30c613469f94150e/aiohttp-3.11.18-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:13cd38515568ae230e1ef6919e2e33da5d0f46862943fcda74e7e915096815f3", size = 1656878, upload_time = "2025-04-21T09:42:18.368Z" },
+ { url = "https://files.pythonhosted.org/packages/84/5b/8c5378f10d7a5a46b10cb9161a3aac3eeae6dba54ec0f627fc4ddc4f2e72/aiohttp-3.11.18-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:0e2a92101efb9f4c2942252c69c63ddb26d20f46f540c239ccfa5af865197bb8", size = 1620509, upload_time = "2025-04-21T09:42:20.141Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/2f/99dee7bd91c62c5ff0aa3c55f4ae7e1bc99c6affef780d7777c60c5b3735/aiohttp-3.11.18-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e6d3e32b8753c8d45ac550b11a1090dd66d110d4ef805ffe60fa61495360b3b2", size = 1680263, upload_time = "2025-04-21T09:42:21.993Z" },
+ { url = "https://files.pythonhosted.org/packages/03/0a/378745e4ff88acb83e2d5c884a4fe993a6e9f04600a4560ce0e9b19936e3/aiohttp-3.11.18-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ea4cf2488156e0f281f93cc2fd365025efcba3e2d217cbe3df2840f8c73db261", size = 1715014, upload_time = "2025-04-21T09:42:23.87Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/0b/b5524b3bb4b01e91bc4323aad0c2fcaebdf2f1b4d2eb22743948ba364958/aiohttp-3.11.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d4df95ad522c53f2b9ebc07f12ccd2cb15550941e11a5bbc5ddca2ca56316d7", size = 1666614, upload_time = "2025-04-21T09:42:25.764Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/b7/3d7b036d5a4ed5a4c704e0754afe2eef24a824dfab08e6efbffb0f6dd36a/aiohttp-3.11.18-cp313-cp313-win32.whl", hash = "sha256:cdd1bbaf1e61f0d94aced116d6e95fe25942f7a5f42382195fd9501089db5d78", size = 411358, upload_time = "2025-04-21T09:42:27.558Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/3c/143831b32cd23b5263a995b2a1794e10aa42f8a895aae5074c20fda36c07/aiohttp-3.11.18-cp313-cp313-win_amd64.whl", hash = "sha256:bdd619c27e44382cf642223f11cfd4d795161362a5a1fc1fa3940397bc89db01", size = 437658, upload_time = "2025-04-21T09:42:29.209Z" },
]
[[package]]
@@ -92,9 +93,9 @@ dependencies = [
{ name = "aiohttp" },
{ name = "packaging" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/de/03/532bbc645bdebcf3b6af3b25d46655259d66ce69abba7720b71ebfabbade/aioresponses-0.7.8.tar.gz", hash = "sha256:b861cdfe5dc58f3b8afac7b0a6973d5d7b2cb608dd0f6253d16b8ee8eaf6df11", size = 40253 }
+sdist = { url = "https://files.pythonhosted.org/packages/de/03/532bbc645bdebcf3b6af3b25d46655259d66ce69abba7720b71ebfabbade/aioresponses-0.7.8.tar.gz", hash = "sha256:b861cdfe5dc58f3b8afac7b0a6973d5d7b2cb608dd0f6253d16b8ee8eaf6df11", size = 40253, upload_time = "2025-01-19T18:14:03.222Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/12/b7/584157e43c98aa89810bc2f7099e7e01c728ecf905a66cf705106009228f/aioresponses-0.7.8-py2.py3-none-any.whl", hash = "sha256:b73bd4400d978855e55004b23a3a84cb0f018183bcf066a85ad392800b5b9a94", size = 12518 },
+ { url = "https://files.pythonhosted.org/packages/12/b7/584157e43c98aa89810bc2f7099e7e01c728ecf905a66cf705106009228f/aioresponses-0.7.8-py2.py3-none-any.whl", hash = "sha256:b73bd4400d978855e55004b23a3a84cb0f018183bcf066a85ad392800b5b9a94", size = 12518, upload_time = "2025-01-19T18:13:59.633Z" },
]
[[package]]
@@ -104,14 +105,14 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "frozenlist" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424 }
+sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424, upload_time = "2024-12-13T17:10:40.86Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597 },
+ { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597, upload_time = "2024-12-13T17:10:38.469Z" },
]
[[package]]
name = "airflow-mcp-server"
-version = "0.4.0"
+version = "0.6.0"
source = { editable = "." }
dependencies = [
{ name = "aiofiles" },
@@ -120,6 +121,7 @@ dependencies = [
{ name = "importlib-resources" },
{ name = "mcp" },
{ name = "openapi-core" },
+ { name = "packaging" },
{ name = "pydantic" },
{ name = "pyyaml" },
]
@@ -141,47 +143,49 @@ requires-dist = [
{ name = "aioresponses", specifier = ">=0.7.7" },
{ name = "build", marker = "extra == 'dev'", specifier = ">=1.2.2" },
{ name = "importlib-resources", specifier = ">=6.5.0" },
- { name = "mcp", specifier = ">=1.2.0" },
+ { name = "mcp", specifier = ">=1.7.1" },
{ name = "openapi-core", specifier = ">=0.19.4" },
+ { name = "packaging", specifier = ">=25.0" },
{ name = "pre-commit", marker = "extra == 'dev'", specifier = ">=4.0.1" },
- { name = "pydantic", specifier = ">=2.10.5" },
+ { name = "pydantic", specifier = ">=2.11.4" },
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=8.3.4" },
{ name = "pytest-asyncio", marker = "extra == 'dev'", specifier = ">=0.25.0" },
{ name = "pytest-mock", marker = "extra == 'dev'", specifier = ">=3.14.0" },
{ name = "pyyaml", specifier = ">=6.0.0" },
{ name = "ruff", marker = "extra == 'dev'", specifier = ">=0.9.2" },
]
+provides-extras = ["dev"]
[[package]]
name = "annotated-types"
version = "0.7.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081 }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload_time = "2024-05-20T21:33:25.928Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643 },
+ { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload_time = "2024-05-20T21:33:24.1Z" },
]
[[package]]
name = "anyio"
-version = "4.8.0"
+version = "4.9.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "idna" },
{ name = "sniffio" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/a3/73/199a98fc2dae33535d6b8e8e6ec01f8c1d76c9adb096c6b7d64823038cde/anyio-4.8.0.tar.gz", hash = "sha256:1d9fe889df5212298c0c0723fa20479d1b94883a2df44bd3897aa91083316f7a", size = 181126 }
+sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload_time = "2025-03-17T00:02:54.77Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/46/eb/e7f063ad1fec6b3178a3cd82d1a3c4de82cccf283fc42746168188e1cdd5/anyio-4.8.0-py3-none-any.whl", hash = "sha256:b5011f270ab5eb0abf13385f851315585cc37ef330dd88e27ec3d34d651fd47a", size = 96041 },
+ { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload_time = "2025-03-17T00:02:52.713Z" },
]
[[package]]
name = "attrs"
-version = "25.1.0"
+version = "25.3.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/49/7c/fdf464bcc51d23881d110abd74b512a42b3d5d376a55a831b44c603ae17f/attrs-25.1.0.tar.gz", hash = "sha256:1c97078a80c814273a76b2a298a932eb681c87415c11dee0a6921de7f1b02c3e", size = 810562 }
+sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload_time = "2025-03-13T11:10:22.779Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/fc/30/d4986a882011f9df997a55e6becd864812ccfcd821d64aac8570ee39f719/attrs-25.1.0-py3-none-any.whl", hash = "sha256:c75a69e28a550a7e93789579c22aa26b0f5b83b75dc4e08fe092980051e1090a", size = 63152 },
+ { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload_time = "2025-03-13T11:10:21.14Z" },
]
[[package]]
@@ -193,75 +197,75 @@ dependencies = [
{ name = "packaging" },
{ name = "pyproject-hooks" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7", size = 46701 }
+sdist = { url = "https://files.pythonhosted.org/packages/7d/46/aeab111f8e06793e4f0e421fcad593d547fb8313b50990f31681ee2fb1ad/build-1.2.2.post1.tar.gz", hash = "sha256:b36993e92ca9375a219c99e606a122ff365a760a2d4bba0caa09bd5278b608b7", size = 46701, upload_time = "2024-10-06T17:22:25.251Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950 },
+ { url = "https://files.pythonhosted.org/packages/84/c2/80633736cd183ee4a62107413def345f7e6e3c01563dbca1417363cf957e/build-1.2.2.post1-py3-none-any.whl", hash = "sha256:1d61c0887fa860c01971625baae8bdd338e517b836a2f70dd1f7aa3a6b2fc5b5", size = 22950, upload_time = "2024-10-06T17:22:23.299Z" },
]
[[package]]
name = "certifi"
version = "2025.1.31"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577 }
+sdist = { url = "https://files.pythonhosted.org/packages/1c/ab/c9f1e32b7b1bf505bf26f0ef697775960db7932abeb7b516de930ba2705f/certifi-2025.1.31.tar.gz", hash = "sha256:3d5da6925056f6f18f119200434a4780a94263f10d1c21d032a6f6b2baa20651", size = 167577, upload_time = "2025-01-31T02:16:47.166Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393 },
+ { url = "https://files.pythonhosted.org/packages/38/fc/bce832fd4fd99766c04d1ee0eead6b0ec6486fb100ae5e74c1d91292b982/certifi-2025.1.31-py3-none-any.whl", hash = "sha256:ca78db4565a652026a4db2bcdf68f2fb589ea80d0be70e03929ed730746b84fe", size = 166393, upload_time = "2025-01-31T02:16:45.015Z" },
]
[[package]]
name = "cfgv"
version = "3.4.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114 }
+sdist = { url = "https://files.pythonhosted.org/packages/11/74/539e56497d9bd1d484fd863dd69cbbfa653cd2aa27abfe35653494d85e94/cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560", size = 7114, upload_time = "2023-08-12T20:38:17.776Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249 },
+ { url = "https://files.pythonhosted.org/packages/c5/55/51844dd50c4fc7a33b653bfaba4c2456f06955289ca770a5dbd5fd267374/cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9", size = 7249, upload_time = "2023-08-12T20:38:16.269Z" },
]
[[package]]
name = "charset-normalizer"
version = "3.4.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188 }
+sdist = { url = "https://files.pythonhosted.org/packages/16/b0/572805e227f01586461c80e0fd25d65a2115599cc9dad142fee4b747c357/charset_normalizer-3.4.1.tar.gz", hash = "sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3", size = 123188, upload_time = "2024-12-24T18:12:35.43Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995 },
- { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471 },
- { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831 },
- { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335 },
- { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862 },
- { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673 },
- { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211 },
- { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039 },
- { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939 },
- { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075 },
- { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340 },
- { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205 },
- { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441 },
- { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105 },
- { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404 },
- { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423 },
- { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184 },
- { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268 },
- { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601 },
- { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098 },
- { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520 },
- { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852 },
- { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488 },
- { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192 },
- { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550 },
- { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785 },
- { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698 },
- { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162 },
- { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263 },
- { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966 },
- { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992 },
- { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162 },
- { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972 },
- { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095 },
- { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668 },
- { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073 },
- { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732 },
- { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391 },
- { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702 },
- { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767 },
+ { url = "https://files.pythonhosted.org/packages/72/80/41ef5d5a7935d2d3a773e3eaebf0a9350542f2cab4eac59a7a4741fbbbbe/charset_normalizer-3.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8bfa33f4f2672964266e940dd22a195989ba31669bd84629f05fab3ef4e2d125", size = 194995, upload_time = "2024-12-24T18:10:12.838Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/28/0b9fefa7b8b080ec492110af6d88aa3dea91c464b17d53474b6e9ba5d2c5/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28bf57629c75e810b6ae989f03c0828d64d6b26a5e205535585f96093e405ed1", size = 139471, upload_time = "2024-12-24T18:10:14.101Z" },
+ { url = "https://files.pythonhosted.org/packages/71/64/d24ab1a997efb06402e3fc07317e94da358e2585165930d9d59ad45fcae2/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f08ff5e948271dc7e18a35641d2f11a4cd8dfd5634f55228b691e62b37125eb3", size = 149831, upload_time = "2024-12-24T18:10:15.512Z" },
+ { url = "https://files.pythonhosted.org/packages/37/ed/be39e5258e198655240db5e19e0b11379163ad7070962d6b0c87ed2c4d39/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:234ac59ea147c59ee4da87a0c0f098e9c8d169f4dc2a159ef720f1a61bbe27cd", size = 142335, upload_time = "2024-12-24T18:10:18.369Z" },
+ { url = "https://files.pythonhosted.org/packages/88/83/489e9504711fa05d8dde1574996408026bdbdbd938f23be67deebb5eca92/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd4ec41f914fa74ad1b8304bbc634b3de73d2a0889bd32076342a573e0779e00", size = 143862, upload_time = "2024-12-24T18:10:19.743Z" },
+ { url = "https://files.pythonhosted.org/packages/c6/c7/32da20821cf387b759ad24627a9aca289d2822de929b8a41b6241767b461/charset_normalizer-3.4.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eea6ee1db730b3483adf394ea72f808b6e18cf3cb6454b4d86e04fa8c4327a12", size = 145673, upload_time = "2024-12-24T18:10:21.139Z" },
+ { url = "https://files.pythonhosted.org/packages/68/85/f4288e96039abdd5aeb5c546fa20a37b50da71b5cf01e75e87f16cd43304/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c96836c97b1238e9c9e3fe90844c947d5afbf4f4c92762679acfe19927d81d77", size = 140211, upload_time = "2024-12-24T18:10:22.382Z" },
+ { url = "https://files.pythonhosted.org/packages/28/a3/a42e70d03cbdabc18997baf4f0227c73591a08041c149e710045c281f97b/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4d86f7aff21ee58f26dcf5ae81a9addbd914115cdebcbb2217e4f0ed8982e146", size = 148039, upload_time = "2024-12-24T18:10:24.802Z" },
+ { url = "https://files.pythonhosted.org/packages/85/e4/65699e8ab3014ecbe6f5c71d1a55d810fb716bbfd74f6283d5c2aa87febf/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:09b5e6733cbd160dcc09589227187e242a30a49ca5cefa5a7edd3f9d19ed53fd", size = 151939, upload_time = "2024-12-24T18:10:26.124Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/82/8e9fe624cc5374193de6860aba3ea8070f584c8565ee77c168ec13274bd2/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:5777ee0881f9499ed0f71cc82cf873d9a0ca8af166dfa0af8ec4e675b7df48e6", size = 149075, upload_time = "2024-12-24T18:10:30.027Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/7b/82865ba54c765560c8433f65e8acb9217cb839a9e32b42af4aa8e945870f/charset_normalizer-3.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:237bdbe6159cff53b4f24f397d43c6336c6b0b42affbe857970cefbb620911c8", size = 144340, upload_time = "2024-12-24T18:10:32.679Z" },
+ { url = "https://files.pythonhosted.org/packages/b5/b6/9674a4b7d4d99a0d2df9b215da766ee682718f88055751e1e5e753c82db0/charset_normalizer-3.4.1-cp311-cp311-win32.whl", hash = "sha256:8417cb1f36cc0bc7eaba8ccb0e04d55f0ee52df06df3ad55259b9a323555fc8b", size = 95205, upload_time = "2024-12-24T18:10:34.724Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/ab/45b180e175de4402dcf7547e4fb617283bae54ce35c27930a6f35b6bef15/charset_normalizer-3.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:d7f50a1f8c450f3925cb367d011448c39239bb3eb4117c36a6d354794de4ce76", size = 102441, upload_time = "2024-12-24T18:10:37.574Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/9a/dd1e1cdceb841925b7798369a09279bd1cf183cef0f9ddf15a3a6502ee45/charset_normalizer-3.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545", size = 196105, upload_time = "2024-12-24T18:10:38.83Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/8c/90bfabf8c4809ecb648f39794cf2a84ff2e7d2a6cf159fe68d9a26160467/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7", size = 140404, upload_time = "2024-12-24T18:10:44.272Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/8f/e410d57c721945ea3b4f1a04b74f70ce8fa800d393d72899f0a40526401f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757", size = 150423, upload_time = "2024-12-24T18:10:45.492Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/b8/e6825e25deb691ff98cf5c9072ee0605dc2acfca98af70c2d1b1bc75190d/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa", size = 143184, upload_time = "2024-12-24T18:10:47.898Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/a2/513f6cbe752421f16d969e32f3583762bfd583848b763913ddab8d9bfd4f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d", size = 145268, upload_time = "2024-12-24T18:10:50.589Z" },
+ { url = "https://files.pythonhosted.org/packages/74/94/8a5277664f27c3c438546f3eb53b33f5b19568eb7424736bdc440a88a31f/charset_normalizer-3.4.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616", size = 147601, upload_time = "2024-12-24T18:10:52.541Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/5f/6d352c51ee763623a98e31194823518e09bfa48be2a7e8383cf691bbb3d0/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b", size = 141098, upload_time = "2024-12-24T18:10:53.789Z" },
+ { url = "https://files.pythonhosted.org/packages/78/d4/f5704cb629ba5ab16d1d3d741396aec6dc3ca2b67757c45b0599bb010478/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d", size = 149520, upload_time = "2024-12-24T18:10:55.048Z" },
+ { url = "https://files.pythonhosted.org/packages/c5/96/64120b1d02b81785f222b976c0fb79a35875457fa9bb40827678e54d1bc8/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a", size = 152852, upload_time = "2024-12-24T18:10:57.647Z" },
+ { url = "https://files.pythonhosted.org/packages/84/c9/98e3732278a99f47d487fd3468bc60b882920cef29d1fa6ca460a1fdf4e6/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9", size = 150488, upload_time = "2024-12-24T18:10:59.43Z" },
+ { url = "https://files.pythonhosted.org/packages/13/0e/9c8d4cb99c98c1007cc11eda969ebfe837bbbd0acdb4736d228ccaabcd22/charset_normalizer-3.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1", size = 146192, upload_time = "2024-12-24T18:11:00.676Z" },
+ { url = "https://files.pythonhosted.org/packages/b2/21/2b6b5b860781a0b49427309cb8670785aa543fb2178de875b87b9cc97746/charset_normalizer-3.4.1-cp312-cp312-win32.whl", hash = "sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35", size = 95550, upload_time = "2024-12-24T18:11:01.952Z" },
+ { url = "https://files.pythonhosted.org/packages/21/5b/1b390b03b1d16c7e382b561c5329f83cc06623916aab983e8ab9239c7d5c/charset_normalizer-3.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f", size = 102785, upload_time = "2024-12-24T18:11:03.142Z" },
+ { url = "https://files.pythonhosted.org/packages/38/94/ce8e6f63d18049672c76d07d119304e1e2d7c6098f0841b51c666e9f44a0/charset_normalizer-3.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aabfa34badd18f1da5ec1bc2715cadc8dca465868a4e73a0173466b688f29dda", size = 195698, upload_time = "2024-12-24T18:11:05.834Z" },
+ { url = "https://files.pythonhosted.org/packages/24/2e/dfdd9770664aae179a96561cc6952ff08f9a8cd09a908f259a9dfa063568/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22e14b5d70560b8dd51ec22863f370d1e595ac3d024cb8ad7d308b4cd95f8313", size = 140162, upload_time = "2024-12-24T18:11:07.064Z" },
+ { url = "https://files.pythonhosted.org/packages/24/4e/f646b9093cff8fc86f2d60af2de4dc17c759de9d554f130b140ea4738ca6/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8436c508b408b82d87dc5f62496973a1805cd46727c34440b0d29d8a2f50a6c9", size = 150263, upload_time = "2024-12-24T18:11:08.374Z" },
+ { url = "https://files.pythonhosted.org/packages/5e/67/2937f8d548c3ef6e2f9aab0f6e21001056f692d43282b165e7c56023e6dd/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d074908e1aecee37a7635990b2c6d504cd4766c7bc9fc86d63f9c09af3fa11b", size = 142966, upload_time = "2024-12-24T18:11:09.831Z" },
+ { url = "https://files.pythonhosted.org/packages/52/ed/b7f4f07de100bdb95c1756d3a4d17b90c1a3c53715c1a476f8738058e0fa/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:955f8851919303c92343d2f66165294848d57e9bba6cf6e3625485a70a038d11", size = 144992, upload_time = "2024-12-24T18:11:12.03Z" },
+ { url = "https://files.pythonhosted.org/packages/96/2c/d49710a6dbcd3776265f4c923bb73ebe83933dfbaa841c5da850fe0fd20b/charset_normalizer-3.4.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:44ecbf16649486d4aebafeaa7ec4c9fed8b88101f4dd612dcaf65d5e815f837f", size = 147162, upload_time = "2024-12-24T18:11:13.372Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/41/35ff1f9a6bd380303dea55e44c4933b4cc3c4850988927d4082ada230273/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0924e81d3d5e70f8126529951dac65c1010cdf117bb75eb02dd12339b57749dd", size = 140972, upload_time = "2024-12-24T18:11:14.628Z" },
+ { url = "https://files.pythonhosted.org/packages/fb/43/c6a0b685fe6910d08ba971f62cd9c3e862a85770395ba5d9cad4fede33ab/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:2967f74ad52c3b98de4c3b32e1a44e32975e008a9cd2a8cc8966d6a5218c5cb2", size = 149095, upload_time = "2024-12-24T18:11:17.672Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/ff/a9a504662452e2d2878512115638966e75633519ec11f25fca3d2049a94a/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c75cb2a3e389853835e84a2d8fb2b81a10645b503eca9bcb98df6b5a43eb8886", size = 152668, upload_time = "2024-12-24T18:11:18.989Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/71/189996b6d9a4b932564701628af5cee6716733e9165af1d5e1b285c530ed/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:09b26ae6b1abf0d27570633b2b078a2a20419c99d66fb2823173d73f188ce601", size = 150073, upload_time = "2024-12-24T18:11:21.507Z" },
+ { url = "https://files.pythonhosted.org/packages/e4/93/946a86ce20790e11312c87c75ba68d5f6ad2208cfb52b2d6a2c32840d922/charset_normalizer-3.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa88b843d6e211393a37219e6a1c1df99d35e8fd90446f1118f4216e307e48cd", size = 145732, upload_time = "2024-12-24T18:11:22.774Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/e5/131d2fb1b0dddafc37be4f3a2fa79aa4c037368be9423061dccadfd90091/charset_normalizer-3.4.1-cp313-cp313-win32.whl", hash = "sha256:eb8178fe3dba6450a3e024e95ac49ed3400e506fd4e9e5c32d30adda88cbd407", size = 95391, upload_time = "2024-12-24T18:11:24.139Z" },
+ { url = "https://files.pythonhosted.org/packages/27/f2/4f9a69cc7712b9b5ad8fdb87039fd89abba997ad5cbe690d1835d40405b0/charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:b1ac5992a838106edb89654e0aebfc24f5848ae2547d22c2c3f66454daa11971", size = 102702, upload_time = "2024-12-24T18:11:26.535Z" },
+ { url = "https://files.pythonhosted.org/packages/0e/f6/65ecc6878a89bb1c23a086ea335ad4bf21a588990c3f535a227b9eea9108/charset_normalizer-3.4.1-py3-none-any.whl", hash = "sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85", size = 49767, upload_time = "2024-12-24T18:12:32.852Z" },
]
[[package]]
@@ -271,112 +275,135 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 }
+sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593, upload_time = "2024-12-21T18:38:44.339Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 },
+ { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188, upload_time = "2024-12-21T18:38:41.666Z" },
]
[[package]]
name = "colorama"
version = "0.4.6"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697 }
+sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload_time = "2022-10-25T02:36:22.414Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335 },
+ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload_time = "2022-10-25T02:36:20.889Z" },
]
[[package]]
name = "distlib"
version = "0.3.9"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923 }
+sdist = { url = "https://files.pythonhosted.org/packages/0d/dd/1bec4c5ddb504ca60fc29472f3d27e8d4da1257a854e1d96742f15c1d02d/distlib-0.3.9.tar.gz", hash = "sha256:a60f20dea646b8a33f3e7772f74dc0b2d0772d2837ee1342a00645c81edf9403", size = 613923, upload_time = "2024-10-09T18:35:47.551Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973 },
+ { url = "https://files.pythonhosted.org/packages/91/a1/cf2472db20f7ce4a6be1253a81cfdf85ad9c7885ffbed7047fb72c24cf87/distlib-0.3.9-py2.py3-none-any.whl", hash = "sha256:47f8c22fd27c27e25a65601af709b38e4f0a45ea4fc2e710f65755fa8caaaf87", size = 468973, upload_time = "2024-10-09T18:35:44.272Z" },
]
[[package]]
name = "filelock"
-version = "3.17.0"
+version = "3.18.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/dc/9c/0b15fb47b464e1b663b1acd1253a062aa5feecb07d4e597daea542ebd2b5/filelock-3.17.0.tar.gz", hash = "sha256:ee4e77401ef576ebb38cd7f13b9b28893194acc20a8e68e18730ba9c0e54660e", size = 18027 }
+sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload_time = "2025-03-14T07:11:40.47Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/89/ec/00d68c4ddfedfe64159999e5f8a98fb8442729a63e2077eb9dcd89623d27/filelock-3.17.0-py3-none-any.whl", hash = "sha256:533dc2f7ba78dc2f0f531fc6c4940addf7b70a481e269a5a3b93be94ffbe8338", size = 16164 },
+ { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload_time = "2025-03-14T07:11:39.145Z" },
]
[[package]]
name = "frozenlist"
-version = "1.5.0"
+version = "1.6.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/8f/ed/0f4cec13a93c02c47ec32d81d11c0c1efbadf4a471e3f3ce7cad366cbbd3/frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817", size = 39930 }
+sdist = { url = "https://files.pythonhosted.org/packages/ee/f4/d744cba2da59b5c1d88823cf9e8a6c74e4659e2b27604ed973be2a0bf5ab/frozenlist-1.6.0.tar.gz", hash = "sha256:b99655c32c1c8e06d111e7f41c06c29a5318cb1835df23a45518e02a47c63b68", size = 42831, upload_time = "2025-04-17T22:38:53.099Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/79/43/0bed28bf5eb1c9e4301003b74453b8e7aa85fb293b31dde352aac528dafc/frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30", size = 94987 },
- { url = "https://files.pythonhosted.org/packages/bb/bf/b74e38f09a246e8abbe1e90eb65787ed745ccab6eaa58b9c9308e052323d/frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5", size = 54584 },
- { url = "https://files.pythonhosted.org/packages/2c/31/ab01375682f14f7613a1ade30149f684c84f9b8823a4391ed950c8285656/frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778", size = 52499 },
- { url = "https://files.pythonhosted.org/packages/98/a8/d0ac0b9276e1404f58fec3ab6e90a4f76b778a49373ccaf6a563f100dfbc/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a", size = 276357 },
- { url = "https://files.pythonhosted.org/packages/ad/c9/c7761084fa822f07dac38ac29f841d4587570dd211e2262544aa0b791d21/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869", size = 287516 },
- { url = "https://files.pythonhosted.org/packages/a1/ff/cd7479e703c39df7bdab431798cef89dc75010d8aa0ca2514c5b9321db27/frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d", size = 283131 },
- { url = "https://files.pythonhosted.org/packages/59/a0/370941beb47d237eca4fbf27e4e91389fd68699e6f4b0ebcc95da463835b/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45", size = 261320 },
- { url = "https://files.pythonhosted.org/packages/b8/5f/c10123e8d64867bc9b4f2f510a32042a306ff5fcd7e2e09e5ae5100ee333/frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d", size = 274877 },
- { url = "https://files.pythonhosted.org/packages/fa/79/38c505601ae29d4348f21706c5d89755ceded02a745016ba2f58bd5f1ea6/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3", size = 269592 },
- { url = "https://files.pythonhosted.org/packages/19/e2/39f3a53191b8204ba9f0bb574b926b73dd2efba2a2b9d2d730517e8f7622/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a", size = 265934 },
- { url = "https://files.pythonhosted.org/packages/d5/c9/3075eb7f7f3a91f1a6b00284af4de0a65a9ae47084930916f5528144c9dd/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9", size = 283859 },
- { url = "https://files.pythonhosted.org/packages/05/f5/549f44d314c29408b962fa2b0e69a1a67c59379fb143b92a0a065ffd1f0f/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2", size = 287560 },
- { url = "https://files.pythonhosted.org/packages/9d/f8/cb09b3c24a3eac02c4c07a9558e11e9e244fb02bf62c85ac2106d1eb0c0b/frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf", size = 277150 },
- { url = "https://files.pythonhosted.org/packages/37/48/38c2db3f54d1501e692d6fe058f45b6ad1b358d82cd19436efab80cfc965/frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942", size = 45244 },
- { url = "https://files.pythonhosted.org/packages/ca/8c/2ddffeb8b60a4bce3b196c32fcc30d8830d4615e7b492ec2071da801b8ad/frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d", size = 51634 },
- { url = "https://files.pythonhosted.org/packages/79/73/fa6d1a96ab7fd6e6d1c3500700963eab46813847f01ef0ccbaa726181dd5/frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21", size = 94026 },
- { url = "https://files.pythonhosted.org/packages/ab/04/ea8bf62c8868b8eada363f20ff1b647cf2e93377a7b284d36062d21d81d1/frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d", size = 54150 },
- { url = "https://files.pythonhosted.org/packages/d0/9a/8e479b482a6f2070b26bda572c5e6889bb3ba48977e81beea35b5ae13ece/frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e", size = 51927 },
- { url = "https://files.pythonhosted.org/packages/e3/12/2aad87deb08a4e7ccfb33600871bbe8f0e08cb6d8224371387f3303654d7/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a", size = 282647 },
- { url = "https://files.pythonhosted.org/packages/77/f2/07f06b05d8a427ea0060a9cef6e63405ea9e0d761846b95ef3fb3be57111/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a", size = 289052 },
- { url = "https://files.pythonhosted.org/packages/bd/9f/8bf45a2f1cd4aa401acd271b077989c9267ae8463e7c8b1eb0d3f561b65e/frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee", size = 291719 },
- { url = "https://files.pythonhosted.org/packages/41/d1/1f20fd05a6c42d3868709b7604c9f15538a29e4f734c694c6bcfc3d3b935/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6", size = 267433 },
- { url = "https://files.pythonhosted.org/packages/af/f2/64b73a9bb86f5a89fb55450e97cd5c1f84a862d4ff90d9fd1a73ab0f64a5/frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e", size = 283591 },
- { url = "https://files.pythonhosted.org/packages/29/e2/ffbb1fae55a791fd6c2938dd9ea779509c977435ba3940b9f2e8dc9d5316/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9", size = 273249 },
- { url = "https://files.pythonhosted.org/packages/2e/6e/008136a30798bb63618a114b9321b5971172a5abddff44a100c7edc5ad4f/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039", size = 271075 },
- { url = "https://files.pythonhosted.org/packages/ae/f0/4e71e54a026b06724cec9b6c54f0b13a4e9e298cc8db0f82ec70e151f5ce/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784", size = 285398 },
- { url = "https://files.pythonhosted.org/packages/4d/36/70ec246851478b1c0b59f11ef8ade9c482ff447c1363c2bd5fad45098b12/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631", size = 294445 },
- { url = "https://files.pythonhosted.org/packages/37/e0/47f87544055b3349b633a03c4d94b405956cf2437f4ab46d0928b74b7526/frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f", size = 280569 },
- { url = "https://files.pythonhosted.org/packages/f9/7c/490133c160fb6b84ed374c266f42800e33b50c3bbab1652764e6e1fc498a/frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8", size = 44721 },
- { url = "https://files.pythonhosted.org/packages/b1/56/4e45136ffc6bdbfa68c29ca56ef53783ef4c2fd395f7cbf99a2624aa9aaa/frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f", size = 51329 },
- { url = "https://files.pythonhosted.org/packages/da/3b/915f0bca8a7ea04483622e84a9bd90033bab54bdf485479556c74fd5eaf5/frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953", size = 91538 },
- { url = "https://files.pythonhosted.org/packages/c7/d1/a7c98aad7e44afe5306a2b068434a5830f1470675f0e715abb86eb15f15b/frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0", size = 52849 },
- { url = "https://files.pythonhosted.org/packages/3a/c8/76f23bf9ab15d5f760eb48701909645f686f9c64fbb8982674c241fbef14/frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2", size = 50583 },
- { url = "https://files.pythonhosted.org/packages/1f/22/462a3dd093d11df623179d7754a3b3269de3b42de2808cddef50ee0f4f48/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f", size = 265636 },
- { url = "https://files.pythonhosted.org/packages/80/cf/e075e407fc2ae7328155a1cd7e22f932773c8073c1fc78016607d19cc3e5/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608", size = 270214 },
- { url = "https://files.pythonhosted.org/packages/a1/58/0642d061d5de779f39c50cbb00df49682832923f3d2ebfb0fedf02d05f7f/frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b", size = 273905 },
- { url = "https://files.pythonhosted.org/packages/ab/66/3fe0f5f8f2add5b4ab7aa4e199f767fd3b55da26e3ca4ce2cc36698e50c4/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840", size = 250542 },
- { url = "https://files.pythonhosted.org/packages/f6/b8/260791bde9198c87a465224e0e2bb62c4e716f5d198fc3a1dacc4895dbd1/frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439", size = 267026 },
- { url = "https://files.pythonhosted.org/packages/2e/a4/3d24f88c527f08f8d44ade24eaee83b2627793fa62fa07cbb7ff7a2f7d42/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de", size = 257690 },
- { url = "https://files.pythonhosted.org/packages/de/9a/d311d660420b2beeff3459b6626f2ab4fb236d07afbdac034a4371fe696e/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641", size = 253893 },
- { url = "https://files.pythonhosted.org/packages/c6/23/e491aadc25b56eabd0f18c53bb19f3cdc6de30b2129ee0bc39cd387cd560/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e", size = 267006 },
- { url = "https://files.pythonhosted.org/packages/08/c4/ab918ce636a35fb974d13d666dcbe03969592aeca6c3ab3835acff01f79c/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9", size = 276157 },
- { url = "https://files.pythonhosted.org/packages/c0/29/3b7a0bbbbe5a34833ba26f686aabfe982924adbdcafdc294a7a129c31688/frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03", size = 264642 },
- { url = "https://files.pythonhosted.org/packages/ab/42/0595b3dbffc2e82d7fe658c12d5a5bafcd7516c6bf2d1d1feb5387caa9c1/frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c", size = 44914 },
- { url = "https://files.pythonhosted.org/packages/17/c4/b7db1206a3fea44bf3b838ca61deb6f74424a8a5db1dd53ecb21da669be6/frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28", size = 51167 },
- { url = "https://files.pythonhosted.org/packages/c6/c8/a5be5b7550c10858fcf9b0ea054baccab474da77d37f1e828ce043a3a5d4/frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3", size = 11901 },
+ { url = "https://files.pythonhosted.org/packages/53/b5/bc883b5296ec902115c00be161da93bf661199c465ec4c483feec6ea4c32/frozenlist-1.6.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:ae8337990e7a45683548ffb2fee1af2f1ed08169284cd829cdd9a7fa7470530d", size = 160912, upload_time = "2025-04-17T22:36:17.235Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/93/51b058b563d0704b39c56baa222828043aafcac17fd3734bec5dbeb619b1/frozenlist-1.6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:8c952f69dd524558694818a461855f35d36cc7f5c0adddce37e962c85d06eac0", size = 124315, upload_time = "2025-04-17T22:36:18.735Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/e0/46cd35219428d350558b874d595e132d1c17a9471a1bd0d01d518a261e7c/frozenlist-1.6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8f5fef13136c4e2dee91bfb9a44e236fff78fc2cd9f838eddfc470c3d7d90afe", size = 122230, upload_time = "2025-04-17T22:36:20.6Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/0f/7ad2ce928ad06d6dd26a61812b959ded573d3e9d0ee6109d96c2be7172e9/frozenlist-1.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:716bbba09611b4663ecbb7cd022f640759af8259e12a6ca939c0a6acd49eedba", size = 314842, upload_time = "2025-04-17T22:36:22.088Z" },
+ { url = "https://files.pythonhosted.org/packages/34/76/98cbbd8a20a5c3359a2004ae5e5b216af84a150ccbad67c8f8f30fb2ea91/frozenlist-1.6.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7b8c4dc422c1a3ffc550b465090e53b0bf4839047f3e436a34172ac67c45d595", size = 304919, upload_time = "2025-04-17T22:36:24.247Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/fa/258e771ce3a44348c05e6b01dffc2bc67603fba95761458c238cd09a2c77/frozenlist-1.6.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b11534872256e1666116f6587a1592ef395a98b54476addb5e8d352925cb5d4a", size = 324074, upload_time = "2025-04-17T22:36:26.291Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/a4/047d861fd8c538210e12b208c0479912273f991356b6bdee7ea8356b07c9/frozenlist-1.6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c6eceb88aaf7221f75be6ab498dc622a151f5f88d536661af3ffc486245a626", size = 321292, upload_time = "2025-04-17T22:36:27.909Z" },
+ { url = "https://files.pythonhosted.org/packages/c0/25/cfec8af758b4525676cabd36efcaf7102c1348a776c0d1ad046b8a7cdc65/frozenlist-1.6.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62c828a5b195570eb4b37369fcbbd58e96c905768d53a44d13044355647838ff", size = 301569, upload_time = "2025-04-17T22:36:29.448Z" },
+ { url = "https://files.pythonhosted.org/packages/87/2f/0c819372fa9f0c07b153124bf58683b8d0ca7bb73ea5ccde9b9ef1745beb/frozenlist-1.6.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e1c6bd2c6399920c9622362ce95a7d74e7f9af9bfec05fff91b8ce4b9647845a", size = 313625, upload_time = "2025-04-17T22:36:31.55Z" },
+ { url = "https://files.pythonhosted.org/packages/50/5f/f0cf8b0fdedffdb76b3745aa13d5dbe404d63493cc211ce8250f2025307f/frozenlist-1.6.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:49ba23817781e22fcbd45fd9ff2b9b8cdb7b16a42a4851ab8025cae7b22e96d0", size = 312523, upload_time = "2025-04-17T22:36:33.078Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/6c/38c49108491272d3e84125bbabf2c2d0b304899b52f49f0539deb26ad18d/frozenlist-1.6.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:431ef6937ae0f853143e2ca67d6da76c083e8b1fe3df0e96f3802fd37626e606", size = 322657, upload_time = "2025-04-17T22:36:34.688Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/4b/3bd3bad5be06a9d1b04b1c22be80b5fe65b502992d62fab4bdb25d9366ee/frozenlist-1.6.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:9d124b38b3c299ca68433597ee26b7819209cb8a3a9ea761dfe9db3a04bba584", size = 303414, upload_time = "2025-04-17T22:36:36.363Z" },
+ { url = "https://files.pythonhosted.org/packages/5b/89/7e225a30bef6e85dbfe22622c24afe932e9444de3b40d58b1ea589a14ef8/frozenlist-1.6.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:118e97556306402e2b010da1ef21ea70cb6d6122e580da64c056b96f524fbd6a", size = 320321, upload_time = "2025-04-17T22:36:38.16Z" },
+ { url = "https://files.pythonhosted.org/packages/22/72/7e3acef4dd9e86366cb8f4d8f28e852c2b7e116927e9722b31a6f71ea4b0/frozenlist-1.6.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fb3b309f1d4086b5533cf7bbcf3f956f0ae6469664522f1bde4feed26fba60f1", size = 323975, upload_time = "2025-04-17T22:36:40.289Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/85/e5da03d20507e13c66ce612c9792b76811b7a43e3320cce42d95b85ac755/frozenlist-1.6.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:54dece0d21dce4fdb188a1ffc555926adf1d1c516e493c2914d7c370e454bc9e", size = 316553, upload_time = "2025-04-17T22:36:42.045Z" },
+ { url = "https://files.pythonhosted.org/packages/ac/8e/6c609cbd0580ae8a0661c408149f196aade7d325b1ae7adc930501b81acb/frozenlist-1.6.0-cp311-cp311-win32.whl", hash = "sha256:654e4ba1d0b2154ca2f096bed27461cf6160bc7f504a7f9a9ef447c293caf860", size = 115511, upload_time = "2025-04-17T22:36:44.067Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/13/a84804cfde6de12d44ed48ecbf777ba62b12ff09e761f76cdd1ff9e14bb1/frozenlist-1.6.0-cp311-cp311-win_amd64.whl", hash = "sha256:3e911391bffdb806001002c1f860787542f45916c3baf764264a52765d5a5603", size = 120863, upload_time = "2025-04-17T22:36:45.465Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/8a/289b7d0de2fbac832ea80944d809759976f661557a38bb8e77db5d9f79b7/frozenlist-1.6.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:c5b9e42ace7d95bf41e19b87cec8f262c41d3510d8ad7514ab3862ea2197bfb1", size = 160193, upload_time = "2025-04-17T22:36:47.382Z" },
+ { url = "https://files.pythonhosted.org/packages/19/80/2fd17d322aec7f430549f0669f599997174f93ee17929ea5b92781ec902c/frozenlist-1.6.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ca9973735ce9f770d24d5484dcb42f68f135351c2fc81a7a9369e48cf2998a29", size = 123831, upload_time = "2025-04-17T22:36:49.401Z" },
+ { url = "https://files.pythonhosted.org/packages/99/06/f5812da431273f78c6543e0b2f7de67dfd65eb0a433978b2c9c63d2205e4/frozenlist-1.6.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6ac40ec76041c67b928ca8aaffba15c2b2ee3f5ae8d0cb0617b5e63ec119ca25", size = 121862, upload_time = "2025-04-17T22:36:51.899Z" },
+ { url = "https://files.pythonhosted.org/packages/d0/31/9e61c6b5fc493cf24d54881731204d27105234d09878be1a5983182cc4a5/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95b7a8a3180dfb280eb044fdec562f9b461614c0ef21669aea6f1d3dac6ee576", size = 316361, upload_time = "2025-04-17T22:36:53.402Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/55/22ca9362d4f0222324981470fd50192be200154d51509ee6eb9baa148e96/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c444d824e22da6c9291886d80c7d00c444981a72686e2b59d38b285617cb52c8", size = 307115, upload_time = "2025-04-17T22:36:55.016Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/39/4fff42920a57794881e7bb3898dc7f5f539261711ea411b43bba3cde8b79/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb52c8166499a8150bfd38478248572c924c003cbb45fe3bcd348e5ac7c000f9", size = 322505, upload_time = "2025-04-17T22:36:57.12Z" },
+ { url = "https://files.pythonhosted.org/packages/55/f2/88c41f374c1e4cf0092a5459e5f3d6a1e17ed274c98087a76487783df90c/frozenlist-1.6.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b35298b2db9c2468106278537ee529719228950a5fdda686582f68f247d1dc6e", size = 322666, upload_time = "2025-04-17T22:36:58.735Z" },
+ { url = "https://files.pythonhosted.org/packages/75/51/034eeb75afdf3fd03997856195b500722c0b1a50716664cde64e28299c4b/frozenlist-1.6.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d108e2d070034f9d57210f22fefd22ea0d04609fc97c5f7f5a686b3471028590", size = 302119, upload_time = "2025-04-17T22:37:00.512Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/a6/564ecde55ee633270a793999ef4fd1d2c2b32b5a7eec903b1012cb7c5143/frozenlist-1.6.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e1be9111cb6756868ac242b3c2bd1f09d9aea09846e4f5c23715e7afb647103", size = 316226, upload_time = "2025-04-17T22:37:02.102Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/c8/6c0682c32377f402b8a6174fb16378b683cf6379ab4d2827c580892ab3c7/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:94bb451c664415f02f07eef4ece976a2c65dcbab9c2f1705b7031a3a75349d8c", size = 312788, upload_time = "2025-04-17T22:37:03.578Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/b8/10fbec38f82c5d163ca1750bfff4ede69713badf236a016781cf1f10a0f0/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:d1a686d0b0949182b8faddea596f3fc11f44768d1f74d4cad70213b2e139d821", size = 325914, upload_time = "2025-04-17T22:37:05.213Z" },
+ { url = "https://files.pythonhosted.org/packages/62/ca/2bf4f3a1bd40cdedd301e6ecfdbb291080d5afc5f9ce350c0739f773d6b9/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:ea8e59105d802c5a38bdbe7362822c522230b3faba2aa35c0fa1765239b7dd70", size = 305283, upload_time = "2025-04-17T22:37:06.985Z" },
+ { url = "https://files.pythonhosted.org/packages/09/64/20cc13ccf94abc2a1f482f74ad210703dc78a590d0b805af1c9aa67f76f9/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:abc4e880a9b920bc5020bf6a431a6bb40589d9bca3975c980495f63632e8382f", size = 319264, upload_time = "2025-04-17T22:37:08.618Z" },
+ { url = "https://files.pythonhosted.org/packages/20/ff/86c6a2bbe98cfc231519f5e6d712a0898488ceac804a917ce014f32e68f6/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9a79713adfe28830f27a3c62f6b5406c37376c892b05ae070906f07ae4487046", size = 326482, upload_time = "2025-04-17T22:37:10.196Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/da/8e381f66367d79adca245d1d71527aac774e30e291d41ef161ce2d80c38e/frozenlist-1.6.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:9a0318c2068e217a8f5e3b85e35899f5a19e97141a45bb925bb357cfe1daf770", size = 318248, upload_time = "2025-04-17T22:37:12.284Z" },
+ { url = "https://files.pythonhosted.org/packages/39/24/1a1976563fb476ab6f0fa9fefaac7616a4361dbe0461324f9fd7bf425dbe/frozenlist-1.6.0-cp312-cp312-win32.whl", hash = "sha256:853ac025092a24bb3bf09ae87f9127de9fe6e0c345614ac92536577cf956dfcc", size = 115161, upload_time = "2025-04-17T22:37:13.902Z" },
+ { url = "https://files.pythonhosted.org/packages/80/2e/fb4ed62a65f8cd66044706b1013f0010930d8cbb0729a2219561ea075434/frozenlist-1.6.0-cp312-cp312-win_amd64.whl", hash = "sha256:2bdfe2d7e6c9281c6e55523acd6c2bf77963cb422fdc7d142fb0cb6621b66878", size = 120548, upload_time = "2025-04-17T22:37:15.326Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/e5/04c7090c514d96ca00887932417f04343ab94904a56ab7f57861bf63652d/frozenlist-1.6.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:1d7fb014fe0fbfee3efd6a94fc635aeaa68e5e1720fe9e57357f2e2c6e1a647e", size = 158182, upload_time = "2025-04-17T22:37:16.837Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/8f/60d0555c61eec855783a6356268314d204137f5e0c53b59ae2fc28938c99/frozenlist-1.6.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01bcaa305a0fdad12745502bfd16a1c75b14558dabae226852f9159364573117", size = 122838, upload_time = "2025-04-17T22:37:18.352Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/a7/d0ec890e3665b4b3b7c05dc80e477ed8dc2e2e77719368e78e2cd9fec9c8/frozenlist-1.6.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:8b314faa3051a6d45da196a2c495e922f987dc848e967d8cfeaee8a0328b1cd4", size = 120980, upload_time = "2025-04-17T22:37:19.857Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/19/9b355a5e7a8eba903a008579964192c3e427444752f20b2144b10bb336df/frozenlist-1.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da62fecac21a3ee10463d153549d8db87549a5e77eefb8c91ac84bb42bb1e4e3", size = 305463, upload_time = "2025-04-17T22:37:21.328Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/8d/5b4c758c2550131d66935ef2fa700ada2461c08866aef4229ae1554b93ca/frozenlist-1.6.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d1eb89bf3454e2132e046f9599fbcf0a4483ed43b40f545551a39316d0201cd1", size = 297985, upload_time = "2025-04-17T22:37:23.55Z" },
+ { url = "https://files.pythonhosted.org/packages/48/2c/537ec09e032b5865715726b2d1d9813e6589b571d34d01550c7aeaad7e53/frozenlist-1.6.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18689b40cb3936acd971f663ccb8e2589c45db5e2c5f07e0ec6207664029a9c", size = 311188, upload_time = "2025-04-17T22:37:25.221Z" },
+ { url = "https://files.pythonhosted.org/packages/31/2f/1aa74b33f74d54817055de9a4961eff798f066cdc6f67591905d4fc82a84/frozenlist-1.6.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e67ddb0749ed066b1a03fba812e2dcae791dd50e5da03be50b6a14d0c1a9ee45", size = 311874, upload_time = "2025-04-17T22:37:26.791Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/f0/cfec18838f13ebf4b37cfebc8649db5ea71a1b25dacd691444a10729776c/frozenlist-1.6.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fc5e64626e6682638d6e44398c9baf1d6ce6bc236d40b4b57255c9d3f9761f1f", size = 291897, upload_time = "2025-04-17T22:37:28.958Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/a5/deb39325cbbea6cd0a46db8ccd76150ae2fcbe60d63243d9df4a0b8c3205/frozenlist-1.6.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:437cfd39564744ae32ad5929e55b18ebd88817f9180e4cc05e7d53b75f79ce85", size = 305799, upload_time = "2025-04-17T22:37:30.889Z" },
+ { url = "https://files.pythonhosted.org/packages/78/22/6ddec55c5243a59f605e4280f10cee8c95a449f81e40117163383829c241/frozenlist-1.6.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:62dd7df78e74d924952e2feb7357d826af8d2f307557a779d14ddf94d7311be8", size = 302804, upload_time = "2025-04-17T22:37:32.489Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/b7/d9ca9bab87f28855063c4d202936800219e39db9e46f9fb004d521152623/frozenlist-1.6.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:a66781d7e4cddcbbcfd64de3d41a61d6bdde370fc2e38623f30b2bd539e84a9f", size = 316404, upload_time = "2025-04-17T22:37:34.59Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/3a/1255305db7874d0b9eddb4fe4a27469e1fb63720f1fc6d325a5118492d18/frozenlist-1.6.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:482fe06e9a3fffbcd41950f9d890034b4a54395c60b5e61fae875d37a699813f", size = 295572, upload_time = "2025-04-17T22:37:36.337Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/f2/8d38eeee39a0e3a91b75867cc102159ecccf441deb6ddf67be96d3410b84/frozenlist-1.6.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e4f9373c500dfc02feea39f7a56e4f543e670212102cc2eeb51d3a99c7ffbde6", size = 307601, upload_time = "2025-04-17T22:37:37.923Z" },
+ { url = "https://files.pythonhosted.org/packages/38/04/80ec8e6b92f61ef085422d7b196822820404f940950dde5b2e367bede8bc/frozenlist-1.6.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:e69bb81de06827147b7bfbaeb284d85219fa92d9f097e32cc73675f279d70188", size = 314232, upload_time = "2025-04-17T22:37:39.669Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/58/93b41fb23e75f38f453ae92a2f987274c64637c450285577bd81c599b715/frozenlist-1.6.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7613d9977d2ab4a9141dde4a149f4357e4065949674c5649f920fec86ecb393e", size = 308187, upload_time = "2025-04-17T22:37:41.662Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/a2/e64df5c5aa36ab3dee5a40d254f3e471bb0603c225f81664267281c46a2d/frozenlist-1.6.0-cp313-cp313-win32.whl", hash = "sha256:4def87ef6d90429f777c9d9de3961679abf938cb6b7b63d4a7eb8a268babfce4", size = 114772, upload_time = "2025-04-17T22:37:43.132Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/77/fead27441e749b2d574bb73d693530d59d520d4b9e9679b8e3cb779d37f2/frozenlist-1.6.0-cp313-cp313-win_amd64.whl", hash = "sha256:37a8a52c3dfff01515e9bbbee0e6063181362f9de3db2ccf9bc96189b557cbfd", size = 119847, upload_time = "2025-04-17T22:37:45.118Z" },
+ { url = "https://files.pythonhosted.org/packages/df/bd/cc6d934991c1e5d9cafda83dfdc52f987c7b28343686aef2e58a9cf89f20/frozenlist-1.6.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:46138f5a0773d064ff663d273b309b696293d7a7c00a0994c5c13a5078134b64", size = 174937, upload_time = "2025-04-17T22:37:46.635Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/a2/daf945f335abdbfdd5993e9dc348ef4507436936ab3c26d7cfe72f4843bf/frozenlist-1.6.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:f88bc0a2b9c2a835cb888b32246c27cdab5740059fb3688852bf91e915399b91", size = 136029, upload_time = "2025-04-17T22:37:48.192Z" },
+ { url = "https://files.pythonhosted.org/packages/51/65/4c3145f237a31247c3429e1c94c384d053f69b52110a0d04bfc8afc55fb2/frozenlist-1.6.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:777704c1d7655b802c7850255639672e90e81ad6fa42b99ce5ed3fbf45e338dd", size = 134831, upload_time = "2025-04-17T22:37:50.485Z" },
+ { url = "https://files.pythonhosted.org/packages/77/38/03d316507d8dea84dfb99bdd515ea245628af964b2bf57759e3c9205cc5e/frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85ef8d41764c7de0dcdaf64f733a27352248493a85a80661f3c678acd27e31f2", size = 392981, upload_time = "2025-04-17T22:37:52.558Z" },
+ { url = "https://files.pythonhosted.org/packages/37/02/46285ef9828f318ba400a51d5bb616ded38db8466836a9cfa39f3903260b/frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:da5cb36623f2b846fb25009d9d9215322318ff1c63403075f812b3b2876c8506", size = 371999, upload_time = "2025-04-17T22:37:54.092Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/64/1212fea37a112c3c5c05bfb5f0a81af4836ce349e69be75af93f99644da9/frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cbb56587a16cf0fb8acd19e90ff9924979ac1431baea8681712716a8337577b0", size = 392200, upload_time = "2025-04-17T22:37:55.951Z" },
+ { url = "https://files.pythonhosted.org/packages/81/ce/9a6ea1763e3366e44a5208f76bf37c76c5da570772375e4d0be85180e588/frozenlist-1.6.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c6154c3ba59cda3f954c6333025369e42c3acd0c6e8b6ce31eb5c5b8116c07e0", size = 390134, upload_time = "2025-04-17T22:37:57.633Z" },
+ { url = "https://files.pythonhosted.org/packages/bc/36/939738b0b495b2c6d0c39ba51563e453232813042a8d908b8f9544296c29/frozenlist-1.6.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2e8246877afa3f1ae5c979fe85f567d220f86a50dc6c493b9b7d8191181ae01e", size = 365208, upload_time = "2025-04-17T22:37:59.742Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/8b/939e62e93c63409949c25220d1ba8e88e3960f8ef6a8d9ede8f94b459d27/frozenlist-1.6.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b0f6cce16306d2e117cf9db71ab3a9e8878a28176aeaf0dbe35248d97b28d0c", size = 385548, upload_time = "2025-04-17T22:38:01.416Z" },
+ { url = "https://files.pythonhosted.org/packages/62/38/22d2873c90102e06a7c5a3a5b82ca47e393c6079413e8a75c72bff067fa8/frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:1b8e8cd8032ba266f91136d7105706ad57770f3522eac4a111d77ac126a25a9b", size = 391123, upload_time = "2025-04-17T22:38:03.049Z" },
+ { url = "https://files.pythonhosted.org/packages/44/78/63aaaf533ee0701549500f6d819be092c6065cb5c577edb70c09df74d5d0/frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:e2ada1d8515d3ea5378c018a5f6d14b4994d4036591a52ceaf1a1549dec8e1ad", size = 394199, upload_time = "2025-04-17T22:38:04.776Z" },
+ { url = "https://files.pythonhosted.org/packages/54/45/71a6b48981d429e8fbcc08454dc99c4c2639865a646d549812883e9c9dd3/frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:cdb2c7f071e4026c19a3e32b93a09e59b12000751fc9b0b7758da899e657d215", size = 373854, upload_time = "2025-04-17T22:38:06.576Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/f3/dbf2a5e11736ea81a66e37288bf9f881143a7822b288a992579ba1b4204d/frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:03572933a1969a6d6ab509d509e5af82ef80d4a5d4e1e9f2e1cdd22c77a3f4d2", size = 395412, upload_time = "2025-04-17T22:38:08.197Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/f1/c63166806b331f05104d8ea385c4acd511598568b1f3e4e8297ca54f2676/frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:77effc978947548b676c54bbd6a08992759ea6f410d4987d69feea9cd0919911", size = 394936, upload_time = "2025-04-17T22:38:10.056Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/ea/4f3e69e179a430473eaa1a75ff986526571215fefc6b9281cdc1f09a4eb8/frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a2bda8be77660ad4089caf2223fdbd6db1858462c4b85b67fbfa22102021e497", size = 391459, upload_time = "2025-04-17T22:38:11.826Z" },
+ { url = "https://files.pythonhosted.org/packages/d3/c3/0fc2c97dea550df9afd072a37c1e95421652e3206bbeaa02378b24c2b480/frozenlist-1.6.0-cp313-cp313t-win32.whl", hash = "sha256:a4d96dc5bcdbd834ec6b0f91027817214216b5b30316494d2b1aebffb87c534f", size = 128797, upload_time = "2025-04-17T22:38:14.013Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/f5/79c9320c5656b1965634fe4be9c82b12a3305bdbc58ad9cb941131107b20/frozenlist-1.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e18036cb4caa17ea151fd5f3d70be9d354c99eb8cf817a3ccde8a7873b074348", size = 134709, upload_time = "2025-04-17T22:38:15.551Z" },
+ { url = "https://files.pythonhosted.org/packages/71/3e/b04a0adda73bd52b390d730071c0d577073d3d26740ee1bad25c3ad0f37b/frozenlist-1.6.0-py3-none-any.whl", hash = "sha256:535eec9987adb04701266b92745d6cdcef2e77669299359c3009c3404dd5d191", size = 12404, upload_time = "2025-04-17T22:38:51.668Z" },
]
[[package]]
name = "h11"
version = "0.14.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418 }
+sdist = { url = "https://files.pythonhosted.org/packages/f5/38/3af3d3633a34a3316095b39c8e8fb4853a28a536e55d347bd8d8e9a14b03/h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d", size = 100418, upload_time = "2022-09-25T15:40:01.519Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259 },
+ { url = "https://files.pythonhosted.org/packages/95/04/ff642e65ad6b90db43e668d70ffb6736436c7ce41fcc549f4e9472234127/h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761", size = 58259, upload_time = "2022-09-25T15:39:59.68Z" },
]
[[package]]
name = "httpcore"
-version = "1.0.7"
+version = "1.0.8"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "certifi" },
{ name = "h11" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/6a/41/d7d0a89eb493922c37d343b607bc1b5da7f5be7e383740b4753ad8943e90/httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c", size = 85196 }
+sdist = { url = "https://files.pythonhosted.org/packages/9f/45/ad3e1b4d448f22c0cff4f5692f5ed0666658578e358b8d58a19846048059/httpcore-1.0.8.tar.gz", hash = "sha256:86e94505ed24ea06514883fd44d2bc02d90e77e7979c8eb71b90f41d364a1bad", size = 85385, upload_time = "2025-04-11T14:42:46.661Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/87/f5/72347bc88306acb359581ac4d52f23c0ef445b57157adedb9aee0cd689d2/httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd", size = 78551 },
+ { url = "https://files.pythonhosted.org/packages/18/8d/f052b1e336bb2c1fc7ed1aaed898aa570c0b61a09707b108979d9fc6e308/httpcore-1.0.8-py3-none-any.whl", hash = "sha256:5254cf149bcb5f75e9d1b2b9f729ea4a4b883d1ad7379fc632b727cec23674be", size = 78732, upload_time = "2025-04-11T14:42:44.896Z" },
]
[[package]]
@@ -389,63 +416,63 @@ dependencies = [
{ name = "httpcore" },
{ name = "idna" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406 }
+sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload_time = "2024-12-06T15:37:23.222Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517 },
+ { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload_time = "2024-12-06T15:37:21.509Z" },
]
[[package]]
name = "httpx-sse"
version = "0.4.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624 }
+sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624, upload_time = "2023-12-22T08:01:21.083Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819 },
+ { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819, upload_time = "2023-12-22T08:01:19.89Z" },
]
[[package]]
name = "identify"
-version = "2.6.7"
+version = "2.6.10"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/83/d1/524aa3350f78bcd714d148ade6133d67d6b7de2cdbae7d99039c024c9a25/identify-2.6.7.tar.gz", hash = "sha256:3fa266b42eba321ee0b2bb0936a6a6b9e36a1351cbb69055b3082f4193035684", size = 99260 }
+sdist = { url = "https://files.pythonhosted.org/packages/0c/83/b6ea0334e2e7327084a46aaaf71f2146fc061a192d6518c0d020120cd0aa/identify-2.6.10.tar.gz", hash = "sha256:45e92fd704f3da71cc3880036633f48b4b7265fd4de2b57627cb157216eb7eb8", size = 99201, upload_time = "2025-04-19T15:10:38.32Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/03/00/1fd4a117c6c93f2dcc5b7edaeaf53ea45332ef966429be566ca16c2beb94/identify-2.6.7-py2.py3-none-any.whl", hash = "sha256:155931cb617a401807b09ecec6635d6c692d180090a1cedca8ef7d58ba5b6aa0", size = 99097 },
+ { url = "https://files.pythonhosted.org/packages/2b/d3/85feeba1d097b81a44bcffa6a0beab7b4dfffe78e82fc54978d3ac380736/identify-2.6.10-py2.py3-none-any.whl", hash = "sha256:5f34248f54136beed1a7ba6a6b5c4b6cf21ff495aac7c359e1ef831ae3b8ab25", size = 99101, upload_time = "2025-04-19T15:10:36.701Z" },
]
[[package]]
name = "idna"
version = "3.10"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490 }
+sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload_time = "2024-09-15T18:07:39.745Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442 },
+ { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload_time = "2024-09-15T18:07:37.964Z" },
]
[[package]]
name = "importlib-resources"
version = "6.5.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693 }
+sdist = { url = "https://files.pythonhosted.org/packages/cf/8c/f834fbf984f691b4f7ff60f50b514cc3de5cc08abfc3295564dd89c5e2e7/importlib_resources-6.5.2.tar.gz", hash = "sha256:185f87adef5bcc288449d98fb4fba07cea78bc036455dd44c5fc4a2fe78fed2c", size = 44693, upload_time = "2025-01-03T18:51:56.698Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461 },
+ { url = "https://files.pythonhosted.org/packages/a4/ed/1f1afb2e9e7f38a545d628f864d562a5ae64fe6f7a10e28ffb9b185b4e89/importlib_resources-6.5.2-py3-none-any.whl", hash = "sha256:789cfdc3ed28c78b67a06acb8126751ced69a3d5f79c095a98298cd8a760ccec", size = 37461, upload_time = "2025-01-03T18:51:54.306Z" },
]
[[package]]
name = "iniconfig"
-version = "2.0.0"
+version = "2.1.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d7/4b/cbd8e699e64a6f16ca3a8220661b5f83792b3017d0f79807cb8708d33913/iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3", size = 4646 }
+sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload_time = "2025-03-19T20:09:59.721Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ef/a6/62565a6e1cf69e10f5727360368e451d4b7f58beeac6173dc9db836a5b46/iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374", size = 5892 },
+ { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload_time = "2025-03-19T20:10:01.071Z" },
]
[[package]]
name = "isodate"
version = "0.7.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/54/4d/e940025e2ce31a8ce1202635910747e5a87cc3a6a6bb2d00973375014749/isodate-0.7.2.tar.gz", hash = "sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6", size = 29705 }
+sdist = { url = "https://files.pythonhosted.org/packages/54/4d/e940025e2ce31a8ce1202635910747e5a87cc3a6a6bb2d00973375014749/isodate-0.7.2.tar.gz", hash = "sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6", size = 29705, upload_time = "2024-10-08T23:04:11.5Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/15/aa/0aca39a37d3c7eb941ba736ede56d689e7be91cab5d9ca846bde3999eba6/isodate-0.7.2-py3-none-any.whl", hash = "sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15", size = 22320 },
+ { url = "https://files.pythonhosted.org/packages/15/aa/0aca39a37d3c7eb941ba736ede56d689e7be91cab5d9ca846bde3999eba6/isodate-0.7.2-py3-none-any.whl", hash = "sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15", size = 22320, upload_time = "2024-10-08T23:04:09.501Z" },
]
[[package]]
@@ -458,9 +485,9 @@ dependencies = [
{ name = "referencing" },
{ name = "rpds-py" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778 }
+sdist = { url = "https://files.pythonhosted.org/packages/38/2e/03362ee4034a4c917f697890ccd4aec0800ccf9ded7f511971c75451deec/jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4", size = 325778, upload_time = "2024-07-08T18:40:05.546Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462 },
+ { url = "https://files.pythonhosted.org/packages/69/4a/4f9dbeb84e8850557c02365a0eee0649abe5eb1d84af92a25731c6c0f922/jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566", size = 88462, upload_time = "2024-07-08T18:40:00.165Z" },
]
[[package]]
@@ -473,9 +500,9 @@ dependencies = [
{ name = "referencing" },
{ name = "requests" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/6e/45/41ebc679c2a4fced6a722f624c18d658dee42612b83ea24c1caf7c0eb3a8/jsonschema_path-0.3.4.tar.gz", hash = "sha256:8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001", size = 11159 }
+sdist = { url = "https://files.pythonhosted.org/packages/6e/45/41ebc679c2a4fced6a722f624c18d658dee42612b83ea24c1caf7c0eb3a8/jsonschema_path-0.3.4.tar.gz", hash = "sha256:8365356039f16cc65fddffafda5f58766e34bebab7d6d105616ab52bc4297001", size = 11159, upload_time = "2025-01-24T14:33:16.547Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/cb/58/3485da8cb93d2f393bce453adeef16896751f14ba3e2024bc21dc9597646/jsonschema_path-0.3.4-py3-none-any.whl", hash = "sha256:f502191fdc2b22050f9a81c9237be9d27145b9001c55842bece5e94e382e52f8", size = 14810 },
+ { url = "https://files.pythonhosted.org/packages/cb/58/3485da8cb93d2f393bce453adeef16896751f14ba3e2024bc21dc9597646/jsonschema_path-0.3.4-py3-none-any.whl", hash = "sha256:f502191fdc2b22050f9a81c9237be9d27145b9001c55842bece5e94e382e52f8", size = 14810, upload_time = "2025-01-24T14:33:14.652Z" },
]
[[package]]
@@ -485,85 +512,79 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "referencing" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561 }
+sdist = { url = "https://files.pythonhosted.org/packages/10/db/58f950c996c793472e336ff3655b13fbcf1e3b359dcf52dcf3ed3b52c352/jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272", size = 15561, upload_time = "2024-10-08T12:29:32.068Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459 },
+ { url = "https://files.pythonhosted.org/packages/d1/0f/8910b19ac0670a0f80ce1008e5e751c4a57e14d2c4c13a482aa6079fa9d6/jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf", size = 18459, upload_time = "2024-10-08T12:29:30.439Z" },
]
[[package]]
name = "lazy-object-proxy"
-version = "1.10.0"
+version = "1.11.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/2c/f0/f02e2d150d581a294efded4020094a371bbab42423fe78625ac18854d89b/lazy-object-proxy-1.10.0.tar.gz", hash = "sha256:78247b6d45f43a52ef35c25b5581459e85117225408a4128a3daf8bf9648ac69", size = 43271 }
+sdist = { url = "https://files.pythonhosted.org/packages/57/f9/1f56571ed82fb324f293661690635cf42c41deb8a70a6c9e6edc3e9bb3c8/lazy_object_proxy-1.11.0.tar.gz", hash = "sha256:18874411864c9fbbbaa47f9fc1dd7aea754c86cfde21278ef427639d1dd78e9c", size = 44736, upload_time = "2025-04-16T16:53:48.482Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/ff/e1/99a7ec68b892c9b8c6212617f54e7e9b0304d47edad8c0ff043ae3aeb1a9/lazy_object_proxy-1.10.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fec03caabbc6b59ea4a638bee5fce7117be8e99a4103d9d5ad77f15d6f81020c", size = 27434 },
- { url = "https://files.pythonhosted.org/packages/1a/76/6a41de4b44d1dcfe4c720d4606de0d7b69b6b450f0bdce16f2e1fb8abc89/lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:02c83f957782cbbe8136bee26416686a6ae998c7b6191711a04da776dc9e47d4", size = 70687 },
- { url = "https://files.pythonhosted.org/packages/1e/5d/eaa12126e8989c9bdd21d864cbba2b258cb9ee2f574ada1462a0004cfad8/lazy_object_proxy-1.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009e6bb1f1935a62889ddc8541514b6a9e1fcf302667dcb049a0be5c8f613e56", size = 69757 },
- { url = "https://files.pythonhosted.org/packages/53/a9/6f22cfe9572929656988b72c0de266c5d10755369b575322725f67364c4e/lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:75fc59fc450050b1b3c203c35020bc41bd2695ed692a392924c6ce180c6f1dc9", size = 73709 },
- { url = "https://files.pythonhosted.org/packages/bd/e6/b10fd94710a99a6309f3ad61a4eb480944bbb17fcb41bd2d852fdbee57ee/lazy_object_proxy-1.10.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:782e2c9b2aab1708ffb07d4bf377d12901d7a1d99e5e410d648d892f8967ab1f", size = 73191 },
- { url = "https://files.pythonhosted.org/packages/c9/78/a9b9d314da02fe66b632f2354e20e40fc3508befb450b5a17987a222b383/lazy_object_proxy-1.10.0-cp311-cp311-win32.whl", hash = "sha256:edb45bb8278574710e68a6b021599a10ce730d156e5b254941754a9cc0b17d03", size = 25773 },
- { url = "https://files.pythonhosted.org/packages/94/e6/e2d3b0c9efe61f72dc327ce2355941f540e0b0d1f2b3490cbab6bab7d3ea/lazy_object_proxy-1.10.0-cp311-cp311-win_amd64.whl", hash = "sha256:e271058822765ad5e3bca7f05f2ace0de58a3f4e62045a8c90a0dfd2f8ad8cc6", size = 27550 },
- { url = "https://files.pythonhosted.org/packages/d0/5d/768a7f2ccebb29604def61842fd54f6f5f75c79e366ee8748dda84de0b13/lazy_object_proxy-1.10.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:e98c8af98d5707dcdecc9ab0863c0ea6e88545d42ca7c3feffb6b4d1e370c7ba", size = 27560 },
- { url = "https://files.pythonhosted.org/packages/b3/ce/f369815549dbfa4bebed541fa4e1561d69e4f268a1f6f77da886df182dab/lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:952c81d415b9b80ea261d2372d2a4a2332a3890c2b83e0535f263ddfe43f0d43", size = 72403 },
- { url = "https://files.pythonhosted.org/packages/44/46/3771e0a4315044aa7b67da892b2fb1f59dfcf0eaff2c8967b2a0a85d5896/lazy_object_proxy-1.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80b39d3a151309efc8cc48675918891b865bdf742a8616a337cb0090791a0de9", size = 72401 },
- { url = "https://files.pythonhosted.org/packages/81/39/84ce4740718e1c700bd04d3457ac92b2e9ce76529911583e7a2bf4d96eb2/lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:e221060b701e2aa2ea991542900dd13907a5c90fa80e199dbf5a03359019e7a3", size = 75375 },
- { url = "https://files.pythonhosted.org/packages/86/3b/d6b65da2b864822324745c0a73fe7fd86c67ccea54173682c3081d7adea8/lazy_object_proxy-1.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:92f09ff65ecff3108e56526f9e2481b8116c0b9e1425325e13245abfd79bdb1b", size = 75466 },
- { url = "https://files.pythonhosted.org/packages/f5/33/467a093bf004a70022cb410c590d937134bba2faa17bf9dc42a48f49af35/lazy_object_proxy-1.10.0-cp312-cp312-win32.whl", hash = "sha256:3ad54b9ddbe20ae9f7c1b29e52f123120772b06dbb18ec6be9101369d63a4074", size = 25914 },
- { url = "https://files.pythonhosted.org/packages/77/ce/7956dc5ac2f8b62291b798c8363c81810e22a9effe469629d297d087e350/lazy_object_proxy-1.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:127a789c75151db6af398b8972178afe6bda7d6f68730c057fbbc2e96b08d282", size = 27525 },
- { url = "https://files.pythonhosted.org/packages/31/8b/94dc8d58704ab87b39faed6f2fc0090b9d90e2e2aa2bbec35c79f3d2a054/lazy_object_proxy-1.10.0-pp310.pp311.pp312.pp38.pp39-none-any.whl", hash = "sha256:80fa48bd89c8f2f456fc0765c11c23bf5af827febacd2f523ca5bc1893fcc09d", size = 16405 },
+ { url = "https://files.pythonhosted.org/packages/51/f6/eb645ca1ff7408bb69e9b1fe692cce1d74394efdbb40d6207096c0cd8381/lazy_object_proxy-1.11.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:090935756cc041e191f22f4f9c7fd4fe9a454717067adf5b1bbd2ce3046b556e", size = 28047, upload_time = "2025-04-16T16:53:34.679Z" },
+ { url = "https://files.pythonhosted.org/packages/13/9c/aabbe1e8b99b8b0edb846b49a517edd636355ac97364419d9ba05b8fa19f/lazy_object_proxy-1.11.0-cp311-cp311-win_amd64.whl", hash = "sha256:76ec715017f06410f57df442c1a8d66e6b5f7035077785b129817f5ae58810a4", size = 28440, upload_time = "2025-04-16T16:53:36.113Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/24/dae4759469e9cd318fef145f7cfac7318261b47b23a4701aa477b0c3b42c/lazy_object_proxy-1.11.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9a9f39098e93a63618a79eef2889ae3cf0605f676cd4797fdfd49fcd7ddc318b", size = 28142, upload_time = "2025-04-16T16:53:37.663Z" },
+ { url = "https://files.pythonhosted.org/packages/de/0c/645a881f5f27952a02f24584d96f9f326748be06ded2cee25f8f8d1cd196/lazy_object_proxy-1.11.0-cp312-cp312-win_amd64.whl", hash = "sha256:ee13f67f4fcd044ef27bfccb1c93d39c100046fec1fad6e9a1fcdfd17492aeb3", size = 28380, upload_time = "2025-04-16T16:53:39.07Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/0f/6e004f928f7ff5abae2b8e1f68835a3870252f886e006267702e1efc5c7b/lazy_object_proxy-1.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fd4c84eafd8dd15ea16f7d580758bc5c2ce1f752faec877bb2b1f9f827c329cd", size = 28149, upload_time = "2025-04-16T16:53:40.135Z" },
+ { url = "https://files.pythonhosted.org/packages/63/cb/b8363110e32cc1fd82dc91296315f775d37a39df1c1cfa976ec1803dac89/lazy_object_proxy-1.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:d2503427bda552d3aefcac92f81d9e7ca631e680a2268cbe62cd6a58de6409b7", size = 28389, upload_time = "2025-04-16T16:53:43.612Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/89/68c50fcfd81e11480cd8ee7f654c9bd790a9053b9a0efe9983d46106f6a9/lazy_object_proxy-1.11.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0613116156801ab3fccb9e2b05ed83b08ea08c2517fdc6c6bc0d4697a1a376e3", size = 28777, upload_time = "2025-04-16T16:53:41.371Z" },
+ { url = "https://files.pythonhosted.org/packages/39/d0/7e967689e24de8ea6368ec33295f9abc94b9f3f0cd4571bfe148dc432190/lazy_object_proxy-1.11.0-cp313-cp313t-win_amd64.whl", hash = "sha256:bb03c507d96b65f617a6337dedd604399d35face2cdf01526b913fb50c4cb6e8", size = 29598, upload_time = "2025-04-16T16:53:42.513Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/1e/fb441c07b6662ec1fc92b249225ba6e6e5221b05623cb0131d082f782edc/lazy_object_proxy-1.11.0-py3-none-any.whl", hash = "sha256:a56a5093d433341ff7da0e89f9b486031ccd222ec8e52ec84d0ec1cdc819674b", size = 16635, upload_time = "2025-04-16T16:53:47.198Z" },
]
[[package]]
name = "markupsafe"
version = "3.0.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537 }
+sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload_time = "2024-10-18T15:21:54.129Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353 },
- { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392 },
- { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984 },
- { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120 },
- { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032 },
- { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057 },
- { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359 },
- { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306 },
- { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094 },
- { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521 },
- { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274 },
- { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348 },
- { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149 },
- { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118 },
- { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993 },
- { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178 },
- { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319 },
- { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352 },
- { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097 },
- { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601 },
- { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274 },
- { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352 },
- { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122 },
- { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085 },
- { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978 },
- { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208 },
- { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357 },
- { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344 },
- { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101 },
- { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603 },
- { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510 },
- { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486 },
- { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480 },
- { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914 },
- { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796 },
- { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473 },
- { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114 },
- { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 },
- { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 },
- { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 },
+ { url = "https://files.pythonhosted.org/packages/6b/28/bbf83e3f76936960b850435576dd5e67034e200469571be53f69174a2dfd/MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d", size = 14353, upload_time = "2024-10-18T15:21:02.187Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/30/316d194b093cde57d448a4c3209f22e3046c5bb2fb0820b118292b334be7/MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93", size = 12392, upload_time = "2024-10-18T15:21:02.941Z" },
+ { url = "https://files.pythonhosted.org/packages/f2/96/9cdafba8445d3a53cae530aaf83c38ec64c4d5427d975c974084af5bc5d2/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832", size = 23984, upload_time = "2024-10-18T15:21:03.953Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/a4/aefb044a2cd8d7334c8a47d3fb2c9f328ac48cb349468cc31c20b539305f/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84", size = 23120, upload_time = "2024-10-18T15:21:06.495Z" },
+ { url = "https://files.pythonhosted.org/packages/8d/21/5e4851379f88f3fad1de30361db501300d4f07bcad047d3cb0449fc51f8c/MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca", size = 23032, upload_time = "2024-10-18T15:21:07.295Z" },
+ { url = "https://files.pythonhosted.org/packages/00/7b/e92c64e079b2d0d7ddf69899c98842f3f9a60a1ae72657c89ce2655c999d/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798", size = 24057, upload_time = "2024-10-18T15:21:08.073Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/ac/46f960ca323037caa0a10662ef97d0a4728e890334fc156b9f9e52bcc4ca/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e", size = 23359, upload_time = "2024-10-18T15:21:09.318Z" },
+ { url = "https://files.pythonhosted.org/packages/69/84/83439e16197337b8b14b6a5b9c2105fff81d42c2a7c5b58ac7b62ee2c3b1/MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4", size = 23306, upload_time = "2024-10-18T15:21:10.185Z" },
+ { url = "https://files.pythonhosted.org/packages/9a/34/a15aa69f01e2181ed8d2b685c0d2f6655d5cca2c4db0ddea775e631918cd/MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d", size = 15094, upload_time = "2024-10-18T15:21:11.005Z" },
+ { url = "https://files.pythonhosted.org/packages/da/b8/3a3bd761922d416f3dc5d00bfbed11f66b1ab89a0c2b6e887240a30b0f6b/MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b", size = 15521, upload_time = "2024-10-18T15:21:12.911Z" },
+ { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload_time = "2024-10-18T15:21:13.777Z" },
+ { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload_time = "2024-10-18T15:21:14.822Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload_time = "2024-10-18T15:21:15.642Z" },
+ { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload_time = "2024-10-18T15:21:17.133Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload_time = "2024-10-18T15:21:18.064Z" },
+ { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload_time = "2024-10-18T15:21:18.859Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload_time = "2024-10-18T15:21:19.671Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload_time = "2024-10-18T15:21:20.971Z" },
+ { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload_time = "2024-10-18T15:21:22.646Z" },
+ { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload_time = "2024-10-18T15:21:23.499Z" },
+ { url = "https://files.pythonhosted.org/packages/83/0e/67eb10a7ecc77a0c2bbe2b0235765b98d164d81600746914bebada795e97/MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd", size = 14274, upload_time = "2024-10-18T15:21:24.577Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/6d/9409f3684d3335375d04e5f05744dfe7e9f120062c9857df4ab490a1031a/MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430", size = 12352, upload_time = "2024-10-18T15:21:25.382Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/f5/6eadfcd3885ea85fe2a7c128315cc1bb7241e1987443d78c8fe712d03091/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094", size = 24122, upload_time = "2024-10-18T15:21:26.199Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/91/96cf928db8236f1bfab6ce15ad070dfdd02ed88261c2afafd4b43575e9e9/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396", size = 23085, upload_time = "2024-10-18T15:21:27.029Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/cf/c9d56af24d56ea04daae7ac0940232d31d5a8354f2b457c6d856b2057d69/MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79", size = 22978, upload_time = "2024-10-18T15:21:27.846Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/9f/8619835cd6a711d6272d62abb78c033bda638fdc54c4e7f4272cf1c0962b/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a", size = 24208, upload_time = "2024-10-18T15:21:28.744Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/bf/176950a1792b2cd2102b8ffeb5133e1ed984547b75db47c25a67d3359f77/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca", size = 23357, upload_time = "2024-10-18T15:21:29.545Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/4f/9a02c1d335caabe5c4efb90e1b6e8ee944aa245c1aaaab8e8a618987d816/MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c", size = 23344, upload_time = "2024-10-18T15:21:30.366Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/55/c271b57db36f748f0e04a759ace9f8f759ccf22b4960c270c78a394f58be/MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1", size = 15101, upload_time = "2024-10-18T15:21:31.207Z" },
+ { url = "https://files.pythonhosted.org/packages/29/88/07df22d2dd4df40aba9f3e402e6dc1b8ee86297dddbad4872bd5e7b0094f/MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f", size = 15603, upload_time = "2024-10-18T15:21:32.032Z" },
+ { url = "https://files.pythonhosted.org/packages/62/6a/8b89d24db2d32d433dffcd6a8779159da109842434f1dd2f6e71f32f738c/MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c", size = 14510, upload_time = "2024-10-18T15:21:33.625Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/06/a10f955f70a2e5a9bf78d11a161029d278eeacbd35ef806c3fd17b13060d/MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb", size = 12486, upload_time = "2024-10-18T15:21:34.611Z" },
+ { url = "https://files.pythonhosted.org/packages/34/cf/65d4a571869a1a9078198ca28f39fba5fbb910f952f9dbc5220afff9f5e6/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c", size = 25480, upload_time = "2024-10-18T15:21:35.398Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e3/90e9651924c430b885468b56b3d597cabf6d72be4b24a0acd1fa0e12af67/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d", size = 23914, upload_time = "2024-10-18T15:21:36.231Z" },
+ { url = "https://files.pythonhosted.org/packages/66/8c/6c7cf61f95d63bb866db39085150df1f2a5bd3335298f14a66b48e92659c/MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe", size = 23796, upload_time = "2024-10-18T15:21:37.073Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/35/cbe9238ec3f47ac9a7c8b3df7a808e7cb50fe149dc7039f5f454b3fba218/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5", size = 25473, upload_time = "2024-10-18T15:21:37.932Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/32/7621a4382488aa283cc05e8984a9c219abad3bca087be9ec77e89939ded9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a", size = 24114, upload_time = "2024-10-18T15:21:39.799Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098, upload_time = "2024-10-18T15:21:40.813Z" },
+ { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208, upload_time = "2024-10-18T15:21:41.814Z" },
+ { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739, upload_time = "2024-10-18T15:21:42.784Z" },
]
[[package]]
name = "mcp"
-version = "1.2.1"
+version = "1.7.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
@@ -571,90 +592,114 @@ dependencies = [
{ name = "httpx-sse" },
{ name = "pydantic" },
{ name = "pydantic-settings" },
+ { name = "python-multipart" },
{ name = "sse-starlette" },
{ name = "starlette" },
- { name = "uvicorn" },
+ { name = "uvicorn", marker = "sys_platform != 'emscripten'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/fc/30/51e4555826126e3954fa2ab1e934bf74163c5fe05e98f38ca4d0f8abbf63/mcp-1.2.1.tar.gz", hash = "sha256:c9d43dbfe943aa1530e2be8f54b73af3ebfb071243827b4483d421684806cb45", size = 103968 }
+sdist = { url = "https://files.pythonhosted.org/packages/25/ae/588691c45b38f4fbac07fa3d6d50cea44cc6b35d16ddfdf26e17a0467ab2/mcp-1.7.1.tar.gz", hash = "sha256:eb4f1f53bd717f75dda8a1416e00804b831a8f3c331e23447a03b78f04b43a6e", size = 230903, upload_time = "2025-05-02T17:01:56.403Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/4c/0d/6770742a84c8aa1d36c0d628896a380584c5759612e66af7446af07d8775/mcp-1.2.1-py3-none-any.whl", hash = "sha256:579bf9c9157850ebb1344f3ca6f7a3021b0123c44c9f089ef577a7062522f0fd", size = 66453 },
+ { url = "https://files.pythonhosted.org/packages/ae/79/fe0e20c3358997a80911af51bad927b5ea2f343ef95ab092b19c9cc48b59/mcp-1.7.1-py3-none-any.whl", hash = "sha256:f7e6108977db6d03418495426c7ace085ba2341b75197f8727f96f9cfd30057a", size = 100365, upload_time = "2025-05-02T17:01:54.674Z" },
]
[[package]]
name = "more-itertools"
-version = "10.6.0"
+version = "10.7.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/88/3b/7fa1fe835e2e93fd6d7b52b2f95ae810cf5ba133e1845f726f5a992d62c2/more-itertools-10.6.0.tar.gz", hash = "sha256:2cd7fad1009c31cc9fb6a035108509e6547547a7a738374f10bd49a09eb3ee3b", size = 125009 }
+sdist = { url = "https://files.pythonhosted.org/packages/ce/a0/834b0cebabbfc7e311f30b46c8188790a37f89fc8d756660346fe5abfd09/more_itertools-10.7.0.tar.gz", hash = "sha256:9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3", size = 127671, upload_time = "2025-04-22T14:17:41.838Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/23/62/0fe302c6d1be1c777cab0616e6302478251dfbf9055ad426f5d0def75c89/more_itertools-10.6.0-py3-none-any.whl", hash = "sha256:6eb054cb4b6db1473f6e15fcc676a08e4732548acd47c708f0e179c2c7c01e89", size = 63038 },
+ { url = "https://files.pythonhosted.org/packages/2b/9f/7ba6f94fc1e9ac3d2b853fdff3035fb2fa5afbed898c4a72b8a020610594/more_itertools-10.7.0-py3-none-any.whl", hash = "sha256:d43980384673cb07d2f7d2d918c616b30c659c089ee23953f601d6609c67510e", size = 65278, upload_time = "2025-04-22T14:17:40.49Z" },
]
[[package]]
name = "multidict"
-version = "6.1.0"
+version = "6.4.3"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d6/be/504b89a5e9ca731cd47487e91c469064f8ae5af93b7259758dcfc2b9c848/multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a", size = 64002 }
+sdist = { url = "https://files.pythonhosted.org/packages/da/2c/e367dfb4c6538614a0c9453e510d75d66099edf1c4e69da1b5ce691a1931/multidict-6.4.3.tar.gz", hash = "sha256:3ada0b058c9f213c5f95ba301f922d402ac234f1111a7d8fd70f1b99f3c281ec", size = 89372, upload_time = "2025-04-10T22:20:17.956Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/93/13/df3505a46d0cd08428e4c8169a196131d1b0c4b515c3649829258843dde6/multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6", size = 48570 },
- { url = "https://files.pythonhosted.org/packages/f0/e1/a215908bfae1343cdb72f805366592bdd60487b4232d039c437fe8f5013d/multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156", size = 29316 },
- { url = "https://files.pythonhosted.org/packages/70/0f/6dc70ddf5d442702ed74f298d69977f904960b82368532c88e854b79f72b/multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb", size = 29640 },
- { url = "https://files.pythonhosted.org/packages/d8/6d/9c87b73a13d1cdea30b321ef4b3824449866bd7f7127eceed066ccb9b9ff/multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b", size = 131067 },
- { url = "https://files.pythonhosted.org/packages/cc/1e/1b34154fef373371fd6c65125b3d42ff5f56c7ccc6bfff91b9b3c60ae9e0/multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72", size = 138507 },
- { url = "https://files.pythonhosted.org/packages/fb/e0/0bc6b2bac6e461822b5f575eae85da6aae76d0e2a79b6665d6206b8e2e48/multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304", size = 133905 },
- { url = "https://files.pythonhosted.org/packages/ba/af/73d13b918071ff9b2205fcf773d316e0f8fefb4ec65354bbcf0b10908cc6/multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351", size = 129004 },
- { url = "https://files.pythonhosted.org/packages/74/21/23960627b00ed39643302d81bcda44c9444ebcdc04ee5bedd0757513f259/multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb", size = 121308 },
- { url = "https://files.pythonhosted.org/packages/8b/5c/cf282263ffce4a596ed0bb2aa1a1dddfe1996d6a62d08842a8d4b33dca13/multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3", size = 132608 },
- { url = "https://files.pythonhosted.org/packages/d7/3e/97e778c041c72063f42b290888daff008d3ab1427f5b09b714f5a8eff294/multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399", size = 127029 },
- { url = "https://files.pythonhosted.org/packages/47/ac/3efb7bfe2f3aefcf8d103e9a7162572f01936155ab2f7ebcc7c255a23212/multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423", size = 137594 },
- { url = "https://files.pythonhosted.org/packages/42/9b/6c6e9e8dc4f915fc90a9b7798c44a30773dea2995fdcb619870e705afe2b/multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3", size = 134556 },
- { url = "https://files.pythonhosted.org/packages/1d/10/8e881743b26aaf718379a14ac58572a240e8293a1c9d68e1418fb11c0f90/multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753", size = 130993 },
- { url = "https://files.pythonhosted.org/packages/45/84/3eb91b4b557442802d058a7579e864b329968c8d0ea57d907e7023c677f2/multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80", size = 26405 },
- { url = "https://files.pythonhosted.org/packages/9f/0b/ad879847ecbf6d27e90a6eabb7eff6b62c129eefe617ea45eae7c1f0aead/multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926", size = 28795 },
- { url = "https://files.pythonhosted.org/packages/fd/16/92057c74ba3b96d5e211b553895cd6dc7cc4d1e43d9ab8fafc727681ef71/multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa", size = 48713 },
- { url = "https://files.pythonhosted.org/packages/94/3d/37d1b8893ae79716179540b89fc6a0ee56b4a65fcc0d63535c6f5d96f217/multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436", size = 29516 },
- { url = "https://files.pythonhosted.org/packages/a2/12/adb6b3200c363062f805275b4c1e656be2b3681aada66c80129932ff0bae/multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761", size = 29557 },
- { url = "https://files.pythonhosted.org/packages/47/e9/604bb05e6e5bce1e6a5cf80a474e0f072e80d8ac105f1b994a53e0b28c42/multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e", size = 130170 },
- { url = "https://files.pythonhosted.org/packages/7e/13/9efa50801785eccbf7086b3c83b71a4fb501a4d43549c2f2f80b8787d69f/multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef", size = 134836 },
- { url = "https://files.pythonhosted.org/packages/bf/0f/93808b765192780d117814a6dfcc2e75de6dcc610009ad408b8814dca3ba/multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95", size = 133475 },
- { url = "https://files.pythonhosted.org/packages/d3/c8/529101d7176fe7dfe1d99604e48d69c5dfdcadb4f06561f465c8ef12b4df/multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925", size = 131049 },
- { url = "https://files.pythonhosted.org/packages/ca/0c/fc85b439014d5a58063e19c3a158a889deec399d47b5269a0f3b6a2e28bc/multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966", size = 120370 },
- { url = "https://files.pythonhosted.org/packages/db/46/d4416eb20176492d2258fbd47b4abe729ff3b6e9c829ea4236f93c865089/multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305", size = 125178 },
- { url = "https://files.pythonhosted.org/packages/5b/46/73697ad7ec521df7de5531a32780bbfd908ded0643cbe457f981a701457c/multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2", size = 119567 },
- { url = "https://files.pythonhosted.org/packages/cd/ed/51f060e2cb0e7635329fa6ff930aa5cffa17f4c7f5c6c3ddc3500708e2f2/multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2", size = 129822 },
- { url = "https://files.pythonhosted.org/packages/df/9e/ee7d1954b1331da3eddea0c4e08d9142da5f14b1321c7301f5014f49d492/multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6", size = 128656 },
- { url = "https://files.pythonhosted.org/packages/77/00/8538f11e3356b5d95fa4b024aa566cde7a38aa7a5f08f4912b32a037c5dc/multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3", size = 125360 },
- { url = "https://files.pythonhosted.org/packages/be/05/5d334c1f2462d43fec2363cd00b1c44c93a78c3925d952e9a71caf662e96/multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133", size = 26382 },
- { url = "https://files.pythonhosted.org/packages/a3/bf/f332a13486b1ed0496d624bcc7e8357bb8053823e8cd4b9a18edc1d97e73/multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1", size = 28529 },
- { url = "https://files.pythonhosted.org/packages/22/67/1c7c0f39fe069aa4e5d794f323be24bf4d33d62d2a348acdb7991f8f30db/multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008", size = 48771 },
- { url = "https://files.pythonhosted.org/packages/3c/25/c186ee7b212bdf0df2519eacfb1981a017bda34392c67542c274651daf23/multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f", size = 29533 },
- { url = "https://files.pythonhosted.org/packages/67/5e/04575fd837e0958e324ca035b339cea174554f6f641d3fb2b4f2e7ff44a2/multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28", size = 29595 },
- { url = "https://files.pythonhosted.org/packages/d3/b2/e56388f86663810c07cfe4a3c3d87227f3811eeb2d08450b9e5d19d78876/multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b", size = 130094 },
- { url = "https://files.pythonhosted.org/packages/6c/ee/30ae9b4186a644d284543d55d491fbd4239b015d36b23fea43b4c94f7052/multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c", size = 134876 },
- { url = "https://files.pythonhosted.org/packages/84/c7/70461c13ba8ce3c779503c70ec9d0345ae84de04521c1f45a04d5f48943d/multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3", size = 133500 },
- { url = "https://files.pythonhosted.org/packages/4a/9f/002af221253f10f99959561123fae676148dd730e2daa2cd053846a58507/multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44", size = 131099 },
- { url = "https://files.pythonhosted.org/packages/82/42/d1c7a7301d52af79d88548a97e297f9d99c961ad76bbe6f67442bb77f097/multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2", size = 120403 },
- { url = "https://files.pythonhosted.org/packages/68/f3/471985c2c7ac707547553e8f37cff5158030d36bdec4414cb825fbaa5327/multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3", size = 125348 },
- { url = "https://files.pythonhosted.org/packages/67/2c/e6df05c77e0e433c214ec1d21ddd203d9a4770a1f2866a8ca40a545869a0/multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa", size = 119673 },
- { url = "https://files.pythonhosted.org/packages/c5/cd/bc8608fff06239c9fb333f9db7743a1b2eafe98c2666c9a196e867a3a0a4/multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa", size = 129927 },
- { url = "https://files.pythonhosted.org/packages/44/8e/281b69b7bc84fc963a44dc6e0bbcc7150e517b91df368a27834299a526ac/multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4", size = 128711 },
- { url = "https://files.pythonhosted.org/packages/12/a4/63e7cd38ed29dd9f1881d5119f272c898ca92536cdb53ffe0843197f6c85/multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6", size = 125519 },
- { url = "https://files.pythonhosted.org/packages/38/e0/4f5855037a72cd8a7a2f60a3952d9aa45feedb37ae7831642102604e8a37/multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81", size = 26426 },
- { url = "https://files.pythonhosted.org/packages/7e/a5/17ee3a4db1e310b7405f5d25834460073a8ccd86198ce044dfaf69eac073/multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774", size = 28531 },
- { url = "https://files.pythonhosted.org/packages/99/b7/b9e70fde2c0f0c9af4cc5277782a89b66d35948ea3369ec9f598358c3ac5/multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506", size = 10051 },
+ { url = "https://files.pythonhosted.org/packages/16/e0/53cf7f27eda48fffa53cfd4502329ed29e00efb9e4ce41362cbf8aa54310/multidict-6.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f6f19170197cc29baccd33ccc5b5d6a331058796485857cf34f7635aa25fb0cd", size = 65259, upload_time = "2025-04-10T22:17:59.632Z" },
+ { url = "https://files.pythonhosted.org/packages/44/79/1dcd93ce7070cf01c2ee29f781c42b33c64fce20033808f1cc9ec8413d6e/multidict-6.4.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f2882bf27037eb687e49591690e5d491e677272964f9ec7bc2abbe09108bdfb8", size = 38451, upload_time = "2025-04-10T22:18:01.202Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/35/2292cf29ab5f0d0b3613fad1b75692148959d3834d806be1885ceb49a8ff/multidict-6.4.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fbf226ac85f7d6b6b9ba77db4ec0704fde88463dc17717aec78ec3c8546c70ad", size = 37706, upload_time = "2025-04-10T22:18:02.276Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/d1/6b157110b2b187b5a608b37714acb15ee89ec773e3800315b0107ea648cd/multidict-6.4.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e329114f82ad4b9dd291bef614ea8971ec119ecd0f54795109976de75c9a852", size = 226669, upload_time = "2025-04-10T22:18:03.436Z" },
+ { url = "https://files.pythonhosted.org/packages/40/7f/61a476450651f177c5570e04bd55947f693077ba7804fe9717ee9ae8de04/multidict-6.4.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:1f4e0334d7a555c63f5c8952c57ab6f1c7b4f8c7f3442df689fc9f03df315c08", size = 223182, upload_time = "2025-04-10T22:18:04.922Z" },
+ { url = "https://files.pythonhosted.org/packages/51/7b/eaf7502ac4824cdd8edcf5723e2e99f390c879866aec7b0c420267b53749/multidict-6.4.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:740915eb776617b57142ce0bb13b7596933496e2f798d3d15a20614adf30d229", size = 235025, upload_time = "2025-04-10T22:18:06.274Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/f6/facdbbd73c96b67a93652774edd5778ab1167854fa08ea35ad004b1b70ad/multidict-6.4.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255dac25134d2b141c944b59a0d2f7211ca12a6d4779f7586a98b4b03ea80508", size = 231481, upload_time = "2025-04-10T22:18:07.742Z" },
+ { url = "https://files.pythonhosted.org/packages/70/57/c008e861b3052405eebf921fd56a748322d8c44dcfcab164fffbccbdcdc4/multidict-6.4.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d4e8535bd4d741039b5aad4285ecd9b902ef9e224711f0b6afda6e38d7ac02c7", size = 223492, upload_time = "2025-04-10T22:18:09.095Z" },
+ { url = "https://files.pythonhosted.org/packages/30/4d/7d8440d3a12a6ae5d6b202d6e7f2ac6ab026e04e99aaf1b73f18e6bc34bc/multidict-6.4.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c433a33be000dd968f5750722eaa0991037be0be4a9d453eba121774985bc8", size = 217279, upload_time = "2025-04-10T22:18:10.474Z" },
+ { url = "https://files.pythonhosted.org/packages/7f/e7/bca0df4dd057597b94138d2d8af04eb3c27396a425b1b0a52e082f9be621/multidict-6.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:4eb33b0bdc50acd538f45041f5f19945a1f32b909b76d7b117c0c25d8063df56", size = 228733, upload_time = "2025-04-10T22:18:11.793Z" },
+ { url = "https://files.pythonhosted.org/packages/88/f5/383827c3f1c38d7c92dbad00a8a041760228573b1c542fbf245c37bbca8a/multidict-6.4.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:75482f43465edefd8a5d72724887ccdcd0c83778ded8f0cb1e0594bf71736cc0", size = 218089, upload_time = "2025-04-10T22:18:13.153Z" },
+ { url = "https://files.pythonhosted.org/packages/36/8a/a5174e8a7d8b94b4c8f9c1e2cf5d07451f41368ffe94d05fc957215b8e72/multidict-6.4.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ce5b3082e86aee80b3925ab4928198450d8e5b6466e11501fe03ad2191c6d777", size = 225257, upload_time = "2025-04-10T22:18:14.654Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/76/1d4b7218f0fd00b8e5c90b88df2e45f8af127f652f4e41add947fa54c1c4/multidict-6.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e413152e3212c4d39f82cf83c6f91be44bec9ddea950ce17af87fbf4e32ca6b2", size = 234728, upload_time = "2025-04-10T22:18:16.236Z" },
+ { url = "https://files.pythonhosted.org/packages/64/44/18372a4f6273fc7ca25630d7bf9ae288cde64f29593a078bff450c7170b6/multidict-6.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8aac2eeff69b71f229a405c0a4b61b54bade8e10163bc7b44fcd257949620618", size = 230087, upload_time = "2025-04-10T22:18:17.979Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/ae/28728c314a698d8a6d9491fcacc897077348ec28dd85884d09e64df8a855/multidict-6.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ab583ac203af1d09034be41458feeab7863c0635c650a16f15771e1386abf2d7", size = 223137, upload_time = "2025-04-10T22:18:19.362Z" },
+ { url = "https://files.pythonhosted.org/packages/22/50/785bb2b3fe16051bc91c70a06a919f26312da45c34db97fc87441d61e343/multidict-6.4.3-cp311-cp311-win32.whl", hash = "sha256:1b2019317726f41e81154df636a897de1bfe9228c3724a433894e44cd2512378", size = 34959, upload_time = "2025-04-10T22:18:20.728Z" },
+ { url = "https://files.pythonhosted.org/packages/2f/63/2a22e099ae2f4d92897618c00c73a09a08a2a9aa14b12736965bf8d59fd3/multidict-6.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:43173924fa93c7486402217fab99b60baf78d33806af299c56133a3755f69589", size = 38541, upload_time = "2025-04-10T22:18:22.001Z" },
+ { url = "https://files.pythonhosted.org/packages/fc/bb/3abdaf8fe40e9226ce8a2ba5ecf332461f7beec478a455d6587159f1bf92/multidict-6.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1f1c2f58f08b36f8475f3ec6f5aeb95270921d418bf18f90dffd6be5c7b0e676", size = 64019, upload_time = "2025-04-10T22:18:23.174Z" },
+ { url = "https://files.pythonhosted.org/packages/7e/b5/1b2e8de8217d2e89db156625aa0fe4a6faad98972bfe07a7b8c10ef5dd6b/multidict-6.4.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:26ae9ad364fc61b936fb7bf4c9d8bd53f3a5b4417142cd0be5c509d6f767e2f1", size = 37925, upload_time = "2025-04-10T22:18:24.834Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/e2/3ca91c112644a395c8eae017144c907d173ea910c913ff8b62549dcf0bbf/multidict-6.4.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:659318c6c8a85f6ecfc06b4e57529e5a78dfdd697260cc81f683492ad7e9435a", size = 37008, upload_time = "2025-04-10T22:18:26.069Z" },
+ { url = "https://files.pythonhosted.org/packages/60/23/79bc78146c7ac8d1ac766b2770ca2e07c2816058b8a3d5da6caed8148637/multidict-6.4.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e1eb72c741fd24d5a28242ce72bb61bc91f8451877131fa3fe930edb195f7054", size = 224374, upload_time = "2025-04-10T22:18:27.714Z" },
+ { url = "https://files.pythonhosted.org/packages/86/35/77950ed9ebd09136003a85c1926ba42001ca5be14feb49710e4334ee199b/multidict-6.4.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3cd06d88cb7398252284ee75c8db8e680aa0d321451132d0dba12bc995f0adcc", size = 230869, upload_time = "2025-04-10T22:18:29.162Z" },
+ { url = "https://files.pythonhosted.org/packages/49/97/2a33c6e7d90bc116c636c14b2abab93d6521c0c052d24bfcc231cbf7f0e7/multidict-6.4.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4543d8dc6470a82fde92b035a92529317191ce993533c3c0c68f56811164ed07", size = 231949, upload_time = "2025-04-10T22:18:30.679Z" },
+ { url = "https://files.pythonhosted.org/packages/56/ce/e9b5d9fcf854f61d6686ada7ff64893a7a5523b2a07da6f1265eaaea5151/multidict-6.4.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:30a3ebdc068c27e9d6081fca0e2c33fdf132ecea703a72ea216b81a66860adde", size = 231032, upload_time = "2025-04-10T22:18:32.146Z" },
+ { url = "https://files.pythonhosted.org/packages/f0/ac/7ced59dcdfeddd03e601edb05adff0c66d81ed4a5160c443e44f2379eef0/multidict-6.4.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b038f10e23f277153f86f95c777ba1958bcd5993194fda26a1d06fae98b2f00c", size = 223517, upload_time = "2025-04-10T22:18:33.538Z" },
+ { url = "https://files.pythonhosted.org/packages/db/e6/325ed9055ae4e085315193a1b58bdb4d7fc38ffcc1f4975cfca97d015e17/multidict-6.4.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c605a2b2dc14282b580454b9b5d14ebe0668381a3a26d0ac39daa0ca115eb2ae", size = 216291, upload_time = "2025-04-10T22:18:34.962Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/84/eeee6d477dd9dcb7691c3bb9d08df56017f5dd15c730bcc9383dcf201cf4/multidict-6.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8bd2b875f4ca2bb527fe23e318ddd509b7df163407b0fb717df229041c6df5d3", size = 228982, upload_time = "2025-04-10T22:18:36.443Z" },
+ { url = "https://files.pythonhosted.org/packages/82/94/4d1f3e74e7acf8b0c85db350e012dcc61701cd6668bc2440bb1ecb423c90/multidict-6.4.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c2e98c840c9c8e65c0e04b40c6c5066c8632678cd50c8721fdbcd2e09f21a507", size = 226823, upload_time = "2025-04-10T22:18:37.924Z" },
+ { url = "https://files.pythonhosted.org/packages/09/f0/1e54b95bda7cd01080e5732f9abb7b76ab5cc795b66605877caeb2197476/multidict-6.4.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:66eb80dd0ab36dbd559635e62fba3083a48a252633164857a1d1684f14326427", size = 222714, upload_time = "2025-04-10T22:18:39.807Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/a2/f6cbca875195bd65a3e53b37ab46486f3cc125bdeab20eefe5042afa31fb/multidict-6.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c23831bdee0a2a3cf21be057b5e5326292f60472fb6c6f86392bbf0de70ba731", size = 233739, upload_time = "2025-04-10T22:18:41.341Z" },
+ { url = "https://files.pythonhosted.org/packages/79/68/9891f4d2b8569554723ddd6154375295f789dc65809826c6fb96a06314fd/multidict-6.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1535cec6443bfd80d028052e9d17ba6ff8a5a3534c51d285ba56c18af97e9713", size = 230809, upload_time = "2025-04-10T22:18:42.817Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/72/a7be29ba1e87e4fc5ceb44dabc7940b8005fd2436a332a23547709315f70/multidict-6.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3b73e7227681f85d19dec46e5b881827cd354aabe46049e1a61d2f9aaa4e285a", size = 226934, upload_time = "2025-04-10T22:18:44.311Z" },
+ { url = "https://files.pythonhosted.org/packages/12/c1/259386a9ad6840ff7afc686da96808b503d152ac4feb3a96c651dc4f5abf/multidict-6.4.3-cp312-cp312-win32.whl", hash = "sha256:8eac0c49df91b88bf91f818e0a24c1c46f3622978e2c27035bfdca98e0e18124", size = 35242, upload_time = "2025-04-10T22:18:46.193Z" },
+ { url = "https://files.pythonhosted.org/packages/06/24/c8fdff4f924d37225dc0c56a28b1dca10728fc2233065fafeb27b4b125be/multidict-6.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:11990b5c757d956cd1db7cb140be50a63216af32cd6506329c2c59d732d802db", size = 38635, upload_time = "2025-04-10T22:18:47.498Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/4b/86fd786d03915c6f49998cf10cd5fe6b6ac9e9a071cb40885d2e080fb90d/multidict-6.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a76534263d03ae0cfa721fea40fd2b5b9d17a6f85e98025931d41dc49504474", size = 63831, upload_time = "2025-04-10T22:18:48.748Z" },
+ { url = "https://files.pythonhosted.org/packages/45/05/9b51fdf7aef2563340a93be0a663acba2c428c4daeaf3960d92d53a4a930/multidict-6.4.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:805031c2f599eee62ac579843555ed1ce389ae00c7e9f74c2a1b45e0564a88dd", size = 37888, upload_time = "2025-04-10T22:18:50.021Z" },
+ { url = "https://files.pythonhosted.org/packages/0b/43/53fc25394386c911822419b522181227ca450cf57fea76e6188772a1bd91/multidict-6.4.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:c56c179839d5dcf51d565132185409d1d5dd8e614ba501eb79023a6cab25576b", size = 36852, upload_time = "2025-04-10T22:18:51.246Z" },
+ { url = "https://files.pythonhosted.org/packages/8a/68/7b99c751e822467c94a235b810a2fd4047d4ecb91caef6b5c60116991c4b/multidict-6.4.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c64f4ddb3886dd8ab71b68a7431ad4aa01a8fa5be5b11543b29674f29ca0ba3", size = 223644, upload_time = "2025-04-10T22:18:52.965Z" },
+ { url = "https://files.pythonhosted.org/packages/80/1b/d458d791e4dd0f7e92596667784fbf99e5c8ba040affe1ca04f06b93ae92/multidict-6.4.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3002a856367c0b41cad6784f5b8d3ab008eda194ed7864aaa58f65312e2abcac", size = 230446, upload_time = "2025-04-10T22:18:54.509Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/46/9793378d988905491a7806d8987862dc5a0bae8a622dd896c4008c7b226b/multidict-6.4.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3d75e621e7d887d539d6e1d789f0c64271c250276c333480a9e1de089611f790", size = 231070, upload_time = "2025-04-10T22:18:56.019Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/b8/b127d3e1f8dd2a5bf286b47b24567ae6363017292dc6dec44656e6246498/multidict-6.4.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:995015cf4a3c0d72cbf453b10a999b92c5629eaf3a0c3e1efb4b5c1f602253bb", size = 229956, upload_time = "2025-04-10T22:18:59.146Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/93/f70a4c35b103fcfe1443059a2bb7f66e5c35f2aea7804105ff214f566009/multidict-6.4.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a2b0fabae7939d09d7d16a711468c385272fa1b9b7fb0d37e51143585d8e72e0", size = 222599, upload_time = "2025-04-10T22:19:00.657Z" },
+ { url = "https://files.pythonhosted.org/packages/63/8c/e28e0eb2fe34921d6aa32bfc4ac75b09570b4d6818cc95d25499fe08dc1d/multidict-6.4.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:61ed4d82f8a1e67eb9eb04f8587970d78fe7cddb4e4d6230b77eda23d27938f9", size = 216136, upload_time = "2025-04-10T22:19:02.244Z" },
+ { url = "https://files.pythonhosted.org/packages/72/f5/fbc81f866585b05f89f99d108be5d6ad170e3b6c4d0723d1a2f6ba5fa918/multidict-6.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:062428944a8dc69df9fdc5d5fc6279421e5f9c75a9ee3f586f274ba7b05ab3c8", size = 228139, upload_time = "2025-04-10T22:19:04.151Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/ba/7d196bad6b85af2307d81f6979c36ed9665f49626f66d883d6c64d156f78/multidict-6.4.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:b90e27b4674e6c405ad6c64e515a505c6d113b832df52fdacb6b1ffd1fa9a1d1", size = 226251, upload_time = "2025-04-10T22:19:06.117Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/e2/fae46a370dce79d08b672422a33df721ec8b80105e0ea8d87215ff6b090d/multidict-6.4.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7d50d4abf6729921e9613d98344b74241572b751c6b37feed75fb0c37bd5a817", size = 221868, upload_time = "2025-04-10T22:19:07.981Z" },
+ { url = "https://files.pythonhosted.org/packages/26/20/bbc9a3dec19d5492f54a167f08546656e7aef75d181d3d82541463450e88/multidict-6.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:43fe10524fb0a0514be3954be53258e61d87341008ce4914f8e8b92bee6f875d", size = 233106, upload_time = "2025-04-10T22:19:09.5Z" },
+ { url = "https://files.pythonhosted.org/packages/ee/8d/f30ae8f5ff7a2461177f4d8eb0d8f69f27fb6cfe276b54ec4fd5a282d918/multidict-6.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:236966ca6c472ea4e2d3f02f6673ebfd36ba3f23159c323f5a496869bc8e47c9", size = 230163, upload_time = "2025-04-10T22:19:11Z" },
+ { url = "https://files.pythonhosted.org/packages/15/e9/2833f3c218d3c2179f3093f766940ded6b81a49d2e2f9c46ab240d23dfec/multidict-6.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:422a5ec315018e606473ba1f5431e064cf8b2a7468019233dcf8082fabad64c8", size = 225906, upload_time = "2025-04-10T22:19:12.875Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/31/6edab296ac369fd286b845fa5dd4c409e63bc4655ed8c9510fcb477e9ae9/multidict-6.4.3-cp313-cp313-win32.whl", hash = "sha256:f901a5aace8e8c25d78960dcc24c870c8d356660d3b49b93a78bf38eb682aac3", size = 35238, upload_time = "2025-04-10T22:19:14.41Z" },
+ { url = "https://files.pythonhosted.org/packages/23/57/2c0167a1bffa30d9a1383c3dab99d8caae985defc8636934b5668830d2ef/multidict-6.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:1c152c49e42277bc9a2f7b78bd5fa10b13e88d1b0328221e7aef89d5c60a99a5", size = 38799, upload_time = "2025-04-10T22:19:15.869Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/13/2ead63b9ab0d2b3080819268acb297bd66e238070aa8d42af12b08cbee1c/multidict-6.4.3-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:be8751869e28b9c0d368d94f5afcb4234db66fe8496144547b4b6d6a0645cfc6", size = 68642, upload_time = "2025-04-10T22:19:17.527Z" },
+ { url = "https://files.pythonhosted.org/packages/85/45/f1a751e1eede30c23951e2ae274ce8fad738e8a3d5714be73e0a41b27b16/multidict-6.4.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0d4b31f8a68dccbcd2c0ea04f0e014f1defc6b78f0eb8b35f2265e8716a6df0c", size = 40028, upload_time = "2025-04-10T22:19:19.465Z" },
+ { url = "https://files.pythonhosted.org/packages/a7/29/fcc53e886a2cc5595cc4560df333cb9630257bda65003a7eb4e4e0d8f9c1/multidict-6.4.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:032efeab3049e37eef2ff91271884303becc9e54d740b492a93b7e7266e23756", size = 39424, upload_time = "2025-04-10T22:19:20.762Z" },
+ { url = "https://files.pythonhosted.org/packages/f6/f0/056c81119d8b88703971f937b371795cab1407cd3c751482de5bfe1a04a9/multidict-6.4.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e78006af1a7c8a8007e4f56629d7252668344442f66982368ac06522445e375", size = 226178, upload_time = "2025-04-10T22:19:22.17Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/79/3b7e5fea0aa80583d3a69c9d98b7913dfd4fbc341fb10bb2fb48d35a9c21/multidict-6.4.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:daeac9dd30cda8703c417e4fddccd7c4dc0c73421a0b54a7da2713be125846be", size = 222617, upload_time = "2025-04-10T22:19:23.773Z" },
+ { url = "https://files.pythonhosted.org/packages/06/db/3ed012b163e376fc461e1d6a67de69b408339bc31dc83d39ae9ec3bf9578/multidict-6.4.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f6f90700881438953eae443a9c6f8a509808bc3b185246992c4233ccee37fea", size = 227919, upload_time = "2025-04-10T22:19:25.35Z" },
+ { url = "https://files.pythonhosted.org/packages/b1/db/0433c104bca380989bc04d3b841fc83e95ce0c89f680e9ea4251118b52b6/multidict-6.4.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f84627997008390dd15762128dcf73c3365f4ec0106739cde6c20a07ed198ec8", size = 226097, upload_time = "2025-04-10T22:19:27.183Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/95/910db2618175724dd254b7ae635b6cd8d2947a8b76b0376de7b96d814dab/multidict-6.4.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3307b48cd156153b117c0ea54890a3bdbf858a5b296ddd40dc3852e5f16e9b02", size = 220706, upload_time = "2025-04-10T22:19:28.882Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/af/aa176c6f5f1d901aac957d5258d5e22897fe13948d1e69063ae3d5d0ca01/multidict-6.4.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ead46b0fa1dcf5af503a46e9f1c2e80b5d95c6011526352fa5f42ea201526124", size = 211728, upload_time = "2025-04-10T22:19:30.481Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/42/d51cc5fc1527c3717d7f85137d6c79bb7a93cd214c26f1fc57523774dbb5/multidict-6.4.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:1748cb2743bedc339d63eb1bca314061568793acd603a6e37b09a326334c9f44", size = 226276, upload_time = "2025-04-10T22:19:32.454Z" },
+ { url = "https://files.pythonhosted.org/packages/28/6b/d836dea45e0b8432343ba4acf9a8ecaa245da4c0960fb7ab45088a5e568a/multidict-6.4.3-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:acc9fa606f76fc111b4569348cc23a771cb52c61516dcc6bcef46d612edb483b", size = 212069, upload_time = "2025-04-10T22:19:34.17Z" },
+ { url = "https://files.pythonhosted.org/packages/55/34/0ee1a7adb3560e18ee9289c6e5f7db54edc312b13e5c8263e88ea373d12c/multidict-6.4.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:31469d5832b5885adeb70982e531ce86f8c992334edd2f2254a10fa3182ac504", size = 217858, upload_time = "2025-04-10T22:19:35.879Z" },
+ { url = "https://files.pythonhosted.org/packages/04/08/586d652c2f5acefe0cf4e658eedb4d71d4ba6dfd4f189bd81b400fc1bc6b/multidict-6.4.3-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:ba46b51b6e51b4ef7bfb84b82f5db0dc5e300fb222a8a13b8cd4111898a869cf", size = 226988, upload_time = "2025-04-10T22:19:37.434Z" },
+ { url = "https://files.pythonhosted.org/packages/82/e3/cc59c7e2bc49d7f906fb4ffb6d9c3a3cf21b9f2dd9c96d05bef89c2b1fd1/multidict-6.4.3-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:389cfefb599edf3fcfd5f64c0410da686f90f5f5e2c4d84e14f6797a5a337af4", size = 220435, upload_time = "2025-04-10T22:19:39.005Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/32/5c3a556118aca9981d883f38c4b1bfae646f3627157f70f4068e5a648955/multidict-6.4.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:64bc2bbc5fba7b9db5c2c8d750824f41c6994e3882e6d73c903c2afa78d091e4", size = 221494, upload_time = "2025-04-10T22:19:41.447Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/3b/1599631f59024b75c4d6e3069f4502409970a336647502aaf6b62fb7ac98/multidict-6.4.3-cp313-cp313t-win32.whl", hash = "sha256:0ecdc12ea44bab2807d6b4a7e5eef25109ab1c82a8240d86d3c1fc9f3b72efd5", size = 41775, upload_time = "2025-04-10T22:19:43.707Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/4e/09301668d675d02ca8e8e1a3e6be046619e30403f5ada2ed5b080ae28d02/multidict-6.4.3-cp313-cp313t-win_amd64.whl", hash = "sha256:7146a8742ea71b5d7d955bffcef58a9e6e04efba704b52a460134fefd10a8208", size = 45946, upload_time = "2025-04-10T22:19:45.071Z" },
+ { url = "https://files.pythonhosted.org/packages/96/10/7d526c8974f017f1e7ca584c71ee62a638e9334d8d33f27d7cdfc9ae79e4/multidict-6.4.3-py3-none-any.whl", hash = "sha256:59fe01ee8e2a1e8ceb3f6dbb216b09c8d9f4ef1c22c4fc825d045a147fa2ebc9", size = 10400, upload_time = "2025-04-10T22:20:16.445Z" },
]
[[package]]
name = "nodeenv"
version = "1.9.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437 }
+sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload_time = "2024-06-04T18:44:11.171Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314 },
+ { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload_time = "2024-06-04T18:44:08.352Z" },
]
[[package]]
name = "openapi-core"
-version = "0.19.4"
+version = "0.19.5"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "isodate" },
@@ -664,11 +709,12 @@ dependencies = [
{ name = "openapi-schema-validator" },
{ name = "openapi-spec-validator" },
{ name = "parse" },
+ { name = "typing-extensions" },
{ name = "werkzeug" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/34/b9/a769ae516c7f016465b2d9abc6e8dc4d5a1b54c57ab99b3cc95e9587955f/openapi_core-0.19.4.tar.gz", hash = "sha256:1150d9daa5e7b4cacfd7d7e097333dc89382d7d72703934128dcf8a1a4d0df49", size = 109095 }
+sdist = { url = "https://files.pythonhosted.org/packages/b1/35/1acaa5f2fcc6e54eded34a2ec74b479439c4e469fc4e8d0e803fda0234db/openapi_core-0.19.5.tar.gz", hash = "sha256:421e753da56c391704454e66afe4803a290108590ac8fa6f4a4487f4ec11f2d3", size = 103264, upload_time = "2025-03-20T20:17:28.193Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d2/b3/4534adc8bac68a5d743caa786f1443545faed4d7cc7a5650b2d49255adfc/openapi_core-0.19.4-py3-none-any.whl", hash = "sha256:38e8347b6ebeafe8d3beb588214ecf0171874bb65411e9d4efd23cb011687201", size = 103714 },
+ { url = "https://files.pythonhosted.org/packages/27/6f/83ead0e2e30a90445ee4fc0135f43741aebc30cca5b43f20968b603e30b6/openapi_core-0.19.5-py3-none-any.whl", hash = "sha256:ef7210e83a59394f46ce282639d8d26ad6fc8094aa904c9c16eb1bac8908911f", size = 106595, upload_time = "2025-03-20T20:17:26.77Z" },
]
[[package]]
@@ -680,9 +726,9 @@ dependencies = [
{ name = "jsonschema-specifications" },
{ name = "rfc3339-validator" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/8b/f3/5507ad3325169347cd8ced61c232ff3df70e2b250c49f0fe140edb4973c6/openapi_schema_validator-0.6.3.tar.gz", hash = "sha256:f37bace4fc2a5d96692f4f8b31dc0f8d7400fd04f3a937798eaf880d425de6ee", size = 11550 }
+sdist = { url = "https://files.pythonhosted.org/packages/8b/f3/5507ad3325169347cd8ced61c232ff3df70e2b250c49f0fe140edb4973c6/openapi_schema_validator-0.6.3.tar.gz", hash = "sha256:f37bace4fc2a5d96692f4f8b31dc0f8d7400fd04f3a937798eaf880d425de6ee", size = 11550, upload_time = "2025-01-10T18:08:22.268Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/21/c6/ad0fba32775ae749016829dace42ed80f4407b171da41313d1a3a5f102e4/openapi_schema_validator-0.6.3-py3-none-any.whl", hash = "sha256:f3b9870f4e556b5a62a1c39da72a6b4b16f3ad9c73dc80084b1b11e74ba148a3", size = 8755 },
+ { url = "https://files.pythonhosted.org/packages/21/c6/ad0fba32775ae749016829dace42ed80f4407b171da41313d1a3a5f102e4/openapi_schema_validator-0.6.3-py3-none-any.whl", hash = "sha256:f3b9870f4e556b5a62a1c39da72a6b4b16f3ad9c73dc80084b1b11e74ba148a3", size = 8755, upload_time = "2025-01-10T18:08:19.758Z" },
]
[[package]]
@@ -695,59 +741,59 @@ dependencies = [
{ name = "lazy-object-proxy" },
{ name = "openapi-schema-validator" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/67/fe/21954ff978239dc29ebb313f5c87eeb4ec929b694b9667323086730998e2/openapi_spec_validator-0.7.1.tar.gz", hash = "sha256:8577b85a8268685da6f8aa30990b83b7960d4d1117e901d451b5d572605e5ec7", size = 37985 }
+sdist = { url = "https://files.pythonhosted.org/packages/67/fe/21954ff978239dc29ebb313f5c87eeb4ec929b694b9667323086730998e2/openapi_spec_validator-0.7.1.tar.gz", hash = "sha256:8577b85a8268685da6f8aa30990b83b7960d4d1117e901d451b5d572605e5ec7", size = 37985, upload_time = "2023-10-13T11:43:40.53Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/2b/4d/e744fff95aaf3aeafc968d5ba7297c8cda0d1ecb8e3acd21b25adae4d835/openapi_spec_validator-0.7.1-py3-none-any.whl", hash = "sha256:3c81825043f24ccbcd2f4b149b11e8231abce5ba84f37065e14ec947d8f4e959", size = 38998 },
+ { url = "https://files.pythonhosted.org/packages/2b/4d/e744fff95aaf3aeafc968d5ba7297c8cda0d1ecb8e3acd21b25adae4d835/openapi_spec_validator-0.7.1-py3-none-any.whl", hash = "sha256:3c81825043f24ccbcd2f4b149b11e8231abce5ba84f37065e14ec947d8f4e959", size = 38998, upload_time = "2023-10-13T11:43:38.371Z" },
]
[[package]]
name = "packaging"
-version = "24.2"
+version = "25.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/d0/63/68dbb6eb2de9cb10ee4c9c14a0148804425e13c4fb20d61cce69f53106da/packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f", size = 163950 }
+sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload_time = "2025-04-19T11:48:59.673Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759", size = 65451 },
+ { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload_time = "2025-04-19T11:48:57.875Z" },
]
[[package]]
name = "parse"
version = "1.20.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/4f/78/d9b09ba24bb36ef8b83b71be547e118d46214735b6dfb39e4bfde0e9b9dd/parse-1.20.2.tar.gz", hash = "sha256:b41d604d16503c79d81af5165155c0b20f6c8d6c559efa66b4b695c3e5a0a0ce", size = 29391 }
+sdist = { url = "https://files.pythonhosted.org/packages/4f/78/d9b09ba24bb36ef8b83b71be547e118d46214735b6dfb39e4bfde0e9b9dd/parse-1.20.2.tar.gz", hash = "sha256:b41d604d16503c79d81af5165155c0b20f6c8d6c559efa66b4b695c3e5a0a0ce", size = 29391, upload_time = "2024-06-11T04:41:57.34Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d0/31/ba45bf0b2aa7898d81cbbfac0e88c267befb59ad91a19e36e1bc5578ddb1/parse-1.20.2-py2.py3-none-any.whl", hash = "sha256:967095588cb802add9177d0c0b6133b5ba33b1ea9007ca800e526f42a85af558", size = 20126 },
+ { url = "https://files.pythonhosted.org/packages/d0/31/ba45bf0b2aa7898d81cbbfac0e88c267befb59ad91a19e36e1bc5578ddb1/parse-1.20.2-py2.py3-none-any.whl", hash = "sha256:967095588cb802add9177d0c0b6133b5ba33b1ea9007ca800e526f42a85af558", size = 20126, upload_time = "2024-06-11T04:41:55.057Z" },
]
[[package]]
name = "pathable"
version = "0.4.4"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/67/93/8f2c2075b180c12c1e9f6a09d1a985bc2036906b13dff1d8917e395f2048/pathable-0.4.4.tar.gz", hash = "sha256:6905a3cd17804edfac7875b5f6c9142a218c7caef78693c2dbbbfbac186d88b2", size = 8124 }
+sdist = { url = "https://files.pythonhosted.org/packages/67/93/8f2c2075b180c12c1e9f6a09d1a985bc2036906b13dff1d8917e395f2048/pathable-0.4.4.tar.gz", hash = "sha256:6905a3cd17804edfac7875b5f6c9142a218c7caef78693c2dbbbfbac186d88b2", size = 8124, upload_time = "2025-01-10T18:43:13.247Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/7d/eb/b6260b31b1a96386c0a880edebe26f89669098acea8e0318bff6adb378fd/pathable-0.4.4-py3-none-any.whl", hash = "sha256:5ae9e94793b6ef5a4cbe0a7ce9dbbefc1eec38df253763fd0aeeacf2762dbbc2", size = 9592 },
+ { url = "https://files.pythonhosted.org/packages/7d/eb/b6260b31b1a96386c0a880edebe26f89669098acea8e0318bff6adb378fd/pathable-0.4.4-py3-none-any.whl", hash = "sha256:5ae9e94793b6ef5a4cbe0a7ce9dbbefc1eec38df253763fd0aeeacf2762dbbc2", size = 9592, upload_time = "2025-01-10T18:43:11.88Z" },
]
[[package]]
name = "platformdirs"
-version = "4.3.6"
+version = "4.3.7"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/13/fc/128cc9cb8f03208bdbf93d3aa862e16d376844a14f9a0ce5cf4507372de4/platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907", size = 21302 }
+sdist = { url = "https://files.pythonhosted.org/packages/b6/2d/7d512a3913d60623e7eb945c6d1b4f0bddf1d0b7ada5225274c87e5b53d1/platformdirs-4.3.7.tar.gz", hash = "sha256:eb437d586b6a0986388f0d6f74aa0cde27b48d0e3d66843640bfb6bdcdb6e351", size = 21291, upload_time = "2025-03-19T20:36:10.989Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/3c/a6/bc1012356d8ece4d66dd75c4b9fc6c1f6650ddd5991e421177d9f8f671be/platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb", size = 18439 },
+ { url = "https://files.pythonhosted.org/packages/6d/45/59578566b3275b8fd9157885918fcd0c4d74162928a5310926887b856a51/platformdirs-4.3.7-py3-none-any.whl", hash = "sha256:a03875334331946f13c549dbd8f4bac7a13a50a895a0eb1e8c6a8ace80d40a94", size = 18499, upload_time = "2025-03-19T20:36:09.038Z" },
]
[[package]]
name = "pluggy"
version = "1.5.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955 }
+sdist = { url = "https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1", size = 67955, upload_time = "2024-04-20T21:34:42.531Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556 },
+ { url = "https://files.pythonhosted.org/packages/88/5f/e351af9a41f866ac3f1fac4ca0613908d9a41741cfcf2228f4ad853b697d/pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669", size = 20556, upload_time = "2024-04-20T21:34:40.434Z" },
]
[[package]]
name = "pre-commit"
-version = "4.1.0"
+version = "4.2.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "cfgv" },
@@ -756,160 +802,190 @@ dependencies = [
{ name = "pyyaml" },
{ name = "virtualenv" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/2a/13/b62d075317d8686071eb843f0bb1f195eb332f48869d3c31a4c6f1e063ac/pre_commit-4.1.0.tar.gz", hash = "sha256:ae3f018575a588e30dfddfab9a05448bfbd6b73d78709617b5a2b853549716d4", size = 193330 }
+sdist = { url = "https://files.pythonhosted.org/packages/08/39/679ca9b26c7bb2999ff122d50faa301e49af82ca9c066ec061cfbc0c6784/pre_commit-4.2.0.tar.gz", hash = "sha256:601283b9757afd87d40c4c4a9b2b5de9637a8ea02eaff7adc2d0fb4e04841146", size = 193424, upload_time = "2025-03-18T21:35:20.987Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/43/b3/df14c580d82b9627d173ceea305ba898dca135feb360b6d84019d0803d3b/pre_commit-4.1.0-py2.py3-none-any.whl", hash = "sha256:d29e7cb346295bcc1cc75fc3e92e343495e3ea0196c9ec6ba53f49f10ab6ae7b", size = 220560 },
+ { url = "https://files.pythonhosted.org/packages/88/74/a88bf1b1efeae488a0c0b7bdf71429c313722d1fc0f377537fbe554e6180/pre_commit-4.2.0-py2.py3-none-any.whl", hash = "sha256:a009ca7205f1eb497d10b845e52c838a98b6cdd2102a6c8e4540e94ee75c58bd", size = 220707, upload_time = "2025-03-18T21:35:19.343Z" },
]
[[package]]
name = "propcache"
-version = "0.2.1"
+version = "0.3.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/20/c8/2a13f78d82211490855b2fb303b6721348d0787fdd9a12ac46d99d3acde1/propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64", size = 41735 }
+sdist = { url = "https://files.pythonhosted.org/packages/07/c8/fdc6686a986feae3541ea23dcaa661bd93972d3940460646c6bb96e21c40/propcache-0.3.1.tar.gz", hash = "sha256:40d980c33765359098837527e18eddefc9a24cea5b45e078a7f3bb5b032c6ecf", size = 43651, upload_time = "2025-03-26T03:06:12.05Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/bc/0f/2913b6791ebefb2b25b4efd4bb2299c985e09786b9f5b19184a88e5778dd/propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16", size = 79297 },
- { url = "https://files.pythonhosted.org/packages/cf/73/af2053aeccd40b05d6e19058419ac77674daecdd32478088b79375b9ab54/propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717", size = 45611 },
- { url = "https://files.pythonhosted.org/packages/3c/09/8386115ba7775ea3b9537730e8cf718d83bbf95bffe30757ccf37ec4e5da/propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3", size = 45146 },
- { url = "https://files.pythonhosted.org/packages/03/7a/793aa12f0537b2e520bf09f4c6833706b63170a211ad042ca71cbf79d9cb/propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9", size = 232136 },
- { url = "https://files.pythonhosted.org/packages/f1/38/b921b3168d72111769f648314100558c2ea1d52eb3d1ba7ea5c4aa6f9848/propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787", size = 239706 },
- { url = "https://files.pythonhosted.org/packages/14/29/4636f500c69b5edea7786db3c34eb6166f3384b905665ce312a6e42c720c/propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465", size = 238531 },
- { url = "https://files.pythonhosted.org/packages/85/14/01fe53580a8e1734ebb704a3482b7829a0ef4ea68d356141cf0994d9659b/propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af", size = 231063 },
- { url = "https://files.pythonhosted.org/packages/33/5c/1d961299f3c3b8438301ccfbff0143b69afcc30c05fa28673cface692305/propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7", size = 220134 },
- { url = "https://files.pythonhosted.org/packages/00/d0/ed735e76db279ba67a7d3b45ba4c654e7b02bc2f8050671ec365d8665e21/propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f", size = 220009 },
- { url = "https://files.pythonhosted.org/packages/75/90/ee8fab7304ad6533872fee982cfff5a53b63d095d78140827d93de22e2d4/propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54", size = 212199 },
- { url = "https://files.pythonhosted.org/packages/eb/ec/977ffaf1664f82e90737275873461695d4c9407d52abc2f3c3e24716da13/propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505", size = 214827 },
- { url = "https://files.pythonhosted.org/packages/57/48/031fb87ab6081764054821a71b71942161619549396224cbb242922525e8/propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82", size = 228009 },
- { url = "https://files.pythonhosted.org/packages/1a/06/ef1390f2524850838f2390421b23a8b298f6ce3396a7cc6d39dedd4047b0/propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca", size = 231638 },
- { url = "https://files.pythonhosted.org/packages/38/2a/101e6386d5a93358395da1d41642b79c1ee0f3b12e31727932b069282b1d/propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e", size = 222788 },
- { url = "https://files.pythonhosted.org/packages/db/81/786f687951d0979007e05ad9346cd357e50e3d0b0f1a1d6074df334b1bbb/propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034", size = 40170 },
- { url = "https://files.pythonhosted.org/packages/cf/59/7cc7037b295d5772eceb426358bb1b86e6cab4616d971bd74275395d100d/propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3", size = 44404 },
- { url = "https://files.pythonhosted.org/packages/4c/28/1d205fe49be8b1b4df4c50024e62480a442b1a7b818e734308bb0d17e7fb/propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a", size = 79588 },
- { url = "https://files.pythonhosted.org/packages/21/ee/fc4d893f8d81cd4971affef2a6cb542b36617cd1d8ce56b406112cb80bf7/propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0", size = 45825 },
- { url = "https://files.pythonhosted.org/packages/4a/de/bbe712f94d088da1d237c35d735f675e494a816fd6f54e9db2f61ef4d03f/propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d", size = 45357 },
- { url = "https://files.pythonhosted.org/packages/7f/14/7ae06a6cf2a2f1cb382586d5a99efe66b0b3d0c6f9ac2f759e6f7af9d7cf/propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4", size = 241869 },
- { url = "https://files.pythonhosted.org/packages/cc/59/227a78be960b54a41124e639e2c39e8807ac0c751c735a900e21315f8c2b/propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d", size = 247884 },
- { url = "https://files.pythonhosted.org/packages/84/58/f62b4ffaedf88dc1b17f04d57d8536601e4e030feb26617228ef930c3279/propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5", size = 248486 },
- { url = "https://files.pythonhosted.org/packages/1c/07/ebe102777a830bca91bbb93e3479cd34c2ca5d0361b83be9dbd93104865e/propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24", size = 243649 },
- { url = "https://files.pythonhosted.org/packages/ed/bc/4f7aba7f08f520376c4bb6a20b9a981a581b7f2e385fa0ec9f789bb2d362/propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff", size = 229103 },
- { url = "https://files.pythonhosted.org/packages/fe/d5/04ac9cd4e51a57a96f78795e03c5a0ddb8f23ec098b86f92de028d7f2a6b/propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f", size = 226607 },
- { url = "https://files.pythonhosted.org/packages/e3/f0/24060d959ea41d7a7cc7fdbf68b31852331aabda914a0c63bdb0e22e96d6/propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec", size = 221153 },
- { url = "https://files.pythonhosted.org/packages/77/a7/3ac76045a077b3e4de4859a0753010765e45749bdf53bd02bc4d372da1a0/propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348", size = 222151 },
- { url = "https://files.pythonhosted.org/packages/e7/af/5e29da6f80cebab3f5a4dcd2a3240e7f56f2c4abf51cbfcc99be34e17f0b/propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6", size = 233812 },
- { url = "https://files.pythonhosted.org/packages/8c/89/ebe3ad52642cc5509eaa453e9f4b94b374d81bae3265c59d5c2d98efa1b4/propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6", size = 238829 },
- { url = "https://files.pythonhosted.org/packages/e9/2f/6b32f273fa02e978b7577159eae7471b3cfb88b48563b1c2578b2d7ca0bb/propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518", size = 230704 },
- { url = "https://files.pythonhosted.org/packages/5c/2e/f40ae6ff5624a5f77edd7b8359b208b5455ea113f68309e2b00a2e1426b6/propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246", size = 40050 },
- { url = "https://files.pythonhosted.org/packages/3b/77/a92c3ef994e47180862b9d7d11e37624fb1c00a16d61faf55115d970628b/propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1", size = 44117 },
- { url = "https://files.pythonhosted.org/packages/0f/2a/329e0547cf2def8857157f9477669043e75524cc3e6251cef332b3ff256f/propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc", size = 77002 },
- { url = "https://files.pythonhosted.org/packages/12/2d/c4df5415e2382f840dc2ecbca0eeb2293024bc28e57a80392f2012b4708c/propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9", size = 44639 },
- { url = "https://files.pythonhosted.org/packages/d0/5a/21aaa4ea2f326edaa4e240959ac8b8386ea31dedfdaa636a3544d9e7a408/propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439", size = 44049 },
- { url = "https://files.pythonhosted.org/packages/4e/3e/021b6cd86c0acc90d74784ccbb66808b0bd36067a1bf3e2deb0f3845f618/propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536", size = 224819 },
- { url = "https://files.pythonhosted.org/packages/3c/57/c2fdeed1b3b8918b1770a133ba5c43ad3d78e18285b0c06364861ef5cc38/propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629", size = 229625 },
- { url = "https://files.pythonhosted.org/packages/9d/81/70d4ff57bf2877b5780b466471bebf5892f851a7e2ca0ae7ffd728220281/propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b", size = 232934 },
- { url = "https://files.pythonhosted.org/packages/3c/b9/bb51ea95d73b3fb4100cb95adbd4e1acaf2cbb1fd1083f5468eeb4a099a8/propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052", size = 227361 },
- { url = "https://files.pythonhosted.org/packages/f1/20/3c6d696cd6fd70b29445960cc803b1851a1131e7a2e4ee261ee48e002bcd/propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce", size = 213904 },
- { url = "https://files.pythonhosted.org/packages/a1/cb/1593bfc5ac6d40c010fa823f128056d6bc25b667f5393781e37d62f12005/propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d", size = 212632 },
- { url = "https://files.pythonhosted.org/packages/6d/5c/e95617e222be14a34c709442a0ec179f3207f8a2b900273720501a70ec5e/propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce", size = 207897 },
- { url = "https://files.pythonhosted.org/packages/8e/3b/56c5ab3dc00f6375fbcdeefdede5adf9bee94f1fab04adc8db118f0f9e25/propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95", size = 208118 },
- { url = "https://files.pythonhosted.org/packages/86/25/d7ef738323fbc6ebcbce33eb2a19c5e07a89a3df2fded206065bd5e868a9/propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf", size = 217851 },
- { url = "https://files.pythonhosted.org/packages/b3/77/763e6cef1852cf1ba740590364ec50309b89d1c818e3256d3929eb92fabf/propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f", size = 222630 },
- { url = "https://files.pythonhosted.org/packages/4f/e9/0f86be33602089c701696fbed8d8c4c07b6ee9605c5b7536fd27ed540c5b/propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30", size = 216269 },
- { url = "https://files.pythonhosted.org/packages/cc/02/5ac83217d522394b6a2e81a2e888167e7ca629ef6569a3f09852d6dcb01a/propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6", size = 39472 },
- { url = "https://files.pythonhosted.org/packages/f4/33/d6f5420252a36034bc8a3a01171bc55b4bff5df50d1c63d9caa50693662f/propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1", size = 43363 },
- { url = "https://files.pythonhosted.org/packages/41/b6/c5319caea262f4821995dca2107483b94a3345d4607ad797c76cb9c36bcc/propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54", size = 11818 },
+ { url = "https://files.pythonhosted.org/packages/90/0f/5a5319ee83bd651f75311fcb0c492c21322a7fc8f788e4eef23f44243427/propcache-0.3.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7f30241577d2fef2602113b70ef7231bf4c69a97e04693bde08ddab913ba0ce5", size = 80243, upload_time = "2025-03-26T03:04:01.912Z" },
+ { url = "https://files.pythonhosted.org/packages/ce/84/3db5537e0879942783e2256616ff15d870a11d7ac26541336fe1b673c818/propcache-0.3.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:43593c6772aa12abc3af7784bff4a41ffa921608dd38b77cf1dfd7f5c4e71371", size = 46503, upload_time = "2025-03-26T03:04:03.704Z" },
+ { url = "https://files.pythonhosted.org/packages/e2/c8/b649ed972433c3f0d827d7f0cf9ea47162f4ef8f4fe98c5f3641a0bc63ff/propcache-0.3.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:a75801768bbe65499495660b777e018cbe90c7980f07f8aa57d6be79ea6f71da", size = 45934, upload_time = "2025-03-26T03:04:05.257Z" },
+ { url = "https://files.pythonhosted.org/packages/59/f9/4c0a5cf6974c2c43b1a6810c40d889769cc8f84cea676cbe1e62766a45f8/propcache-0.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f6f1324db48f001c2ca26a25fa25af60711e09b9aaf4b28488602776f4f9a744", size = 233633, upload_time = "2025-03-26T03:04:07.044Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/64/66f2f4d1b4f0007c6e9078bd95b609b633d3957fe6dd23eac33ebde4b584/propcache-0.3.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5cdb0f3e1eb6dfc9965d19734d8f9c481b294b5274337a8cb5cb01b462dcb7e0", size = 241124, upload_time = "2025-03-26T03:04:08.676Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/bf/7b8c9fd097d511638fa9b6af3d986adbdf567598a567b46338c925144c1b/propcache-0.3.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1eb34d90aac9bfbced9a58b266f8946cb5935869ff01b164573a7634d39fbcb5", size = 240283, upload_time = "2025-03-26T03:04:10.172Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/c9/e85aeeeaae83358e2a1ef32d6ff50a483a5d5248bc38510d030a6f4e2816/propcache-0.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f35c7070eeec2cdaac6fd3fe245226ed2a6292d3ee8c938e5bb645b434c5f256", size = 232498, upload_time = "2025-03-26T03:04:11.616Z" },
+ { url = "https://files.pythonhosted.org/packages/8e/66/acb88e1f30ef5536d785c283af2e62931cb934a56a3ecf39105887aa8905/propcache-0.3.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b23c11c2c9e6d4e7300c92e022046ad09b91fd00e36e83c44483df4afa990073", size = 221486, upload_time = "2025-03-26T03:04:13.102Z" },
+ { url = "https://files.pythonhosted.org/packages/f5/f9/233ddb05ffdcaee4448508ee1d70aa7deff21bb41469ccdfcc339f871427/propcache-0.3.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3e19ea4ea0bf46179f8a3652ac1426e6dcbaf577ce4b4f65be581e237340420d", size = 222675, upload_time = "2025-03-26T03:04:14.658Z" },
+ { url = "https://files.pythonhosted.org/packages/98/b8/eb977e28138f9e22a5a789daf608d36e05ed93093ef12a12441030da800a/propcache-0.3.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:bd39c92e4c8f6cbf5f08257d6360123af72af9f4da75a690bef50da77362d25f", size = 215727, upload_time = "2025-03-26T03:04:16.207Z" },
+ { url = "https://files.pythonhosted.org/packages/89/2d/5f52d9c579f67b8ee1edd9ec073c91b23cc5b7ff7951a1e449e04ed8fdf3/propcache-0.3.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:b0313e8b923b3814d1c4a524c93dfecea5f39fa95601f6a9b1ac96cd66f89ea0", size = 217878, upload_time = "2025-03-26T03:04:18.11Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/fd/5283e5ed8a82b00c7a989b99bb6ea173db1ad750bf0bf8dff08d3f4a4e28/propcache-0.3.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e861ad82892408487be144906a368ddbe2dc6297074ade2d892341b35c59844a", size = 230558, upload_time = "2025-03-26T03:04:19.562Z" },
+ { url = "https://files.pythonhosted.org/packages/90/38/ab17d75938ef7ac87332c588857422ae126b1c76253f0f5b1242032923ca/propcache-0.3.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:61014615c1274df8da5991a1e5da85a3ccb00c2d4701ac6f3383afd3ca47ab0a", size = 233754, upload_time = "2025-03-26T03:04:21.065Z" },
+ { url = "https://files.pythonhosted.org/packages/06/5d/3b921b9c60659ae464137508d3b4c2b3f52f592ceb1964aa2533b32fcf0b/propcache-0.3.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:71ebe3fe42656a2328ab08933d420df5f3ab121772eef78f2dc63624157f0ed9", size = 226088, upload_time = "2025-03-26T03:04:22.718Z" },
+ { url = "https://files.pythonhosted.org/packages/54/6e/30a11f4417d9266b5a464ac5a8c5164ddc9dd153dfa77bf57918165eb4ae/propcache-0.3.1-cp311-cp311-win32.whl", hash = "sha256:58aa11f4ca8b60113d4b8e32d37e7e78bd8af4d1a5b5cb4979ed856a45e62005", size = 40859, upload_time = "2025-03-26T03:04:24.039Z" },
+ { url = "https://files.pythonhosted.org/packages/1d/3a/8a68dd867da9ca2ee9dfd361093e9cb08cb0f37e5ddb2276f1b5177d7731/propcache-0.3.1-cp311-cp311-win_amd64.whl", hash = "sha256:9532ea0b26a401264b1365146c440a6d78269ed41f83f23818d4b79497aeabe7", size = 45153, upload_time = "2025-03-26T03:04:25.211Z" },
+ { url = "https://files.pythonhosted.org/packages/41/aa/ca78d9be314d1e15ff517b992bebbed3bdfef5b8919e85bf4940e57b6137/propcache-0.3.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f78eb8422acc93d7b69964012ad7048764bb45a54ba7a39bb9e146c72ea29723", size = 80430, upload_time = "2025-03-26T03:04:26.436Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/d8/f0c17c44d1cda0ad1979af2e593ea290defdde9eaeb89b08abbe02a5e8e1/propcache-0.3.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:89498dd49c2f9a026ee057965cdf8192e5ae070ce7d7a7bd4b66a8e257d0c976", size = 46637, upload_time = "2025-03-26T03:04:27.932Z" },
+ { url = "https://files.pythonhosted.org/packages/ae/bd/c1e37265910752e6e5e8a4c1605d0129e5b7933c3dc3cf1b9b48ed83b364/propcache-0.3.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:09400e98545c998d57d10035ff623266927cb784d13dd2b31fd33b8a5316b85b", size = 46123, upload_time = "2025-03-26T03:04:30.659Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/b0/911eda0865f90c0c7e9f0415d40a5bf681204da5fd7ca089361a64c16b28/propcache-0.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa8efd8c5adc5a2c9d3b952815ff8f7710cefdcaf5f2c36d26aff51aeca2f12f", size = 243031, upload_time = "2025-03-26T03:04:31.977Z" },
+ { url = "https://files.pythonhosted.org/packages/0a/06/0da53397c76a74271621807265b6eb61fb011451b1ddebf43213df763669/propcache-0.3.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c2fe5c910f6007e716a06d269608d307b4f36e7babee5f36533722660e8c4a70", size = 249100, upload_time = "2025-03-26T03:04:33.45Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/eb/13090e05bf6b963fc1653cdc922133ced467cb4b8dab53158db5a37aa21e/propcache-0.3.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a0ab8cf8cdd2194f8ff979a43ab43049b1df0b37aa64ab7eca04ac14429baeb7", size = 250170, upload_time = "2025-03-26T03:04:35.542Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/4c/f72c9e1022b3b043ec7dc475a0f405d4c3e10b9b1d378a7330fecf0652da/propcache-0.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:563f9d8c03ad645597b8d010ef4e9eab359faeb11a0a2ac9f7b4bc8c28ebef25", size = 245000, upload_time = "2025-03-26T03:04:37.501Z" },
+ { url = "https://files.pythonhosted.org/packages/e8/fd/970ca0e22acc829f1adf5de3724085e778c1ad8a75bec010049502cb3a86/propcache-0.3.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fb6e0faf8cb6b4beea5d6ed7b5a578254c6d7df54c36ccd3d8b3eb00d6770277", size = 230262, upload_time = "2025-03-26T03:04:39.532Z" },
+ { url = "https://files.pythonhosted.org/packages/c4/42/817289120c6b9194a44f6c3e6b2c3277c5b70bbad39e7df648f177cc3634/propcache-0.3.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1c5c7ab7f2bb3f573d1cb921993006ba2d39e8621019dffb1c5bc94cdbae81e8", size = 236772, upload_time = "2025-03-26T03:04:41.109Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/9c/3b3942b302badd589ad6b672da3ca7b660a6c2f505cafd058133ddc73918/propcache-0.3.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:050b571b2e96ec942898f8eb46ea4bfbb19bd5502424747e83badc2d4a99a44e", size = 231133, upload_time = "2025-03-26T03:04:42.544Z" },
+ { url = "https://files.pythonhosted.org/packages/98/a1/75f6355f9ad039108ff000dfc2e19962c8dea0430da9a1428e7975cf24b2/propcache-0.3.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e1c4d24b804b3a87e9350f79e2371a705a188d292fd310e663483af6ee6718ee", size = 230741, upload_time = "2025-03-26T03:04:44.06Z" },
+ { url = "https://files.pythonhosted.org/packages/67/0c/3e82563af77d1f8731132166da69fdfd95e71210e31f18edce08a1eb11ea/propcache-0.3.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:e4fe2a6d5ce975c117a6bb1e8ccda772d1e7029c1cca1acd209f91d30fa72815", size = 244047, upload_time = "2025-03-26T03:04:45.983Z" },
+ { url = "https://files.pythonhosted.org/packages/f7/50/9fb7cca01532a08c4d5186d7bb2da6c4c587825c0ae134b89b47c7d62628/propcache-0.3.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:feccd282de1f6322f56f6845bf1207a537227812f0a9bf5571df52bb418d79d5", size = 246467, upload_time = "2025-03-26T03:04:47.699Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/02/ccbcf3e1c604c16cc525309161d57412c23cf2351523aedbb280eb7c9094/propcache-0.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ec314cde7314d2dd0510c6787326bbffcbdc317ecee6b7401ce218b3099075a7", size = 241022, upload_time = "2025-03-26T03:04:49.195Z" },
+ { url = "https://files.pythonhosted.org/packages/db/19/e777227545e09ca1e77a6e21274ae9ec45de0f589f0ce3eca2a41f366220/propcache-0.3.1-cp312-cp312-win32.whl", hash = "sha256:7d2d5a0028d920738372630870e7d9644ce437142197f8c827194fca404bf03b", size = 40647, upload_time = "2025-03-26T03:04:50.595Z" },
+ { url = "https://files.pythonhosted.org/packages/24/bb/3b1b01da5dd04c77a204c84e538ff11f624e31431cfde7201d9110b092b1/propcache-0.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:88c423efef9d7a59dae0614eaed718449c09a5ac79a5f224a8b9664d603f04a3", size = 44784, upload_time = "2025-03-26T03:04:51.791Z" },
+ { url = "https://files.pythonhosted.org/packages/58/60/f645cc8b570f99be3cf46714170c2de4b4c9d6b827b912811eff1eb8a412/propcache-0.3.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f1528ec4374617a7a753f90f20e2f551121bb558fcb35926f99e3c42367164b8", size = 77865, upload_time = "2025-03-26T03:04:53.406Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/d4/c1adbf3901537582e65cf90fd9c26fde1298fde5a2c593f987112c0d0798/propcache-0.3.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dc1915ec523b3b494933b5424980831b636fe483d7d543f7afb7b3bf00f0c10f", size = 45452, upload_time = "2025-03-26T03:04:54.624Z" },
+ { url = "https://files.pythonhosted.org/packages/d1/b5/fe752b2e63f49f727c6c1c224175d21b7d1727ce1d4873ef1c24c9216830/propcache-0.3.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a110205022d077da24e60b3df8bcee73971be9575dec5573dd17ae5d81751111", size = 44800, upload_time = "2025-03-26T03:04:55.844Z" },
+ { url = "https://files.pythonhosted.org/packages/62/37/fc357e345bc1971e21f76597028b059c3d795c5ca7690d7a8d9a03c9708a/propcache-0.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d249609e547c04d190e820d0d4c8ca03ed4582bcf8e4e160a6969ddfb57b62e5", size = 225804, upload_time = "2025-03-26T03:04:57.158Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/f1/16e12c33e3dbe7f8b737809bad05719cff1dccb8df4dafbcff5575002c0e/propcache-0.3.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ced33d827625d0a589e831126ccb4f5c29dfdf6766cac441d23995a65825dcb", size = 230650, upload_time = "2025-03-26T03:04:58.61Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/a2/018b9f2ed876bf5091e60153f727e8f9073d97573f790ff7cdf6bc1d1fb8/propcache-0.3.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4114c4ada8f3181af20808bedb250da6bae56660e4b8dfd9cd95d4549c0962f7", size = 234235, upload_time = "2025-03-26T03:05:00.599Z" },
+ { url = "https://files.pythonhosted.org/packages/45/5f/3faee66fc930dfb5da509e34c6ac7128870631c0e3582987fad161fcb4b1/propcache-0.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:975af16f406ce48f1333ec5e912fe11064605d5c5b3f6746969077cc3adeb120", size = 228249, upload_time = "2025-03-26T03:05:02.11Z" },
+ { url = "https://files.pythonhosted.org/packages/62/1e/a0d5ebda5da7ff34d2f5259a3e171a94be83c41eb1e7cd21a2105a84a02e/propcache-0.3.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a34aa3a1abc50740be6ac0ab9d594e274f59960d3ad253cd318af76b996dd654", size = 214964, upload_time = "2025-03-26T03:05:03.599Z" },
+ { url = "https://files.pythonhosted.org/packages/db/a0/d72da3f61ceab126e9be1f3bc7844b4e98c6e61c985097474668e7e52152/propcache-0.3.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9cec3239c85ed15bfaded997773fdad9fb5662b0a7cbc854a43f291eb183179e", size = 222501, upload_time = "2025-03-26T03:05:05.107Z" },
+ { url = "https://files.pythonhosted.org/packages/18/6d/a008e07ad7b905011253adbbd97e5b5375c33f0b961355ca0a30377504ac/propcache-0.3.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:05543250deac8e61084234d5fc54f8ebd254e8f2b39a16b1dce48904f45b744b", size = 217917, upload_time = "2025-03-26T03:05:06.59Z" },
+ { url = "https://files.pythonhosted.org/packages/98/37/02c9343ffe59e590e0e56dc5c97d0da2b8b19fa747ebacf158310f97a79a/propcache-0.3.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:5cb5918253912e088edbf023788de539219718d3b10aef334476b62d2b53de53", size = 217089, upload_time = "2025-03-26T03:05:08.1Z" },
+ { url = "https://files.pythonhosted.org/packages/53/1b/d3406629a2c8a5666d4674c50f757a77be119b113eedd47b0375afdf1b42/propcache-0.3.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f3bbecd2f34d0e6d3c543fdb3b15d6b60dd69970c2b4c822379e5ec8f6f621d5", size = 228102, upload_time = "2025-03-26T03:05:09.982Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/a7/3664756cf50ce739e5f3abd48febc0be1a713b1f389a502ca819791a6b69/propcache-0.3.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aca63103895c7d960a5b9b044a83f544b233c95e0dcff114389d64d762017af7", size = 230122, upload_time = "2025-03-26T03:05:11.408Z" },
+ { url = "https://files.pythonhosted.org/packages/35/36/0bbabaacdcc26dac4f8139625e930f4311864251276033a52fd52ff2a274/propcache-0.3.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5a0a9898fdb99bf11786265468571e628ba60af80dc3f6eb89a3545540c6b0ef", size = 226818, upload_time = "2025-03-26T03:05:12.909Z" },
+ { url = "https://files.pythonhosted.org/packages/cc/27/4e0ef21084b53bd35d4dae1634b6d0bad35e9c58ed4f032511acca9d4d26/propcache-0.3.1-cp313-cp313-win32.whl", hash = "sha256:3a02a28095b5e63128bcae98eb59025924f121f048a62393db682f049bf4ac24", size = 40112, upload_time = "2025-03-26T03:05:14.289Z" },
+ { url = "https://files.pythonhosted.org/packages/a6/2c/a54614d61895ba6dd7ac8f107e2b2a0347259ab29cbf2ecc7b94fa38c4dc/propcache-0.3.1-cp313-cp313-win_amd64.whl", hash = "sha256:813fbb8b6aea2fc9659815e585e548fe706d6f663fa73dff59a1677d4595a037", size = 44034, upload_time = "2025-03-26T03:05:15.616Z" },
+ { url = "https://files.pythonhosted.org/packages/5a/a8/0a4fd2f664fc6acc66438370905124ce62e84e2e860f2557015ee4a61c7e/propcache-0.3.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a444192f20f5ce8a5e52761a031b90f5ea6288b1eef42ad4c7e64fef33540b8f", size = 82613, upload_time = "2025-03-26T03:05:16.913Z" },
+ { url = "https://files.pythonhosted.org/packages/4d/e5/5ef30eb2cd81576256d7b6caaa0ce33cd1d2c2c92c8903cccb1af1a4ff2f/propcache-0.3.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:0fbe94666e62ebe36cd652f5fc012abfbc2342de99b523f8267a678e4dfdee3c", size = 47763, upload_time = "2025-03-26T03:05:18.607Z" },
+ { url = "https://files.pythonhosted.org/packages/87/9a/87091ceb048efeba4d28e903c0b15bcc84b7c0bf27dc0261e62335d9b7b8/propcache-0.3.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:f011f104db880f4e2166bcdcf7f58250f7a465bc6b068dc84c824a3d4a5c94dc", size = 47175, upload_time = "2025-03-26T03:05:19.85Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/2f/854e653c96ad1161f96194c6678a41bbb38c7947d17768e8811a77635a08/propcache-0.3.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e584b6d388aeb0001d6d5c2bd86b26304adde6d9bb9bfa9c4889805021b96de", size = 292265, upload_time = "2025-03-26T03:05:21.654Z" },
+ { url = "https://files.pythonhosted.org/packages/40/8d/090955e13ed06bc3496ba4a9fb26c62e209ac41973cb0d6222de20c6868f/propcache-0.3.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8a17583515a04358b034e241f952f1715243482fc2c2945fd99a1b03a0bd77d6", size = 294412, upload_time = "2025-03-26T03:05:23.147Z" },
+ { url = "https://files.pythonhosted.org/packages/39/e6/d51601342e53cc7582449e6a3c14a0479fab2f0750c1f4d22302e34219c6/propcache-0.3.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5aed8d8308215089c0734a2af4f2e95eeb360660184ad3912686c181e500b2e7", size = 294290, upload_time = "2025-03-26T03:05:24.577Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/4d/be5f1a90abc1881884aa5878989a1acdafd379a91d9c7e5e12cef37ec0d7/propcache-0.3.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d8e309ff9a0503ef70dc9a0ebd3e69cf7b3894c9ae2ae81fc10943c37762458", size = 282926, upload_time = "2025-03-26T03:05:26.459Z" },
+ { url = "https://files.pythonhosted.org/packages/57/2b/8f61b998c7ea93a2b7eca79e53f3e903db1787fca9373af9e2cf8dc22f9d/propcache-0.3.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b655032b202028a582d27aeedc2e813299f82cb232f969f87a4fde491a233f11", size = 267808, upload_time = "2025-03-26T03:05:28.188Z" },
+ { url = "https://files.pythonhosted.org/packages/11/1c/311326c3dfce59c58a6098388ba984b0e5fb0381ef2279ec458ef99bd547/propcache-0.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9f64d91b751df77931336b5ff7bafbe8845c5770b06630e27acd5dbb71e1931c", size = 290916, upload_time = "2025-03-26T03:05:29.757Z" },
+ { url = "https://files.pythonhosted.org/packages/4b/74/91939924b0385e54dc48eb2e4edd1e4903ffd053cf1916ebc5347ac227f7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:19a06db789a4bd896ee91ebc50d059e23b3639c25d58eb35be3ca1cbe967c3bf", size = 262661, upload_time = "2025-03-26T03:05:31.472Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/d7/e6079af45136ad325c5337f5dd9ef97ab5dc349e0ff362fe5c5db95e2454/propcache-0.3.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:bef100c88d8692864651b5f98e871fb090bd65c8a41a1cb0ff2322db39c96c27", size = 264384, upload_time = "2025-03-26T03:05:32.984Z" },
+ { url = "https://files.pythonhosted.org/packages/b7/d5/ba91702207ac61ae6f1c2da81c5d0d6bf6ce89e08a2b4d44e411c0bbe867/propcache-0.3.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:87380fb1f3089d2a0b8b00f006ed12bd41bd858fabfa7330c954c70f50ed8757", size = 291420, upload_time = "2025-03-26T03:05:34.496Z" },
+ { url = "https://files.pythonhosted.org/packages/58/70/2117780ed7edcd7ba6b8134cb7802aada90b894a9810ec56b7bb6018bee7/propcache-0.3.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e474fc718e73ba5ec5180358aa07f6aded0ff5f2abe700e3115c37d75c947e18", size = 290880, upload_time = "2025-03-26T03:05:36.256Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/1f/ecd9ce27710021ae623631c0146719280a929d895a095f6d85efb6a0be2e/propcache-0.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:17d1c688a443355234f3c031349da69444be052613483f3e4158eef751abcd8a", size = 287407, upload_time = "2025-03-26T03:05:37.799Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/66/2e90547d6b60180fb29e23dc87bd8c116517d4255240ec6d3f7dc23d1926/propcache-0.3.1-cp313-cp313t-win32.whl", hash = "sha256:359e81a949a7619802eb601d66d37072b79b79c2505e6d3fd8b945538411400d", size = 42573, upload_time = "2025-03-26T03:05:39.193Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/8f/50ad8599399d1861b4d2b6b45271f0ef6af1b09b0a2386a46dbaf19c9535/propcache-0.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e7fb9a84c9abbf2b2683fa3e7b0d7da4d8ecf139a1c635732a8bda29c5214b0e", size = 46757, upload_time = "2025-03-26T03:05:40.811Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/d3/c3cb8f1d6ae3b37f83e1de806713a9b3642c5895f0215a62e1a4bd6e5e34/propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40", size = 12376, upload_time = "2025-03-26T03:06:10.5Z" },
]
[[package]]
name = "pydantic"
-version = "2.10.6"
+version = "2.11.4"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "annotated-types" },
{ name = "pydantic-core" },
{ name = "typing-extensions" },
+ { name = "typing-inspection" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b7/ae/d5220c5c52b158b1de7ca89fc5edb72f304a70a4c540c84c8844bf4008de/pydantic-2.10.6.tar.gz", hash = "sha256:ca5daa827cce33de7a42be142548b0096bf05a7e7b365aebfa5f8eeec7128236", size = 761681 }
+sdist = { url = "https://files.pythonhosted.org/packages/77/ab/5250d56ad03884ab5efd07f734203943c8a8ab40d551e208af81d0257bf2/pydantic-2.11.4.tar.gz", hash = "sha256:32738d19d63a226a52eed76645a98ee07c1f410ee41d93b4afbfa85ed8111c2d", size = 786540, upload_time = "2025-04-29T20:38:55.02Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f4/3c/8cc1cc84deffa6e25d2d0c688ebb80635dfdbf1dbea3e30c541c8cf4d860/pydantic-2.10.6-py3-none-any.whl", hash = "sha256:427d664bf0b8a2b34ff5dd0f5a18df00591adcee7198fbd71981054cef37b584", size = 431696 },
+ { url = "https://files.pythonhosted.org/packages/e7/12/46b65f3534d099349e38ef6ec98b1a5a81f42536d17e0ba382c28c67ba67/pydantic-2.11.4-py3-none-any.whl", hash = "sha256:d9615eaa9ac5a063471da949c8fc16376a84afb5024688b3ff885693506764eb", size = 443900, upload_time = "2025-04-29T20:38:52.724Z" },
]
[[package]]
name = "pydantic-core"
-version = "2.27.2"
+version = "2.33.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "typing-extensions" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/fc/01/f3e5ac5e7c25833db5eb555f7b7ab24cd6f8c322d3a3ad2d67a952dc0abc/pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39", size = 413443 }
+sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload_time = "2025-04-23T18:33:52.104Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c2/89/f3450af9d09d44eea1f2c369f49e8f181d742f28220f88cc4dfaae91ea6e/pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc", size = 1893421 },
- { url = "https://files.pythonhosted.org/packages/9e/e3/71fe85af2021f3f386da42d291412e5baf6ce7716bd7101ea49c810eda90/pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7", size = 1814998 },
- { url = "https://files.pythonhosted.org/packages/a6/3c/724039e0d848fd69dbf5806894e26479577316c6f0f112bacaf67aa889ac/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15", size = 1826167 },
- { url = "https://files.pythonhosted.org/packages/2b/5b/1b29e8c1fb5f3199a9a57c1452004ff39f494bbe9bdbe9a81e18172e40d3/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306", size = 1865071 },
- { url = "https://files.pythonhosted.org/packages/89/6c/3985203863d76bb7d7266e36970d7e3b6385148c18a68cc8915fd8c84d57/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99", size = 2036244 },
- { url = "https://files.pythonhosted.org/packages/0e/41/f15316858a246b5d723f7d7f599f79e37493b2e84bfc789e58d88c209f8a/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459", size = 2737470 },
- { url = "https://files.pythonhosted.org/packages/a8/7c/b860618c25678bbd6d1d99dbdfdf0510ccb50790099b963ff78a124b754f/pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048", size = 1992291 },
- { url = "https://files.pythonhosted.org/packages/bf/73/42c3742a391eccbeab39f15213ecda3104ae8682ba3c0c28069fbcb8c10d/pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d", size = 1994613 },
- { url = "https://files.pythonhosted.org/packages/94/7a/941e89096d1175d56f59340f3a8ebaf20762fef222c298ea96d36a6328c5/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b", size = 2002355 },
- { url = "https://files.pythonhosted.org/packages/6e/95/2359937a73d49e336a5a19848713555605d4d8d6940c3ec6c6c0ca4dcf25/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474", size = 2126661 },
- { url = "https://files.pythonhosted.org/packages/2b/4c/ca02b7bdb6012a1adef21a50625b14f43ed4d11f1fc237f9d7490aa5078c/pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6", size = 2153261 },
- { url = "https://files.pythonhosted.org/packages/72/9d/a241db83f973049a1092a079272ffe2e3e82e98561ef6214ab53fe53b1c7/pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c", size = 1812361 },
- { url = "https://files.pythonhosted.org/packages/e8/ef/013f07248041b74abd48a385e2110aa3a9bbfef0fbd97d4e6d07d2f5b89a/pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc", size = 1982484 },
- { url = "https://files.pythonhosted.org/packages/10/1c/16b3a3e3398fd29dca77cea0a1d998d6bde3902fa2706985191e2313cc76/pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4", size = 1867102 },
- { url = "https://files.pythonhosted.org/packages/d6/74/51c8a5482ca447871c93e142d9d4a92ead74de6c8dc5e66733e22c9bba89/pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0", size = 1893127 },
- { url = "https://files.pythonhosted.org/packages/d3/f3/c97e80721735868313c58b89d2de85fa80fe8dfeeed84dc51598b92a135e/pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef", size = 1811340 },
- { url = "https://files.pythonhosted.org/packages/9e/91/840ec1375e686dbae1bd80a9e46c26a1e0083e1186abc610efa3d9a36180/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7", size = 1822900 },
- { url = "https://files.pythonhosted.org/packages/f6/31/4240bc96025035500c18adc149aa6ffdf1a0062a4b525c932065ceb4d868/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934", size = 1869177 },
- { url = "https://files.pythonhosted.org/packages/fa/20/02fbaadb7808be578317015c462655c317a77a7c8f0ef274bc016a784c54/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6", size = 2038046 },
- { url = "https://files.pythonhosted.org/packages/06/86/7f306b904e6c9eccf0668248b3f272090e49c275bc488a7b88b0823444a4/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c", size = 2685386 },
- { url = "https://files.pythonhosted.org/packages/8d/f0/49129b27c43396581a635d8710dae54a791b17dfc50c70164866bbf865e3/pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2", size = 1997060 },
- { url = "https://files.pythonhosted.org/packages/0d/0f/943b4af7cd416c477fd40b187036c4f89b416a33d3cc0ab7b82708a667aa/pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4", size = 2004870 },
- { url = "https://files.pythonhosted.org/packages/35/40/aea70b5b1a63911c53a4c8117c0a828d6790483f858041f47bab0b779f44/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3", size = 1999822 },
- { url = "https://files.pythonhosted.org/packages/f2/b3/807b94fd337d58effc5498fd1a7a4d9d59af4133e83e32ae39a96fddec9d/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4", size = 2130364 },
- { url = "https://files.pythonhosted.org/packages/fc/df/791c827cd4ee6efd59248dca9369fb35e80a9484462c33c6649a8d02b565/pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57", size = 2158303 },
- { url = "https://files.pythonhosted.org/packages/9b/67/4e197c300976af185b7cef4c02203e175fb127e414125916bf1128b639a9/pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc", size = 1834064 },
- { url = "https://files.pythonhosted.org/packages/1f/ea/cd7209a889163b8dcca139fe32b9687dd05249161a3edda62860430457a5/pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9", size = 1989046 },
- { url = "https://files.pythonhosted.org/packages/bc/49/c54baab2f4658c26ac633d798dab66b4c3a9bbf47cff5284e9c182f4137a/pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b", size = 1885092 },
- { url = "https://files.pythonhosted.org/packages/41/b1/9bc383f48f8002f99104e3acff6cba1231b29ef76cfa45d1506a5cad1f84/pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b", size = 1892709 },
- { url = "https://files.pythonhosted.org/packages/10/6c/e62b8657b834f3eb2961b49ec8e301eb99946245e70bf42c8817350cbefc/pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154", size = 1811273 },
- { url = "https://files.pythonhosted.org/packages/ba/15/52cfe49c8c986e081b863b102d6b859d9defc63446b642ccbbb3742bf371/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9", size = 1823027 },
- { url = "https://files.pythonhosted.org/packages/b1/1c/b6f402cfc18ec0024120602bdbcebc7bdd5b856528c013bd4d13865ca473/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9", size = 1868888 },
- { url = "https://files.pythonhosted.org/packages/bd/7b/8cb75b66ac37bc2975a3b7de99f3c6f355fcc4d89820b61dffa8f1e81677/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1", size = 2037738 },
- { url = "https://files.pythonhosted.org/packages/c8/f1/786d8fe78970a06f61df22cba58e365ce304bf9b9f46cc71c8c424e0c334/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a", size = 2685138 },
- { url = "https://files.pythonhosted.org/packages/a6/74/d12b2cd841d8724dc8ffb13fc5cef86566a53ed358103150209ecd5d1999/pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e", size = 1997025 },
- { url = "https://files.pythonhosted.org/packages/a0/6e/940bcd631bc4d9a06c9539b51f070b66e8f370ed0933f392db6ff350d873/pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4", size = 2004633 },
- { url = "https://files.pythonhosted.org/packages/50/cc/a46b34f1708d82498c227d5d80ce615b2dd502ddcfd8376fc14a36655af1/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27", size = 1999404 },
- { url = "https://files.pythonhosted.org/packages/ca/2d/c365cfa930ed23bc58c41463bae347d1005537dc8db79e998af8ba28d35e/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee", size = 2130130 },
- { url = "https://files.pythonhosted.org/packages/f4/d7/eb64d015c350b7cdb371145b54d96c919d4db516817f31cd1c650cae3b21/pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1", size = 2157946 },
- { url = "https://files.pythonhosted.org/packages/a4/99/bddde3ddde76c03b65dfd5a66ab436c4e58ffc42927d4ff1198ffbf96f5f/pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130", size = 1834387 },
- { url = "https://files.pythonhosted.org/packages/71/47/82b5e846e01b26ac6f1893d3c5f9f3a2eb6ba79be26eef0b759b4fe72946/pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee", size = 1990453 },
- { url = "https://files.pythonhosted.org/packages/51/b2/b2b50d5ecf21acf870190ae5d093602d95f66c9c31f9d5de6062eb329ad1/pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b", size = 1885186 },
+ { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload_time = "2025-04-23T18:31:03.106Z" },
+ { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload_time = "2025-04-23T18:31:04.621Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload_time = "2025-04-23T18:31:06.377Z" },
+ { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload_time = "2025-04-23T18:31:07.93Z" },
+ { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload_time = "2025-04-23T18:31:09.283Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload_time = "2025-04-23T18:31:11.7Z" },
+ { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload_time = "2025-04-23T18:31:13.536Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload_time = "2025-04-23T18:31:15.011Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload_time = "2025-04-23T18:31:16.393Z" },
+ { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload_time = "2025-04-23T18:31:17.892Z" },
+ { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload_time = "2025-04-23T18:31:19.205Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload_time = "2025-04-23T18:31:20.541Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload_time = "2025-04-23T18:31:22.371Z" },
+ { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload_time = "2025-04-23T18:31:24.161Z" },
+ { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload_time = "2025-04-23T18:31:25.863Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload_time = "2025-04-23T18:31:27.341Z" },
+ { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload_time = "2025-04-23T18:31:28.956Z" },
+ { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload_time = "2025-04-23T18:31:31.025Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload_time = "2025-04-23T18:31:32.514Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload_time = "2025-04-23T18:31:33.958Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload_time = "2025-04-23T18:31:39.095Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload_time = "2025-04-23T18:31:41.034Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload_time = "2025-04-23T18:31:42.757Z" },
+ { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload_time = "2025-04-23T18:31:44.304Z" },
+ { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload_time = "2025-04-23T18:31:45.891Z" },
+ { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload_time = "2025-04-23T18:31:47.819Z" },
+ { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload_time = "2025-04-23T18:31:49.635Z" },
+ { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload_time = "2025-04-23T18:31:51.609Z" },
+ { url = "https://files.pythonhosted.org/packages/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload_time = "2025-04-23T18:31:53.175Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload_time = "2025-04-23T18:31:54.79Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload_time = "2025-04-23T18:31:57.393Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload_time = "2025-04-23T18:31:59.065Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload_time = "2025-04-23T18:32:00.78Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload_time = "2025-04-23T18:32:02.418Z" },
+ { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload_time = "2025-04-23T18:32:04.152Z" },
+ { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload_time = "2025-04-23T18:32:06.129Z" },
+ { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload_time = "2025-04-23T18:32:08.178Z" },
+ { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload_time = "2025-04-23T18:32:10.242Z" },
+ { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload_time = "2025-04-23T18:32:12.382Z" },
+ { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload_time = "2025-04-23T18:32:14.034Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload_time = "2025-04-23T18:32:15.783Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload_time = "2025-04-23T18:32:18.473Z" },
+ { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload_time = "2025-04-23T18:32:20.188Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload_time = "2025-04-23T18:32:22.354Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload_time = "2025-04-23T18:32:25.088Z" },
+ { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload_time = "2025-04-23T18:33:14.199Z" },
+ { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload_time = "2025-04-23T18:33:16.555Z" },
+ { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload_time = "2025-04-23T18:33:18.513Z" },
+ { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload_time = "2025-04-23T18:33:20.475Z" },
+ { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload_time = "2025-04-23T18:33:22.501Z" },
+ { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload_time = "2025-04-23T18:33:24.528Z" },
+ { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload_time = "2025-04-23T18:33:26.621Z" },
+ { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload_time = "2025-04-23T18:33:28.656Z" },
+ { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload_time = "2025-04-23T18:33:30.645Z" },
]
[[package]]
name = "pydantic-settings"
-version = "2.7.1"
+version = "2.9.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pydantic" },
{ name = "python-dotenv" },
+ { name = "typing-inspection" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/73/7b/c58a586cd7d9ac66d2ee4ba60ca2d241fa837c02bca9bea80a9a8c3d22a9/pydantic_settings-2.7.1.tar.gz", hash = "sha256:10c9caad35e64bfb3c2fbf70a078c0e25cc92499782e5200747f942a065dec93", size = 79920 }
+sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload_time = "2025-04-18T16:44:48.265Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b4/46/93416fdae86d40879714f72956ac14df9c7b76f7d41a4d68aa9f71a0028b/pydantic_settings-2.7.1-py3-none-any.whl", hash = "sha256:590be9e6e24d06db33a4262829edef682500ef008565a969c73d39d5f8bfb3fd", size = 29718 },
+ { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload_time = "2025-04-18T16:44:46.617Z" },
]
[[package]]
name = "pyproject-hooks"
version = "1.2.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228 }
+sdist = { url = "https://files.pythonhosted.org/packages/e7/82/28175b2414effca1cdac8dc99f76d660e7a4fb0ceefa4b4ab8f5f6742925/pyproject_hooks-1.2.0.tar.gz", hash = "sha256:1e859bd5c40fae9448642dd871adf459e5e2084186e8d2c2a79a824c970da1f8", size = 19228, upload_time = "2024-09-29T09:24:13.293Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216 },
+ { url = "https://files.pythonhosted.org/packages/bd/24/12818598c362d7f300f18e74db45963dbcb85150324092410c8b49405e42/pyproject_hooks-1.2.0-py3-none-any.whl", hash = "sha256:9e5c6bfa8dcc30091c74b0cf803c81fdd29d94f01992a7707bc97babb1141913", size = 10216, upload_time = "2024-09-29T09:24:11.978Z" },
]
[[package]]
name = "pytest"
-version = "8.3.4"
+version = "8.3.5"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
@@ -917,21 +993,21 @@ dependencies = [
{ name = "packaging" },
{ name = "pluggy" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/05/35/30e0d83068951d90a01852cb1cef56e5d8a09d20c7f511634cc2f7e0372a/pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761", size = 1445919 }
+sdist = { url = "https://files.pythonhosted.org/packages/ae/3c/c9d525a414d506893f0cd8a8d0de7706446213181570cdbd766691164e40/pytest-8.3.5.tar.gz", hash = "sha256:f4efe70cc14e511565ac476b57c279e12a855b11f48f212af1080ef2263d3845", size = 1450891, upload_time = "2025-03-02T12:54:54.503Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/11/92/76a1c94d3afee238333bc0a42b82935dd8f9cf8ce9e336ff87ee14d9e1cf/pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6", size = 343083 },
+ { url = "https://files.pythonhosted.org/packages/30/3d/64ad57c803f1fa1e963a7946b6e0fea4a70df53c1a7fed304586539c2bac/pytest-8.3.5-py3-none-any.whl", hash = "sha256:c69214aa47deac29fad6c2a4f590b9c4a9fdb16a403176fe154b79c0b4d4d820", size = 343634, upload_time = "2025-03-02T12:54:52.069Z" },
]
[[package]]
name = "pytest-asyncio"
-version = "0.25.3"
+version = "0.26.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pytest" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/f2/a8/ecbc8ede70921dd2f544ab1cadd3ff3bf842af27f87bbdea774c7baa1d38/pytest_asyncio-0.25.3.tar.gz", hash = "sha256:fc1da2cf9f125ada7e710b4ddad05518d4cee187ae9412e9ac9271003497f07a", size = 54239 }
+sdist = { url = "https://files.pythonhosted.org/packages/8e/c4/453c52c659521066969523e87d85d54139bbd17b78f09532fb8eb8cdb58e/pytest_asyncio-0.26.0.tar.gz", hash = "sha256:c4df2a697648241ff39e7f0e4a73050b03f123f760673956cf0d72a4990e312f", size = 54156, upload_time = "2025-03-25T06:22:28.883Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/67/17/3493c5624e48fd97156ebaec380dcaafee9506d7e2c46218ceebbb57d7de/pytest_asyncio-0.25.3-py3-none-any.whl", hash = "sha256:9e89518e0f9bd08928f97a3482fdc4e244df17529460bc038291ccaf8f85c7c3", size = 19467 },
+ { url = "https://files.pythonhosted.org/packages/20/7f/338843f449ace853647ace35870874f69a764d251872ed1b4de9f234822c/pytest_asyncio-0.26.0-py3-none-any.whl", hash = "sha256:7b51ed894f4fbea1340262bdae5135797ebbe21d8638978e35d31c6d19f72fb0", size = 19694, upload_time = "2025-03-25T06:22:27.807Z" },
]
[[package]]
@@ -941,53 +1017,62 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pytest" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/c6/90/a955c3ab35ccd41ad4de556596fa86685bf4fc5ffcc62d22d856cfd4e29a/pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0", size = 32814 }
+sdist = { url = "https://files.pythonhosted.org/packages/c6/90/a955c3ab35ccd41ad4de556596fa86685bf4fc5ffcc62d22d856cfd4e29a/pytest-mock-3.14.0.tar.gz", hash = "sha256:2719255a1efeceadbc056d6bf3df3d1c5015530fb40cf347c0f9afac88410bd0", size = 32814, upload_time = "2024-03-21T22:14:04.964Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", size = 9863 },
+ { url = "https://files.pythonhosted.org/packages/f2/3b/b26f90f74e2986a82df6e7ac7e319b8ea7ccece1caec9f8ab6104dc70603/pytest_mock-3.14.0-py3-none-any.whl", hash = "sha256:0b72c38033392a5f4621342fe11e9219ac11ec9d375f8e2a0c164539e0d70f6f", size = 9863, upload_time = "2024-03-21T22:14:02.694Z" },
]
[[package]]
name = "python-dotenv"
-version = "1.0.1"
+version = "1.1.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/bc/57/e84d88dfe0aec03b7a2d4327012c1627ab5f03652216c63d49846d7a6c58/python-dotenv-1.0.1.tar.gz", hash = "sha256:e324ee90a023d808f1959c46bcbc04446a10ced277783dc6ee09987c37ec10ca", size = 39115 }
+sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload_time = "2025-03-25T10:14:56.835Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/6a/3e/b68c118422ec867fa7ab88444e1274aa40681c606d59ac27de5a5588f082/python_dotenv-1.0.1-py3-none-any.whl", hash = "sha256:f7b63ef50f1b690dddf550d03497b66d609393b40b564ed0d674909a68ebf16a", size = 19863 },
+ { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload_time = "2025-03-25T10:14:55.034Z" },
+]
+
+[[package]]
+name = "python-multipart"
+version = "0.0.20"
+source = { registry = "https://pypi.org/simple" }
+sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload_time = "2024-12-16T19:45:46.972Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload_time = "2024-12-16T19:45:44.423Z" },
]
[[package]]
name = "pyyaml"
version = "6.0.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631 }
+sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload_time = "2024-08-06T20:33:50.674Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612 },
- { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040 },
- { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829 },
- { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167 },
- { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952 },
- { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301 },
- { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638 },
- { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850 },
- { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980 },
- { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873 },
- { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302 },
- { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154 },
- { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223 },
- { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542 },
- { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164 },
- { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611 },
- { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591 },
- { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338 },
- { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309 },
- { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679 },
- { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428 },
- { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361 },
- { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523 },
- { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660 },
- { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 },
- { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 },
- { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 },
+ { url = "https://files.pythonhosted.org/packages/f8/aa/7af4e81f7acba21a4c6be026da38fd2b872ca46226673c89a758ebdc4fd2/PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", size = 184612, upload_time = "2024-08-06T20:32:03.408Z" },
+ { url = "https://files.pythonhosted.org/packages/8b/62/b9faa998fd185f65c1371643678e4d58254add437edb764a08c5a98fb986/PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", size = 172040, upload_time = "2024-08-06T20:32:04.926Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/0c/c804f5f922a9a6563bab712d8dcc70251e8af811fce4524d57c2c0fd49a4/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", size = 736829, upload_time = "2024-08-06T20:32:06.459Z" },
+ { url = "https://files.pythonhosted.org/packages/51/16/6af8d6a6b210c8e54f1406a6b9481febf9c64a3109c541567e35a49aa2e7/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", size = 764167, upload_time = "2024-08-06T20:32:08.338Z" },
+ { url = "https://files.pythonhosted.org/packages/75/e4/2c27590dfc9992f73aabbeb9241ae20220bd9452df27483b6e56d3975cc5/PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", size = 762952, upload_time = "2024-08-06T20:32:14.124Z" },
+ { url = "https://files.pythonhosted.org/packages/9b/97/ecc1abf4a823f5ac61941a9c00fe501b02ac3ab0e373c3857f7d4b83e2b6/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4", size = 735301, upload_time = "2024-08-06T20:32:16.17Z" },
+ { url = "https://files.pythonhosted.org/packages/45/73/0f49dacd6e82c9430e46f4a027baa4ca205e8b0a9dce1397f44edc23559d/PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", size = 756638, upload_time = "2024-08-06T20:32:18.555Z" },
+ { url = "https://files.pythonhosted.org/packages/22/5f/956f0f9fc65223a58fbc14459bf34b4cc48dec52e00535c79b8db361aabd/PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", size = 143850, upload_time = "2024-08-06T20:32:19.889Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/23/8da0bbe2ab9dcdd11f4f4557ccaf95c10b9811b13ecced089d43ce59c3c8/PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", size = 161980, upload_time = "2024-08-06T20:32:21.273Z" },
+ { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload_time = "2024-08-06T20:32:25.131Z" },
+ { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload_time = "2024-08-06T20:32:26.511Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload_time = "2024-08-06T20:32:28.363Z" },
+ { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload_time = "2024-08-06T20:32:30.058Z" },
+ { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload_time = "2024-08-06T20:32:31.881Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload_time = "2024-08-06T20:32:37.083Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload_time = "2024-08-06T20:32:38.898Z" },
+ { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload_time = "2024-08-06T20:32:40.241Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload_time = "2024-08-06T20:32:41.93Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/e3/3af305b830494fa85d95f6d95ef7fa73f2ee1cc8ef5b495c7c3269fb835f/PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", size = 181309, upload_time = "2024-08-06T20:32:43.4Z" },
+ { url = "https://files.pythonhosted.org/packages/45/9f/3b1c20a0b7a3200524eb0076cc027a970d320bd3a6592873c85c92a08731/PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", size = 171679, upload_time = "2024-08-06T20:32:44.801Z" },
+ { url = "https://files.pythonhosted.org/packages/7c/9a/337322f27005c33bcb656c655fa78325b730324c78620e8328ae28b64d0c/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", size = 733428, upload_time = "2024-08-06T20:32:46.432Z" },
+ { url = "https://files.pythonhosted.org/packages/a3/69/864fbe19e6c18ea3cc196cbe5d392175b4cf3d5d0ac1403ec3f2d237ebb5/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", size = 763361, upload_time = "2024-08-06T20:32:51.188Z" },
+ { url = "https://files.pythonhosted.org/packages/04/24/b7721e4845c2f162d26f50521b825fb061bc0a5afcf9a386840f23ea19fa/PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", size = 759523, upload_time = "2024-08-06T20:32:53.019Z" },
+ { url = "https://files.pythonhosted.org/packages/2b/b2/e3234f59ba06559c6ff63c4e10baea10e5e7df868092bf9ab40e5b9c56b6/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", size = 726660, upload_time = "2024-08-06T20:32:54.708Z" },
+ { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597, upload_time = "2024-08-06T20:32:56.985Z" },
+ { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527, upload_time = "2024-08-06T20:33:03.001Z" },
+ { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446, upload_time = "2024-08-06T20:33:04.33Z" },
]
[[package]]
@@ -999,9 +1084,9 @@ dependencies = [
{ name = "rpds-py" },
{ name = "typing-extensions", marker = "python_full_version < '3.13'" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 }
+sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload_time = "2025-01-25T08:48:16.138Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775 },
+ { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload_time = "2025-01-25T08:48:14.241Z" },
]
[[package]]
@@ -1014,9 +1099,9 @@ dependencies = [
{ name = "idna" },
{ name = "urllib3" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 }
+sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218, upload_time = "2024-05-29T15:37:49.536Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928 },
+ { url = "https://files.pythonhosted.org/packages/f9/9b/335f9764261e915ed497fcdeb11df5dfd6f7bf257d4a6a2a686d80da4d54/requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6", size = 64928, upload_time = "2024-05-29T15:37:47.027Z" },
]
[[package]]
@@ -1026,112 +1111,123 @@ source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "six" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513 }
+sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload_time = "2021-05-12T16:37:54.178Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490 },
+ { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload_time = "2021-05-12T16:37:52.536Z" },
]
[[package]]
name = "rpds-py"
-version = "0.22.3"
+version = "0.24.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/01/80/cce854d0921ff2f0a9fa831ba3ad3c65cee3a46711addf39a2af52df2cfd/rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d", size = 26771 }
+sdist = { url = "https://files.pythonhosted.org/packages/0b/b3/52b213298a0ba7097c7ea96bee95e1947aa84cc816d48cebb539770cdf41/rpds_py-0.24.0.tar.gz", hash = "sha256:772cc1b2cd963e7e17e6cc55fe0371fb9c704d63e44cacec7b9b7f523b78919e", size = 26863, upload_time = "2025-03-26T14:56:01.518Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/15/ad/8d1ddf78f2805a71253fcd388017e7b4a0615c22c762b6d35301fef20106/rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f", size = 359773 },
- { url = "https://files.pythonhosted.org/packages/c8/75/68c15732293a8485d79fe4ebe9045525502a067865fa4278f178851b2d87/rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a", size = 349214 },
- { url = "https://files.pythonhosted.org/packages/3c/4c/7ce50f3070083c2e1b2bbd0fb7046f3da55f510d19e283222f8f33d7d5f4/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5", size = 380477 },
- { url = "https://files.pythonhosted.org/packages/9a/e9/835196a69cb229d5c31c13b8ae603bd2da9a6695f35fe4270d398e1db44c/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb", size = 386171 },
- { url = "https://files.pythonhosted.org/packages/f9/8e/33fc4eba6683db71e91e6d594a2cf3a8fbceb5316629f0477f7ece5e3f75/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2", size = 422676 },
- { url = "https://files.pythonhosted.org/packages/37/47/2e82d58f8046a98bb9497a8319604c92b827b94d558df30877c4b3c6ccb3/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0", size = 446152 },
- { url = "https://files.pythonhosted.org/packages/e1/78/79c128c3e71abbc8e9739ac27af11dc0f91840a86fce67ff83c65d1ba195/rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1", size = 381300 },
- { url = "https://files.pythonhosted.org/packages/c9/5b/2e193be0e8b228c1207f31fa3ea79de64dadb4f6a4833111af8145a6bc33/rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d", size = 409636 },
- { url = "https://files.pythonhosted.org/packages/c2/3f/687c7100b762d62186a1c1100ffdf99825f6fa5ea94556844bbbd2d0f3a9/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648", size = 556708 },
- { url = "https://files.pythonhosted.org/packages/8c/a2/c00cbc4b857e8b3d5e7f7fc4c81e23afd8c138b930f4f3ccf9a41a23e9e4/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74", size = 583554 },
- { url = "https://files.pythonhosted.org/packages/d0/08/696c9872cf56effdad9ed617ac072f6774a898d46b8b8964eab39ec562d2/rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a", size = 552105 },
- { url = "https://files.pythonhosted.org/packages/18/1f/4df560be1e994f5adf56cabd6c117e02de7c88ee238bb4ce03ed50da9d56/rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64", size = 220199 },
- { url = "https://files.pythonhosted.org/packages/b8/1b/c29b570bc5db8237553002788dc734d6bd71443a2ceac2a58202ec06ef12/rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c", size = 231775 },
- { url = "https://files.pythonhosted.org/packages/75/47/3383ee3bd787a2a5e65a9b9edc37ccf8505c0a00170e3a5e6ea5fbcd97f7/rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e", size = 352334 },
- { url = "https://files.pythonhosted.org/packages/40/14/aa6400fa8158b90a5a250a77f2077c0d0cd8a76fce31d9f2b289f04c6dec/rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56", size = 342111 },
- { url = "https://files.pythonhosted.org/packages/7d/06/395a13bfaa8a28b302fb433fb285a67ce0ea2004959a027aea8f9c52bad4/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45", size = 384286 },
- { url = "https://files.pythonhosted.org/packages/43/52/d8eeaffab047e6b7b7ef7f00d5ead074a07973968ffa2d5820fa131d7852/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e", size = 391739 },
- { url = "https://files.pythonhosted.org/packages/83/31/52dc4bde85c60b63719610ed6f6d61877effdb5113a72007679b786377b8/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d", size = 427306 },
- { url = "https://files.pythonhosted.org/packages/70/d5/1bab8e389c2261dba1764e9e793ed6830a63f830fdbec581a242c7c46bda/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38", size = 442717 },
- { url = "https://files.pythonhosted.org/packages/82/a1/a45f3e30835b553379b3a56ea6c4eb622cf11e72008229af840e4596a8ea/rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15", size = 385721 },
- { url = "https://files.pythonhosted.org/packages/a6/27/780c942de3120bdd4d0e69583f9c96e179dfff082f6ecbb46b8d6488841f/rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059", size = 415824 },
- { url = "https://files.pythonhosted.org/packages/94/0b/aa0542ca88ad20ea719b06520f925bae348ea5c1fdf201b7e7202d20871d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e", size = 561227 },
- { url = "https://files.pythonhosted.org/packages/0d/92/3ed77d215f82c8f844d7f98929d56cc321bb0bcfaf8f166559b8ec56e5f1/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61", size = 587424 },
- { url = "https://files.pythonhosted.org/packages/09/42/cacaeb047a22cab6241f107644f230e2935d4efecf6488859a7dd82fc47d/rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7", size = 555953 },
- { url = "https://files.pythonhosted.org/packages/e6/52/c921dc6d5f5d45b212a456c1f5b17df1a471127e8037eb0972379e39dff4/rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627", size = 221339 },
- { url = "https://files.pythonhosted.org/packages/f2/c7/f82b5be1e8456600395366f86104d1bd8d0faed3802ad511ef6d60c30d98/rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4", size = 235786 },
- { url = "https://files.pythonhosted.org/packages/d0/bf/36d5cc1f2c609ae6e8bf0fc35949355ca9d8790eceb66e6385680c951e60/rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84", size = 351657 },
- { url = "https://files.pythonhosted.org/packages/24/2a/f1e0fa124e300c26ea9382e59b2d582cba71cedd340f32d1447f4f29fa4e/rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25", size = 341829 },
- { url = "https://files.pythonhosted.org/packages/cf/c2/0da1231dd16953845bed60d1a586fcd6b15ceaeb965f4d35cdc71f70f606/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4", size = 384220 },
- { url = "https://files.pythonhosted.org/packages/c7/73/a4407f4e3a00a9d4b68c532bf2d873d6b562854a8eaff8faa6133b3588ec/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5", size = 391009 },
- { url = "https://files.pythonhosted.org/packages/a9/c3/04b7353477ab360fe2563f5f0b176d2105982f97cd9ae80a9c5a18f1ae0f/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc", size = 426989 },
- { url = "https://files.pythonhosted.org/packages/8d/e6/e4b85b722bcf11398e17d59c0f6049d19cd606d35363221951e6d625fcb0/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b", size = 441544 },
- { url = "https://files.pythonhosted.org/packages/27/fc/403e65e56f65fff25f2973216974976d3f0a5c3f30e53758589b6dc9b79b/rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518", size = 385179 },
- { url = "https://files.pythonhosted.org/packages/57/9b/2be9ff9700d664d51fd96b33d6595791c496d2778cb0b2a634f048437a55/rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd", size = 415103 },
- { url = "https://files.pythonhosted.org/packages/bb/a5/03c2ad8ca10994fcf22dd2150dd1d653bc974fa82d9a590494c84c10c641/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2", size = 560916 },
- { url = "https://files.pythonhosted.org/packages/ba/2e/be4fdfc8b5b576e588782b56978c5b702c5a2307024120d8aeec1ab818f0/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16", size = 587062 },
- { url = "https://files.pythonhosted.org/packages/67/e0/2034c221937709bf9c542603d25ad43a68b4b0a9a0c0b06a742f2756eb66/rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f", size = 555734 },
- { url = "https://files.pythonhosted.org/packages/ea/ce/240bae07b5401a22482b58e18cfbabaa392409b2797da60223cca10d7367/rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de", size = 220663 },
- { url = "https://files.pythonhosted.org/packages/cb/f0/d330d08f51126330467edae2fa4efa5cec8923c87551a79299380fdea30d/rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9", size = 235503 },
- { url = "https://files.pythonhosted.org/packages/f7/c4/dbe1cc03df013bf2feb5ad00615038050e7859f381e96fb5b7b4572cd814/rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b", size = 347698 },
- { url = "https://files.pythonhosted.org/packages/a4/3a/684f66dd6b0f37499cad24cd1c0e523541fd768576fa5ce2d0a8799c3cba/rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b", size = 337330 },
- { url = "https://files.pythonhosted.org/packages/82/eb/e022c08c2ce2e8f7683baa313476492c0e2c1ca97227fe8a75d9f0181e95/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1", size = 380022 },
- { url = "https://files.pythonhosted.org/packages/e4/21/5a80e653e4c86aeb28eb4fea4add1f72e1787a3299687a9187105c3ee966/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83", size = 390754 },
- { url = "https://files.pythonhosted.org/packages/37/a4/d320a04ae90f72d080b3d74597074e62be0a8ecad7d7321312dfe2dc5a6a/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd", size = 423840 },
- { url = "https://files.pythonhosted.org/packages/87/70/674dc47d93db30a6624279284e5631be4c3a12a0340e8e4f349153546728/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1", size = 438970 },
- { url = "https://files.pythonhosted.org/packages/3f/64/9500f4d66601d55cadd21e90784cfd5d5f4560e129d72e4339823129171c/rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3", size = 383146 },
- { url = "https://files.pythonhosted.org/packages/4d/45/630327addb1d17173adcf4af01336fd0ee030c04798027dfcb50106001e0/rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130", size = 408294 },
- { url = "https://files.pythonhosted.org/packages/5f/ef/8efb3373cee54ea9d9980b772e5690a0c9e9214045a4e7fa35046e399fee/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c", size = 556345 },
- { url = "https://files.pythonhosted.org/packages/54/01/151d3b9ef4925fc8f15bfb131086c12ec3c3d6dd4a4f7589c335bf8e85ba/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b", size = 582292 },
- { url = "https://files.pythonhosted.org/packages/30/89/35fc7a6cdf3477d441c7aca5e9bbf5a14e0f25152aed7f63f4e0b141045d/rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333", size = 553855 },
- { url = "https://files.pythonhosted.org/packages/8f/e0/830c02b2457c4bd20a8c5bb394d31d81f57fbefce2dbdd2e31feff4f7003/rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730", size = 219100 },
- { url = "https://files.pythonhosted.org/packages/f8/30/7ac943f69855c2db77407ae363484b915d861702dbba1aa82d68d57f42be/rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf", size = 233794 },
+ { url = "https://files.pythonhosted.org/packages/80/e6/c1458bbfb257448fdb2528071f1f4e19e26798ed5ef6d47d7aab0cb69661/rpds_py-0.24.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:2d3ee4615df36ab8eb16c2507b11e764dcc11fd350bbf4da16d09cda11fcedef", size = 377679, upload_time = "2025-03-26T14:53:06.557Z" },
+ { url = "https://files.pythonhosted.org/packages/dd/26/ea4181ef78f58b2c167548c6a833d7dc22408e5b3b181bda9dda440bb92d/rpds_py-0.24.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e13ae74a8a3a0c2f22f450f773e35f893484fcfacb00bb4344a7e0f4f48e1f97", size = 362571, upload_time = "2025-03-26T14:53:08.439Z" },
+ { url = "https://files.pythonhosted.org/packages/56/fa/1ec54dd492c64c280a2249a047fc3369e2789dc474eac20445ebfc72934b/rpds_py-0.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf86f72d705fc2ef776bb7dd9e5fbba79d7e1f3e258bf9377f8204ad0fc1c51e", size = 388012, upload_time = "2025-03-26T14:53:10.314Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/be/bad8b0e0f7e58ef4973bb75e91c472a7d51da1977ed43b09989264bf065c/rpds_py-0.24.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c43583ea8517ed2e780a345dd9960896afc1327e8cf3ac8239c167530397440d", size = 394730, upload_time = "2025-03-26T14:53:11.953Z" },
+ { url = "https://files.pythonhosted.org/packages/35/56/ab417fc90c21826df048fc16e55316ac40876e4b790104ececcbce813d8f/rpds_py-0.24.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4cd031e63bc5f05bdcda120646a0d32f6d729486d0067f09d79c8db5368f4586", size = 448264, upload_time = "2025-03-26T14:53:13.42Z" },
+ { url = "https://files.pythonhosted.org/packages/b6/75/4c63862d5c05408589196c8440a35a14ea4ae337fa70ded1f03638373f06/rpds_py-0.24.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:34d90ad8c045df9a4259c47d2e16a3f21fdb396665c94520dbfe8766e62187a4", size = 446813, upload_time = "2025-03-26T14:53:15.036Z" },
+ { url = "https://files.pythonhosted.org/packages/e7/0c/91cf17dffa9a38835869797a9f041056091ebba6a53963d3641207e3d467/rpds_py-0.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e838bf2bb0b91ee67bf2b889a1a841e5ecac06dd7a2b1ef4e6151e2ce155c7ae", size = 389438, upload_time = "2025-03-26T14:53:17.037Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/b0/60e6c72727c978276e02851819f3986bc40668f115be72c1bc4d922c950f/rpds_py-0.24.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04ecf5c1ff4d589987b4d9882872f80ba13da7d42427234fce8f22efb43133bc", size = 420416, upload_time = "2025-03-26T14:53:18.671Z" },
+ { url = "https://files.pythonhosted.org/packages/a1/d7/f46f85b9f863fb59fd3c534b5c874c48bee86b19e93423b9da8784605415/rpds_py-0.24.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:630d3d8ea77eabd6cbcd2ea712e1c5cecb5b558d39547ac988351195db433f6c", size = 565236, upload_time = "2025-03-26T14:53:20.357Z" },
+ { url = "https://files.pythonhosted.org/packages/2a/d1/1467620ded6dd70afc45ec822cdf8dfe7139537780d1f3905de143deb6fd/rpds_py-0.24.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ebcb786b9ff30b994d5969213a8430cbb984cdd7ea9fd6df06663194bd3c450c", size = 592016, upload_time = "2025-03-26T14:53:22.216Z" },
+ { url = "https://files.pythonhosted.org/packages/5d/13/fb1ded2e6adfaa0c0833106c42feb290973f665300f4facd5bf5d7891d9c/rpds_py-0.24.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:174e46569968ddbbeb8a806d9922f17cd2b524aa753b468f35b97ff9c19cb718", size = 560123, upload_time = "2025-03-26T14:53:23.733Z" },
+ { url = "https://files.pythonhosted.org/packages/1e/df/09fc1857ac7cc2eb16465a7199c314cbce7edde53c8ef21d615410d7335b/rpds_py-0.24.0-cp311-cp311-win32.whl", hash = "sha256:5ef877fa3bbfb40b388a5ae1cb00636a624690dcb9a29a65267054c9ea86d88a", size = 222256, upload_time = "2025-03-26T14:53:25.217Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/25/939b40bc4d54bf910e5ee60fb5af99262c92458f4948239e8c06b0b750e7/rpds_py-0.24.0-cp311-cp311-win_amd64.whl", hash = "sha256:e274f62cbd274359eff63e5c7e7274c913e8e09620f6a57aae66744b3df046d6", size = 234718, upload_time = "2025-03-26T14:53:26.631Z" },
+ { url = "https://files.pythonhosted.org/packages/1a/e0/1c55f4a3be5f1ca1a4fd1f3ff1504a1478c1ed48d84de24574c4fa87e921/rpds_py-0.24.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d8551e733626afec514b5d15befabea0dd70a343a9f23322860c4f16a9430205", size = 366945, upload_time = "2025-03-26T14:53:28.149Z" },
+ { url = "https://files.pythonhosted.org/packages/39/1b/a3501574fbf29118164314dbc800d568b8c1c7b3258b505360e8abb3902c/rpds_py-0.24.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0e374c0ce0ca82e5b67cd61fb964077d40ec177dd2c4eda67dba130de09085c7", size = 351935, upload_time = "2025-03-26T14:53:29.684Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/47/77d3d71c55f6a374edde29f1aca0b2e547325ed00a9da820cabbc9497d2b/rpds_py-0.24.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d69d003296df4840bd445a5d15fa5b6ff6ac40496f956a221c4d1f6f7b4bc4d9", size = 390817, upload_time = "2025-03-26T14:53:31.177Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/ec/1e336ee27484379e19c7f9cc170f4217c608aee406d3ae3a2e45336bff36/rpds_py-0.24.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8212ff58ac6dfde49946bea57474a386cca3f7706fc72c25b772b9ca4af6b79e", size = 401983, upload_time = "2025-03-26T14:53:33.163Z" },
+ { url = "https://files.pythonhosted.org/packages/07/f8/39b65cbc272c635eaea6d393c2ad1ccc81c39eca2db6723a0ca4b2108fce/rpds_py-0.24.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:528927e63a70b4d5f3f5ccc1fa988a35456eb5d15f804d276709c33fc2f19bda", size = 451719, upload_time = "2025-03-26T14:53:34.721Z" },
+ { url = "https://files.pythonhosted.org/packages/32/05/05c2b27dd9c30432f31738afed0300659cb9415db0ff7429b05dfb09bbde/rpds_py-0.24.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a824d2c7a703ba6daaca848f9c3d5cb93af0505be505de70e7e66829affd676e", size = 442546, upload_time = "2025-03-26T14:53:36.26Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/e0/19383c8b5d509bd741532a47821c3e96acf4543d0832beba41b4434bcc49/rpds_py-0.24.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:44d51febb7a114293ffd56c6cf4736cb31cd68c0fddd6aa303ed09ea5a48e029", size = 393695, upload_time = "2025-03-26T14:53:37.728Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/15/39f14e96d94981d0275715ae8ea564772237f3fa89bc3c21e24de934f2c7/rpds_py-0.24.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3fab5f4a2c64a8fb64fc13b3d139848817a64d467dd6ed60dcdd6b479e7febc9", size = 427218, upload_time = "2025-03-26T14:53:39.326Z" },
+ { url = "https://files.pythonhosted.org/packages/22/b9/12da7124905a680f690da7a9de6f11de770b5e359f5649972f7181c8bf51/rpds_py-0.24.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9be4f99bee42ac107870c61dfdb294d912bf81c3c6d45538aad7aecab468b6b7", size = 568062, upload_time = "2025-03-26T14:53:40.885Z" },
+ { url = "https://files.pythonhosted.org/packages/88/17/75229017a2143d915f6f803721a6d721eca24f2659c5718a538afa276b4f/rpds_py-0.24.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:564c96b6076a98215af52f55efa90d8419cc2ef45d99e314fddefe816bc24f91", size = 596262, upload_time = "2025-03-26T14:53:42.544Z" },
+ { url = "https://files.pythonhosted.org/packages/aa/64/8e8a1d8bd1b6b638d6acb6d41ab2cec7f2067a5b8b4c9175703875159a7c/rpds_py-0.24.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:75a810b7664c17f24bf2ffd7f92416c00ec84b49bb68e6a0d93e542406336b56", size = 564306, upload_time = "2025-03-26T14:53:44.2Z" },
+ { url = "https://files.pythonhosted.org/packages/68/1c/a7eac8d8ed8cb234a9b1064647824c387753343c3fab6ed7c83481ed0be7/rpds_py-0.24.0-cp312-cp312-win32.whl", hash = "sha256:f6016bd950be4dcd047b7475fdf55fb1e1f59fc7403f387be0e8123e4a576d30", size = 224281, upload_time = "2025-03-26T14:53:45.769Z" },
+ { url = "https://files.pythonhosted.org/packages/bb/46/b8b5424d1d21f2f2f3f2d468660085318d4f74a8df8289e3dd6ad224d488/rpds_py-0.24.0-cp312-cp312-win_amd64.whl", hash = "sha256:998c01b8e71cf051c28f5d6f1187abbdf5cf45fc0efce5da6c06447cba997034", size = 239719, upload_time = "2025-03-26T14:53:47.187Z" },
+ { url = "https://files.pythonhosted.org/packages/9d/c3/3607abc770395bc6d5a00cb66385a5479fb8cd7416ddef90393b17ef4340/rpds_py-0.24.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:3d2d8e4508e15fc05b31285c4b00ddf2e0eb94259c2dc896771966a163122a0c", size = 367072, upload_time = "2025-03-26T14:53:48.686Z" },
+ { url = "https://files.pythonhosted.org/packages/d8/35/8c7ee0fe465793e3af3298dc5a9f3013bd63e7a69df04ccfded8293a4982/rpds_py-0.24.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0f00c16e089282ad68a3820fd0c831c35d3194b7cdc31d6e469511d9bffc535c", size = 351919, upload_time = "2025-03-26T14:53:50.229Z" },
+ { url = "https://files.pythonhosted.org/packages/91/d3/7e1b972501eb5466b9aca46a9c31bcbbdc3ea5a076e9ab33f4438c1d069d/rpds_py-0.24.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:951cc481c0c395c4a08639a469d53b7d4afa252529a085418b82a6b43c45c240", size = 390360, upload_time = "2025-03-26T14:53:51.909Z" },
+ { url = "https://files.pythonhosted.org/packages/a2/a8/ccabb50d3c91c26ad01f9b09a6a3b03e4502ce51a33867c38446df9f896b/rpds_py-0.24.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c9ca89938dff18828a328af41ffdf3902405a19f4131c88e22e776a8e228c5a8", size = 400704, upload_time = "2025-03-26T14:53:53.47Z" },
+ { url = "https://files.pythonhosted.org/packages/53/ae/5fa5bf0f3bc6ce21b5ea88fc0ecd3a439e7cb09dd5f9ffb3dbe1b6894fc5/rpds_py-0.24.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed0ef550042a8dbcd657dfb284a8ee00f0ba269d3f2286b0493b15a5694f9fe8", size = 450839, upload_time = "2025-03-26T14:53:55.005Z" },
+ { url = "https://files.pythonhosted.org/packages/e3/ac/c4e18b36d9938247e2b54f6a03746f3183ca20e1edd7d3654796867f5100/rpds_py-0.24.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b2356688e5d958c4d5cb964af865bea84db29971d3e563fb78e46e20fe1848b", size = 441494, upload_time = "2025-03-26T14:53:57.047Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/08/b543969c12a8f44db6c0f08ced009abf8f519191ca6985509e7c44102e3c/rpds_py-0.24.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78884d155fd15d9f64f5d6124b486f3d3f7fd7cd71a78e9670a0f6f6ca06fb2d", size = 393185, upload_time = "2025-03-26T14:53:59.032Z" },
+ { url = "https://files.pythonhosted.org/packages/da/7e/f6eb6a7042ce708f9dfc781832a86063cea8a125bbe451d663697b51944f/rpds_py-0.24.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6a4a535013aeeef13c5532f802708cecae8d66c282babb5cd916379b72110cf7", size = 426168, upload_time = "2025-03-26T14:54:00.661Z" },
+ { url = "https://files.pythonhosted.org/packages/38/b0/6cd2bb0509ac0b51af4bb138e145b7c4c902bb4b724d6fd143689d6e0383/rpds_py-0.24.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:84e0566f15cf4d769dade9b366b7b87c959be472c92dffb70462dd0844d7cbad", size = 567622, upload_time = "2025-03-26T14:54:02.312Z" },
+ { url = "https://files.pythonhosted.org/packages/64/b0/c401f4f077547d98e8b4c2ec6526a80e7cb04f519d416430ec1421ee9e0b/rpds_py-0.24.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:823e74ab6fbaa028ec89615ff6acb409e90ff45580c45920d4dfdddb069f2120", size = 595435, upload_time = "2025-03-26T14:54:04.388Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/ec/7993b6e803294c87b61c85bd63e11142ccfb2373cf88a61ec602abcbf9d6/rpds_py-0.24.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c61a2cb0085c8783906b2f8b1f16a7e65777823c7f4d0a6aaffe26dc0d358dd9", size = 563762, upload_time = "2025-03-26T14:54:06.422Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/29/4508003204cb2f461dc2b83dd85f8aa2b915bc98fe6046b9d50d4aa05401/rpds_py-0.24.0-cp313-cp313-win32.whl", hash = "sha256:60d9b630c8025b9458a9d114e3af579a2c54bd32df601c4581bd054e85258143", size = 223510, upload_time = "2025-03-26T14:54:08.344Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/12/09e048d1814195e01f354155fb772fb0854bd3450b5f5a82224b3a319f0e/rpds_py-0.24.0-cp313-cp313-win_amd64.whl", hash = "sha256:6eea559077d29486c68218178ea946263b87f1c41ae7f996b1f30a983c476a5a", size = 239075, upload_time = "2025-03-26T14:54:09.992Z" },
+ { url = "https://files.pythonhosted.org/packages/d2/03/5027cde39bb2408d61e4dd0cf81f815949bb629932a6c8df1701d0257fc4/rpds_py-0.24.0-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:d09dc82af2d3c17e7dd17120b202a79b578d79f2b5424bda209d9966efeed114", size = 362974, upload_time = "2025-03-26T14:54:11.484Z" },
+ { url = "https://files.pythonhosted.org/packages/bf/10/24d374a2131b1ffafb783e436e770e42dfdb74b69a2cd25eba8c8b29d861/rpds_py-0.24.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5fc13b44de6419d1e7a7e592a4885b323fbc2f46e1f22151e3a8ed3b8b920405", size = 348730, upload_time = "2025-03-26T14:54:13.145Z" },
+ { url = "https://files.pythonhosted.org/packages/7a/d1/1ef88d0516d46cd8df12e5916966dbf716d5ec79b265eda56ba1b173398c/rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c347a20d79cedc0a7bd51c4d4b7dbc613ca4e65a756b5c3e57ec84bd43505b47", size = 387627, upload_time = "2025-03-26T14:54:14.711Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/35/07339051b8b901ecefd449ebf8e5522e92bcb95e1078818cbfd9db8e573c/rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:20f2712bd1cc26a3cc16c5a1bfee9ed1abc33d4cdf1aabd297fe0eb724df4272", size = 394094, upload_time = "2025-03-26T14:54:16.961Z" },
+ { url = "https://files.pythonhosted.org/packages/dc/62/ee89ece19e0ba322b08734e95441952062391065c157bbd4f8802316b4f1/rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aad911555286884be1e427ef0dc0ba3929e6821cbeca2194b13dc415a462c7fd", size = 449639, upload_time = "2025-03-26T14:54:19.047Z" },
+ { url = "https://files.pythonhosted.org/packages/15/24/b30e9f9e71baa0b9dada3a4ab43d567c6b04a36d1cb531045f7a8a0a7439/rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0aeb3329c1721c43c58cae274d7d2ca85c1690d89485d9c63a006cb79a85771a", size = 438584, upload_time = "2025-03-26T14:54:20.722Z" },
+ { url = "https://files.pythonhosted.org/packages/28/d9/49f7b8f3b4147db13961e19d5e30077cd0854ccc08487026d2cb2142aa4a/rpds_py-0.24.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2a0f156e9509cee987283abd2296ec816225145a13ed0391df8f71bf1d789e2d", size = 391047, upload_time = "2025-03-26T14:54:22.426Z" },
+ { url = "https://files.pythonhosted.org/packages/49/b0/e66918d0972c33a259ba3cd7b7ff10ed8bd91dbcfcbec6367b21f026db75/rpds_py-0.24.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aa6800adc8204ce898c8a424303969b7aa6a5e4ad2789c13f8648739830323b7", size = 418085, upload_time = "2025-03-26T14:54:23.949Z" },
+ { url = "https://files.pythonhosted.org/packages/e1/6b/99ed7ea0a94c7ae5520a21be77a82306aac9e4e715d4435076ead07d05c6/rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:a18fc371e900a21d7392517c6f60fe859e802547309e94313cd8181ad9db004d", size = 564498, upload_time = "2025-03-26T14:54:25.573Z" },
+ { url = "https://files.pythonhosted.org/packages/28/26/1cacfee6b800e6fb5f91acecc2e52f17dbf8b0796a7c984b4568b6d70e38/rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:9168764133fd919f8dcca2ead66de0105f4ef5659cbb4fa044f7014bed9a1797", size = 590202, upload_time = "2025-03-26T14:54:27.569Z" },
+ { url = "https://files.pythonhosted.org/packages/a9/9e/57bd2f9fba04a37cef673f9a66b11ca8c43ccdd50d386c455cd4380fe461/rpds_py-0.24.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:5f6e3cec44ba05ee5cbdebe92d052f69b63ae792e7d05f1020ac5e964394080c", size = 561771, upload_time = "2025-03-26T14:54:29.615Z" },
+ { url = "https://files.pythonhosted.org/packages/9f/cf/b719120f375ab970d1c297dbf8de1e3c9edd26fe92c0ed7178dd94b45992/rpds_py-0.24.0-cp313-cp313t-win32.whl", hash = "sha256:8ebc7e65ca4b111d928b669713865f021b7773350eeac4a31d3e70144297baba", size = 221195, upload_time = "2025-03-26T14:54:31.581Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/e5/22865285789f3412ad0c3d7ec4dc0a3e86483b794be8a5d9ed5a19390900/rpds_py-0.24.0-cp313-cp313t-win_amd64.whl", hash = "sha256:675269d407a257b8c00a6b58205b72eec8231656506c56fd429d924ca00bb350", size = 237354, upload_time = "2025-03-26T14:54:33.199Z" },
+ { url = "https://files.pythonhosted.org/packages/65/53/40bcc246a8354530d51a26d2b5b9afd1deacfb0d79e67295cc74df362f52/rpds_py-0.24.0-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f9e0057a509e096e47c87f753136c9b10d7a91842d8042c2ee6866899a717c0d", size = 378386, upload_time = "2025-03-26T14:55:20.381Z" },
+ { url = "https://files.pythonhosted.org/packages/80/b0/5ea97dd2f53e3618560aa1f9674e896e63dff95a9b796879a201bc4c1f00/rpds_py-0.24.0-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d6e109a454412ab82979c5b1b3aee0604eca4bbf9a02693bb9df027af2bfa91a", size = 363440, upload_time = "2025-03-26T14:55:22.121Z" },
+ { url = "https://files.pythonhosted.org/packages/57/9d/259b6eada6f747cdd60c9a5eb3efab15f6704c182547149926c38e5bd0d5/rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc1c892b1ec1f8cbd5da8de287577b455e388d9c328ad592eabbdcb6fc93bee5", size = 388816, upload_time = "2025-03-26T14:55:23.737Z" },
+ { url = "https://files.pythonhosted.org/packages/94/c1/faafc7183712f89f4b7620c3c15979ada13df137d35ef3011ae83e93b005/rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9c39438c55983d48f4bb3487734d040e22dad200dab22c41e331cee145e7a50d", size = 395058, upload_time = "2025-03-26T14:55:25.468Z" },
+ { url = "https://files.pythonhosted.org/packages/6c/96/d7fa9d2a7b7604a61da201cc0306a355006254942093779d7121c64700ce/rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9d7e8ce990ae17dda686f7e82fd41a055c668e13ddcf058e7fb5e9da20b57793", size = 448692, upload_time = "2025-03-26T14:55:27.535Z" },
+ { url = "https://files.pythonhosted.org/packages/96/37/a3146c6eebc65d6d8c96cc5ffdcdb6af2987412c789004213227fbe52467/rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ea7f4174d2e4194289cb0c4e172d83e79a6404297ff95f2875cf9ac9bced8ba", size = 446462, upload_time = "2025-03-26T14:55:29.299Z" },
+ { url = "https://files.pythonhosted.org/packages/1f/13/6481dfd9ac7de43acdaaa416e3a7da40bc4bb8f5c6ca85e794100aa54596/rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb2954155bb8f63bb19d56d80e5e5320b61d71084617ed89efedb861a684baea", size = 390460, upload_time = "2025-03-26T14:55:31.017Z" },
+ { url = "https://files.pythonhosted.org/packages/61/e1/37e36bce65e109543cc4ff8d23206908649023549604fa2e7fbeba5342f7/rpds_py-0.24.0-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04f2b712a2206e13800a8136b07aaedc23af3facab84918e7aa89e4be0260032", size = 421609, upload_time = "2025-03-26T14:55:32.84Z" },
+ { url = "https://files.pythonhosted.org/packages/20/dd/1f1a923d6cd798b8582176aca8a0784676f1a0449fb6f07fce6ac1cdbfb6/rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:eda5c1e2a715a4cbbca2d6d304988460942551e4e5e3b7457b50943cd741626d", size = 565818, upload_time = "2025-03-26T14:55:34.538Z" },
+ { url = "https://files.pythonhosted.org/packages/56/ec/d8da6df6a1eb3a418944a17b1cb38dd430b9e5a2e972eafd2b06f10c7c46/rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:9abc80fe8c1f87218db116016de575a7998ab1629078c90840e8d11ab423ee25", size = 592627, upload_time = "2025-03-26T14:55:36.26Z" },
+ { url = "https://files.pythonhosted.org/packages/b3/14/c492b9c7d5dd133e13f211ddea6bb9870f99e4f73932f11aa00bc09a9be9/rpds_py-0.24.0-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:6a727fd083009bc83eb83d6950f0c32b3c94c8b80a9b667c87f4bd1274ca30ba", size = 560885, upload_time = "2025-03-26T14:55:38Z" },
]
[[package]]
name = "ruff"
-version = "0.9.5"
+version = "0.11.6"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/02/74/6c359f6b9ed85b88df6ef31febce18faeb852f6c9855651dfb1184a46845/ruff-0.9.5.tar.gz", hash = "sha256:11aecd7a633932875ab3cb05a484c99970b9d52606ce9ea912b690b02653d56c", size = 3634177 }
+sdist = { url = "https://files.pythonhosted.org/packages/d9/11/bcef6784c7e5d200b8a1f5c2ddf53e5da0efec37e6e5a44d163fb97e04ba/ruff-0.11.6.tar.gz", hash = "sha256:bec8bcc3ac228a45ccc811e45f7eb61b950dbf4cf31a67fa89352574b01c7d79", size = 4010053, upload_time = "2025-04-17T13:35:53.905Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/17/4b/82b7c9ac874e72b82b19fd7eab57d122e2df44d2478d90825854f9232d02/ruff-0.9.5-py3-none-linux_armv6l.whl", hash = "sha256:d466d2abc05f39018d53f681fa1c0ffe9570e6d73cde1b65d23bb557c846f442", size = 11681264 },
- { url = "https://files.pythonhosted.org/packages/27/5c/f5ae0a9564e04108c132e1139d60491c0abc621397fe79a50b3dc0bd704b/ruff-0.9.5-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:38840dbcef63948657fa7605ca363194d2fe8c26ce8f9ae12eee7f098c85ac8a", size = 11657554 },
- { url = "https://files.pythonhosted.org/packages/2a/83/c6926fa3ccb97cdb3c438bb56a490b395770c750bf59f9bc1fe57ae88264/ruff-0.9.5-py3-none-macosx_11_0_arm64.whl", hash = "sha256:d56ba06da53536b575fbd2b56517f6f95774ff7be0f62c80b9e67430391eeb36", size = 11088959 },
- { url = "https://files.pythonhosted.org/packages/af/a7/42d1832b752fe969ffdbfcb1b4cb477cb271bed5835110fb0a16ef31ab81/ruff-0.9.5-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f7cb2a01da08244c50b20ccfaeb5972e4228c3c3a1989d3ece2bc4b1f996001", size = 11902041 },
- { url = "https://files.pythonhosted.org/packages/53/cf/1fffa09fb518d646f560ccfba59f91b23c731e461d6a4dedd21a393a1ff1/ruff-0.9.5-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:96d5c76358419bc63a671caac70c18732d4fd0341646ecd01641ddda5c39ca0b", size = 11421069 },
- { url = "https://files.pythonhosted.org/packages/09/27/bb8f1b7304e2a9431f631ae7eadc35550fe0cf620a2a6a0fc4aa3d736f94/ruff-0.9.5-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:deb8304636ed394211f3a6d46c0e7d9535b016f53adaa8340139859b2359a070", size = 12625095 },
- { url = "https://files.pythonhosted.org/packages/d7/ce/ab00bc9d3df35a5f1b64f5117458160a009f93ae5caf65894ebb63a1842d/ruff-0.9.5-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:df455000bf59e62b3e8c7ba5ed88a4a2bc64896f900f311dc23ff2dc38156440", size = 13257797 },
- { url = "https://files.pythonhosted.org/packages/88/81/c639a082ae6d8392bc52256058ec60f493c6a4d06d5505bccface3767e61/ruff-0.9.5-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de92170dfa50c32a2b8206a647949590e752aca8100a0f6b8cefa02ae29dce80", size = 12763793 },
- { url = "https://files.pythonhosted.org/packages/b3/d0/0a3d8f56d1e49af466dc770eeec5c125977ba9479af92e484b5b0251ce9c/ruff-0.9.5-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d28532d73b1f3f627ba88e1456f50748b37f3a345d2be76e4c653bec6c3e393", size = 14386234 },
- { url = "https://files.pythonhosted.org/packages/04/70/e59c192a3ad476355e7f45fb3a87326f5219cc7c472e6b040c6c6595c8f0/ruff-0.9.5-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c746d7d1df64f31d90503ece5cc34d7007c06751a7a3bbeee10e5f2463d52d2", size = 12437505 },
- { url = "https://files.pythonhosted.org/packages/55/4e/3abba60a259d79c391713e7a6ccabf7e2c96e5e0a19100bc4204f1a43a51/ruff-0.9.5-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:11417521d6f2d121fda376f0d2169fb529976c544d653d1d6044f4c5562516ee", size = 11884799 },
- { url = "https://files.pythonhosted.org/packages/a3/db/b0183a01a9f25b4efcae919c18fb41d32f985676c917008620ad692b9d5f/ruff-0.9.5-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:5b9d71c3879eb32de700f2f6fac3d46566f644a91d3130119a6378f9312a38e1", size = 11527411 },
- { url = "https://files.pythonhosted.org/packages/0a/e4/3ebfcebca3dff1559a74c6becff76e0b64689cea02b7aab15b8b32ea245d/ruff-0.9.5-py3-none-musllinux_1_2_i686.whl", hash = "sha256:2e36c61145e70febcb78483903c43444c6b9d40f6d2f800b5552fec6e4a7bb9a", size = 12078868 },
- { url = "https://files.pythonhosted.org/packages/ec/b2/5ab808833e06c0a1b0d046a51c06ec5687b73c78b116e8d77687dc0cd515/ruff-0.9.5-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:2f71d09aeba026c922aa7aa19a08d7bd27c867aedb2f74285a2639644c1c12f5", size = 12524374 },
- { url = "https://files.pythonhosted.org/packages/e0/51/1432afcc3b7aa6586c480142caae5323d59750925c3559688f2a9867343f/ruff-0.9.5-py3-none-win32.whl", hash = "sha256:134f958d52aa6fdec3b294b8ebe2320a950d10c041473c4316d2e7d7c2544723", size = 9853682 },
- { url = "https://files.pythonhosted.org/packages/b7/ad/c7a900591bd152bb47fc4882a27654ea55c7973e6d5d6396298ad3fd6638/ruff-0.9.5-py3-none-win_amd64.whl", hash = "sha256:78cc6067f6d80b6745b67498fb84e87d32c6fc34992b52bffefbdae3442967d6", size = 10865744 },
- { url = "https://files.pythonhosted.org/packages/75/d9/fde7610abd53c0c76b6af72fc679cb377b27c617ba704e25da834e0a0608/ruff-0.9.5-py3-none-win_arm64.whl", hash = "sha256:18a29f1a005bddb229e580795627d297dfa99f16b30c7039e73278cf6b5f9fa9", size = 10064595 },
+ { url = "https://files.pythonhosted.org/packages/6e/1f/8848b625100ebcc8740c8bac5b5dd8ba97dd4ee210970e98832092c1635b/ruff-0.11.6-py3-none-linux_armv6l.whl", hash = "sha256:d84dcbe74cf9356d1bdb4a78cf74fd47c740bf7bdeb7529068f69b08272239a1", size = 10248105, upload_time = "2025-04-17T13:35:14.758Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/47/c44036e70c6cc11e6ee24399c2a1e1f1e99be5152bd7dff0190e4b325b76/ruff-0.11.6-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:9bc583628e1096148011a5d51ff3c836f51899e61112e03e5f2b1573a9b726de", size = 11001494, upload_time = "2025-04-17T13:35:18.444Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/5b/170444061650202d84d316e8f112de02d092bff71fafe060d3542f5bc5df/ruff-0.11.6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:f2959049faeb5ba5e3b378709e9d1bf0cab06528b306b9dd6ebd2a312127964a", size = 10352151, upload_time = "2025-04-17T13:35:20.563Z" },
+ { url = "https://files.pythonhosted.org/packages/ff/91/f02839fb3787c678e112c8865f2c3e87cfe1744dcc96ff9fc56cfb97dda2/ruff-0.11.6-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63c5d4e30d9d0de7fedbfb3e9e20d134b73a30c1e74b596f40f0629d5c28a193", size = 10541951, upload_time = "2025-04-17T13:35:22.522Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/f3/c09933306096ff7a08abede3cc2534d6fcf5529ccd26504c16bf363989b5/ruff-0.11.6-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:26a4b9a4e1439f7d0a091c6763a100cef8fbdc10d68593df6f3cfa5abdd9246e", size = 10079195, upload_time = "2025-04-17T13:35:24.485Z" },
+ { url = "https://files.pythonhosted.org/packages/e0/0d/a87f8933fccbc0d8c653cfbf44bedda69c9582ba09210a309c066794e2ee/ruff-0.11.6-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b5edf270223dd622218256569636dc3e708c2cb989242262fe378609eccf1308", size = 11698918, upload_time = "2025-04-17T13:35:26.504Z" },
+ { url = "https://files.pythonhosted.org/packages/52/7d/8eac0bd083ea8a0b55b7e4628428203441ca68cd55e0b67c135a4bc6e309/ruff-0.11.6-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:f55844e818206a9dd31ff27f91385afb538067e2dc0beb05f82c293ab84f7d55", size = 12319426, upload_time = "2025-04-17T13:35:28.452Z" },
+ { url = "https://files.pythonhosted.org/packages/c2/dc/d0c17d875662d0c86fadcf4ca014ab2001f867621b793d5d7eef01b9dcce/ruff-0.11.6-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d8f782286c5ff562e4e00344f954b9320026d8e3fae2ba9e6948443fafd9ffc", size = 11791012, upload_time = "2025-04-17T13:35:30.455Z" },
+ { url = "https://files.pythonhosted.org/packages/f9/f3/81a1aea17f1065449a72509fc7ccc3659cf93148b136ff2a8291c4bc3ef1/ruff-0.11.6-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:01c63ba219514271cee955cd0adc26a4083df1956d57847978383b0e50ffd7d2", size = 13949947, upload_time = "2025-04-17T13:35:33.133Z" },
+ { url = "https://files.pythonhosted.org/packages/61/9f/a3e34de425a668284e7024ee6fd41f452f6fa9d817f1f3495b46e5e3a407/ruff-0.11.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15adac20ef2ca296dd3d8e2bedc6202ea6de81c091a74661c3666e5c4c223ff6", size = 11471753, upload_time = "2025-04-17T13:35:35.416Z" },
+ { url = "https://files.pythonhosted.org/packages/df/c5/4a57a86d12542c0f6e2744f262257b2aa5a3783098ec14e40f3e4b3a354a/ruff-0.11.6-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:4dd6b09e98144ad7aec026f5588e493c65057d1b387dd937d7787baa531d9bc2", size = 10417121, upload_time = "2025-04-17T13:35:38.224Z" },
+ { url = "https://files.pythonhosted.org/packages/58/3f/a3b4346dff07ef5b862e2ba06d98fcbf71f66f04cf01d375e871382b5e4b/ruff-0.11.6-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:45b2e1d6c0eed89c248d024ea95074d0e09988d8e7b1dad8d3ab9a67017a5b03", size = 10073829, upload_time = "2025-04-17T13:35:40.255Z" },
+ { url = "https://files.pythonhosted.org/packages/93/cc/7ed02e0b86a649216b845b3ac66ed55d8aa86f5898c5f1691797f408fcb9/ruff-0.11.6-py3-none-musllinux_1_2_i686.whl", hash = "sha256:bd40de4115b2ec4850302f1a1d8067f42e70b4990b68838ccb9ccd9f110c5e8b", size = 11076108, upload_time = "2025-04-17T13:35:42.559Z" },
+ { url = "https://files.pythonhosted.org/packages/39/5e/5b09840fef0eff1a6fa1dea6296c07d09c17cb6fb94ed5593aa591b50460/ruff-0.11.6-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:77cda2dfbac1ab73aef5e514c4cbfc4ec1fbef4b84a44c736cc26f61b3814cd9", size = 11512366, upload_time = "2025-04-17T13:35:45.702Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/4c/1cd5a84a412d3626335ae69f5f9de2bb554eea0faf46deb1f0cb48534042/ruff-0.11.6-py3-none-win32.whl", hash = "sha256:5151a871554be3036cd6e51d0ec6eef56334d74dfe1702de717a995ee3d5b287", size = 10485900, upload_time = "2025-04-17T13:35:47.695Z" },
+ { url = "https://files.pythonhosted.org/packages/42/46/8997872bc44d43df986491c18d4418f1caff03bc47b7f381261d62c23442/ruff-0.11.6-py3-none-win_amd64.whl", hash = "sha256:cce85721d09c51f3b782c331b0abd07e9d7d5f775840379c640606d3159cae0e", size = 11558592, upload_time = "2025-04-17T13:35:49.837Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/6a/65fecd51a9ca19e1477c3879a7fda24f8904174d1275b419422ac00f6eee/ruff-0.11.6-py3-none-win_arm64.whl", hash = "sha256:3567ba0d07fb170b1b48d944715e3294b77f5b7679e8ba258199a250383ccb79", size = 10682766, upload_time = "2025-04-17T13:35:52.014Z" },
]
[[package]]
name = "six"
version = "1.17.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031 }
+sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload_time = "2024-12-04T17:35:28.174Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050 },
+ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload_time = "2024-12-04T17:35:26.475Z" },
]
[[package]]
name = "sniffio"
version = "1.3.1"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372 }
+sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload_time = "2024-02-25T23:20:04.057Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235 },
+ { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload_time = "2024-02-25T23:20:01.196Z" },
]
[[package]]
@@ -1142,138 +1238,170 @@ dependencies = [
{ name = "anyio" },
{ name = "starlette" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376 }
+sdist = { url = "https://files.pythonhosted.org/packages/71/a4/80d2a11af59fe75b48230846989e93979c892d3a20016b42bb44edb9e398/sse_starlette-2.2.1.tar.gz", hash = "sha256:54470d5f19274aeed6b2d473430b08b4b379ea851d953b11d7f1c4a2c118b419", size = 17376, upload_time = "2024-12-25T09:09:30.616Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120 },
+ { url = "https://files.pythonhosted.org/packages/d9/e0/5b8bd393f27f4a62461c5cf2479c75a2cc2ffa330976f9f00f5f6e4f50eb/sse_starlette-2.2.1-py3-none-any.whl", hash = "sha256:6410a3d3ba0c89e7675d4c273a301d64649c03a5ef1ca101f10b47f895fd0e99", size = 10120, upload_time = "2024-12-25T09:09:26.761Z" },
]
[[package]]
name = "starlette"
-version = "0.45.3"
+version = "0.46.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "anyio" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/ff/fb/2984a686808b89a6781526129a4b51266f678b2d2b97ab2d325e56116df8/starlette-0.45.3.tar.gz", hash = "sha256:2cbcba2a75806f8a41c722141486f37c28e30a0921c5f6fe4346cb0dcee1302f", size = 2574076 }
+sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload_time = "2025-04-13T13:56:17.942Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/d9/61/f2b52e107b1fc8944b33ef56bf6ac4ebbe16d91b94d2b87ce013bf63fb84/starlette-0.45.3-py3-none-any.whl", hash = "sha256:dfb6d332576f136ec740296c7e8bb8c8a7125044e7c6da30744718880cdd059d", size = 71507 },
+ { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload_time = "2025-04-13T13:56:16.21Z" },
]
[[package]]
name = "typing-extensions"
-version = "4.12.2"
+version = "4.13.2"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/df/db/f35a00659bc03fec321ba8bce9420de607a1d37f8342eee1863174c69557/typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8", size = 85321 }
+sdist = { url = "https://files.pythonhosted.org/packages/f6/37/23083fcd6e35492953e8d2aaaa68b860eb422b34627b13f2ce3eb6106061/typing_extensions-4.13.2.tar.gz", hash = "sha256:e6c81219bd689f51865d9e372991c540bda33a0379d5573cddb9a3a23f7caaef", size = 106967, upload_time = "2025-04-10T14:19:05.416Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/26/9f/ad63fc0248c5379346306f8668cda6e2e2e9c95e01216d2b8ffd9ff037d0/typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d", size = 37438 },
+ { url = "https://files.pythonhosted.org/packages/8b/54/b1ae86c0973cc6f0210b53d508ca3641fb6d0c56823f288d108bc7ab3cc8/typing_extensions-4.13.2-py3-none-any.whl", hash = "sha256:a439e7c04b49fec3e5d3e2beaa21755cadbbdc391694e28ccdd36ca4a1408f8c", size = 45806, upload_time = "2025-04-10T14:19:03.967Z" },
+]
+
+[[package]]
+name = "typing-inspection"
+version = "0.4.0"
+source = { registry = "https://pypi.org/simple" }
+dependencies = [
+ { name = "typing-extensions" },
+]
+sdist = { url = "https://files.pythonhosted.org/packages/82/5c/e6082df02e215b846b4b8c0b887a64d7d08ffaba30605502639d44c06b82/typing_inspection-0.4.0.tar.gz", hash = "sha256:9765c87de36671694a67904bf2c96e395be9c6439bb6c87b5142569dcdd65122", size = 76222, upload_time = "2025-02-25T17:27:59.638Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/31/08/aa4fdfb71f7de5176385bd9e90852eaf6b5d622735020ad600f2bab54385/typing_inspection-0.4.0-py3-none-any.whl", hash = "sha256:50e72559fcd2a6367a19f7a7e610e6afcb9fac940c650290eed893d61386832f", size = 14125, upload_time = "2025-02-25T17:27:57.754Z" },
]
[[package]]
name = "urllib3"
-version = "2.3.0"
+version = "2.4.0"
source = { registry = "https://pypi.org/simple" }
-sdist = { url = "https://files.pythonhosted.org/packages/aa/63/e53da845320b757bf29ef6a9062f5c669fe997973f966045cb019c3f4b66/urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d", size = 307268 }
+sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload_time = "2025-04-10T15:23:39.232Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/c8/19/4ec628951a74043532ca2cf5d97b7b14863931476d117c471e8e2b1eb39f/urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df", size = 128369 },
+ { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload_time = "2025-04-10T15:23:37.377Z" },
]
[[package]]
name = "uvicorn"
-version = "0.34.0"
+version = "0.34.2"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "click" },
{ name = "h11" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/4b/4d/938bd85e5bf2edeec766267a5015ad969730bb91e31b44021dfe8b22df6c/uvicorn-0.34.0.tar.gz", hash = "sha256:404051050cd7e905de2c9a7e61790943440b3416f49cb409f965d9dcd0fa73e9", size = 76568 }
+sdist = { url = "https://files.pythonhosted.org/packages/a6/ae/9bbb19b9e1c450cf9ecaef06463e40234d98d95bf572fab11b4f19ae5ded/uvicorn-0.34.2.tar.gz", hash = "sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328", size = 76815, upload_time = "2025-04-19T06:02:50.101Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/61/14/33a3a1352cfa71812a3a21e8c9bfb83f60b0011f5e36f2b1399d51928209/uvicorn-0.34.0-py3-none-any.whl", hash = "sha256:023dc038422502fa28a09c7a30bf2b6991512da7dcdb8fd35fe57cfc154126f4", size = 62315 },
+ { url = "https://files.pythonhosted.org/packages/b1/4b/4cef6ce21a2aaca9d852a6e84ef4f135d99fcd74fa75105e2fc0c8308acd/uvicorn-0.34.2-py3-none-any.whl", hash = "sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403", size = 62483, upload_time = "2025-04-19T06:02:48.42Z" },
]
[[package]]
name = "virtualenv"
-version = "20.29.1"
+version = "20.30.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "distlib" },
{ name = "filelock" },
{ name = "platformdirs" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/a7/ca/f23dcb02e161a9bba141b1c08aa50e8da6ea25e6d780528f1d385a3efe25/virtualenv-20.29.1.tar.gz", hash = "sha256:b8b8970138d32fb606192cb97f6cd4bb644fa486be9308fb9b63f81091b5dc35", size = 7658028 }
+sdist = { url = "https://files.pythonhosted.org/packages/38/e0/633e369b91bbc664df47dcb5454b6c7cf441e8f5b9d0c250ce9f0546401e/virtualenv-20.30.0.tar.gz", hash = "sha256:800863162bcaa5450a6e4d721049730e7f2dae07720e0902b0e4040bd6f9ada8", size = 4346945, upload_time = "2025-03-31T16:33:29.185Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/89/9b/599bcfc7064fbe5740919e78c5df18e5dceb0887e676256a1061bb5ae232/virtualenv-20.29.1-py3-none-any.whl", hash = "sha256:4e4cb403c0b0da39e13b46b1b2476e505cb0046b25f242bee80f62bf990b2779", size = 4282379 },
+ { url = "https://files.pythonhosted.org/packages/4c/ed/3cfeb48175f0671ec430ede81f628f9fb2b1084c9064ca67ebe8c0ed6a05/virtualenv-20.30.0-py3-none-any.whl", hash = "sha256:e34302959180fca3af42d1800df014b35019490b119eba981af27f2fa486e5d6", size = 4329461, upload_time = "2025-03-31T16:33:26.758Z" },
]
[[package]]
name = "werkzeug"
-version = "3.1.3"
+version = "3.1.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "markupsafe" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/9f/69/83029f1f6300c5fb2471d621ab06f6ec6b3324685a2ce0f9777fd4a8b71e/werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746", size = 806925 }
+sdist = { url = "https://files.pythonhosted.org/packages/32/af/d4502dc713b4ccea7175d764718d5183caf8d0867a4f0190d5d4a45cea49/werkzeug-3.1.1.tar.gz", hash = "sha256:8cd39dfbdfc1e051965f156163e2974e52c210f130810e9ad36858f0fd3edad4", size = 806453, upload_time = "2024-11-01T16:40:45.462Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/52/24/ab44c871b0f07f491e5d2ad12c9bd7358e527510618cb1b803a88e986db1/werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e", size = 224498 },
+ { url = "https://files.pythonhosted.org/packages/ee/ea/c67e1dee1ba208ed22c06d1d547ae5e293374bfc43e0eb0ef5e262b68561/werkzeug-3.1.1-py3-none-any.whl", hash = "sha256:a71124d1ef06008baafa3d266c02f56e1836a5984afd6dd6c9230669d60d9fb5", size = 224371, upload_time = "2024-11-01T16:40:43.994Z" },
]
[[package]]
name = "yarl"
-version = "1.18.3"
+version = "1.20.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "idna" },
{ name = "multidict" },
{ name = "propcache" },
]
-sdist = { url = "https://files.pythonhosted.org/packages/b7/9d/4b94a8e6d2b51b599516a5cb88e5bc99b4d8d4583e468057eaa29d5f0918/yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1", size = 181062 }
+sdist = { url = "https://files.pythonhosted.org/packages/62/51/c0edba5219027f6eab262e139f73e2417b0f4efffa23bf562f6e18f76ca5/yarl-1.20.0.tar.gz", hash = "sha256:686d51e51ee5dfe62dec86e4866ee0e9ed66df700d55c828a615640adc885307", size = 185258, upload_time = "2025-04-17T00:45:14.661Z" }
wheels = [
- { url = "https://files.pythonhosted.org/packages/40/93/282b5f4898d8e8efaf0790ba6d10e2245d2c9f30e199d1a85cae9356098c/yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069", size = 141555 },
- { url = "https://files.pythonhosted.org/packages/6d/9c/0a49af78df099c283ca3444560f10718fadb8a18dc8b3edf8c7bd9fd7d89/yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193", size = 94351 },
- { url = "https://files.pythonhosted.org/packages/5a/a1/205ab51e148fdcedad189ca8dd587794c6f119882437d04c33c01a75dece/yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889", size = 92286 },
- { url = "https://files.pythonhosted.org/packages/ed/fe/88b690b30f3f59275fb674f5f93ddd4a3ae796c2b62e5bb9ece8a4914b83/yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8", size = 340649 },
- { url = "https://files.pythonhosted.org/packages/07/eb/3b65499b568e01f36e847cebdc8d7ccb51fff716dbda1ae83c3cbb8ca1c9/yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca", size = 356623 },
- { url = "https://files.pythonhosted.org/packages/33/46/f559dc184280b745fc76ec6b1954de2c55595f0ec0a7614238b9ebf69618/yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8", size = 354007 },
- { url = "https://files.pythonhosted.org/packages/af/ba/1865d85212351ad160f19fb99808acf23aab9a0f8ff31c8c9f1b4d671fc9/yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae", size = 344145 },
- { url = "https://files.pythonhosted.org/packages/94/cb/5c3e975d77755d7b3d5193e92056b19d83752ea2da7ab394e22260a7b824/yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3", size = 336133 },
- { url = "https://files.pythonhosted.org/packages/19/89/b77d3fd249ab52a5c40859815765d35c91425b6bb82e7427ab2f78f5ff55/yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb", size = 347967 },
- { url = "https://files.pythonhosted.org/packages/35/bd/f6b7630ba2cc06c319c3235634c582a6ab014d52311e7d7c22f9518189b5/yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e", size = 346397 },
- { url = "https://files.pythonhosted.org/packages/18/1a/0b4e367d5a72d1f095318344848e93ea70da728118221f84f1bf6c1e39e7/yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59", size = 350206 },
- { url = "https://files.pythonhosted.org/packages/b5/cf/320fff4367341fb77809a2d8d7fe75b5d323a8e1b35710aafe41fdbf327b/yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d", size = 362089 },
- { url = "https://files.pythonhosted.org/packages/57/cf/aadba261d8b920253204085268bad5e8cdd86b50162fcb1b10c10834885a/yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e", size = 366267 },
- { url = "https://files.pythonhosted.org/packages/54/58/fb4cadd81acdee6dafe14abeb258f876e4dd410518099ae9a35c88d8097c/yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a", size = 359141 },
- { url = "https://files.pythonhosted.org/packages/9a/7a/4c571597589da4cd5c14ed2a0b17ac56ec9ee7ee615013f74653169e702d/yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1", size = 84402 },
- { url = "https://files.pythonhosted.org/packages/ae/7b/8600250b3d89b625f1121d897062f629883c2f45339623b69b1747ec65fa/yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5", size = 91030 },
- { url = "https://files.pythonhosted.org/packages/33/85/bd2e2729752ff4c77338e0102914897512e92496375e079ce0150a6dc306/yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50", size = 142644 },
- { url = "https://files.pythonhosted.org/packages/ff/74/1178322cc0f10288d7eefa6e4a85d8d2e28187ccab13d5b844e8b5d7c88d/yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576", size = 94962 },
- { url = "https://files.pythonhosted.org/packages/be/75/79c6acc0261e2c2ae8a1c41cf12265e91628c8c58ae91f5ff59e29c0787f/yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640", size = 92795 },
- { url = "https://files.pythonhosted.org/packages/6b/32/927b2d67a412c31199e83fefdce6e645247b4fb164aa1ecb35a0f9eb2058/yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2", size = 332368 },
- { url = "https://files.pythonhosted.org/packages/19/e5/859fca07169d6eceeaa4fde1997c91d8abde4e9a7c018e371640c2da2b71/yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75", size = 342314 },
- { url = "https://files.pythonhosted.org/packages/08/75/76b63ccd91c9e03ab213ef27ae6add2e3400e77e5cdddf8ed2dbc36e3f21/yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512", size = 341987 },
- { url = "https://files.pythonhosted.org/packages/1a/e1/a097d5755d3ea8479a42856f51d97eeff7a3a7160593332d98f2709b3580/yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba", size = 336914 },
- { url = "https://files.pythonhosted.org/packages/0b/42/e1b4d0e396b7987feceebe565286c27bc085bf07d61a59508cdaf2d45e63/yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb", size = 325765 },
- { url = "https://files.pythonhosted.org/packages/7e/18/03a5834ccc9177f97ca1bbb245b93c13e58e8225276f01eedc4cc98ab820/yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272", size = 344444 },
- { url = "https://files.pythonhosted.org/packages/c8/03/a713633bdde0640b0472aa197b5b86e90fbc4c5bc05b727b714cd8a40e6d/yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6", size = 340760 },
- { url = "https://files.pythonhosted.org/packages/eb/99/f6567e3f3bbad8fd101886ea0276c68ecb86a2b58be0f64077396cd4b95e/yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e", size = 346484 },
- { url = "https://files.pythonhosted.org/packages/8e/a9/84717c896b2fc6cb15bd4eecd64e34a2f0a9fd6669e69170c73a8b46795a/yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb", size = 359864 },
- { url = "https://files.pythonhosted.org/packages/1e/2e/d0f5f1bef7ee93ed17e739ec8dbcb47794af891f7d165fa6014517b48169/yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393", size = 364537 },
- { url = "https://files.pythonhosted.org/packages/97/8a/568d07c5d4964da5b02621a517532adb8ec5ba181ad1687191fffeda0ab6/yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285", size = 357861 },
- { url = "https://files.pythonhosted.org/packages/7d/e3/924c3f64b6b3077889df9a1ece1ed8947e7b61b0a933f2ec93041990a677/yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2", size = 84097 },
- { url = "https://files.pythonhosted.org/packages/34/45/0e055320daaabfc169b21ff6174567b2c910c45617b0d79c68d7ab349b02/yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477", size = 90399 },
- { url = "https://files.pythonhosted.org/packages/30/c7/c790513d5328a8390be8f47be5d52e141f78b66c6c48f48d241ca6bd5265/yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb", size = 140789 },
- { url = "https://files.pythonhosted.org/packages/30/aa/a2f84e93554a578463e2edaaf2300faa61c8701f0898725842c704ba5444/yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa", size = 94144 },
- { url = "https://files.pythonhosted.org/packages/c6/fc/d68d8f83714b221a85ce7866832cba36d7c04a68fa6a960b908c2c84f325/yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782", size = 91974 },
- { url = "https://files.pythonhosted.org/packages/56/4e/d2563d8323a7e9a414b5b25341b3942af5902a2263d36d20fb17c40411e2/yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0", size = 333587 },
- { url = "https://files.pythonhosted.org/packages/25/c9/cfec0bc0cac8d054be223e9f2c7909d3e8442a856af9dbce7e3442a8ec8d/yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482", size = 344386 },
- { url = "https://files.pythonhosted.org/packages/ab/5d/4c532190113b25f1364d25f4c319322e86232d69175b91f27e3ebc2caf9a/yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186", size = 345421 },
- { url = "https://files.pythonhosted.org/packages/23/d1/6cdd1632da013aa6ba18cee4d750d953104a5e7aac44e249d9410a972bf5/yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58", size = 339384 },
- { url = "https://files.pythonhosted.org/packages/9a/c4/6b3c39bec352e441bd30f432cda6ba51681ab19bb8abe023f0d19777aad1/yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53", size = 326689 },
- { url = "https://files.pythonhosted.org/packages/23/30/07fb088f2eefdc0aa4fc1af4e3ca4eb1a3aadd1ce7d866d74c0f124e6a85/yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2", size = 345453 },
- { url = "https://files.pythonhosted.org/packages/63/09/d54befb48f9cd8eec43797f624ec37783a0266855f4930a91e3d5c7717f8/yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8", size = 341872 },
- { url = "https://files.pythonhosted.org/packages/91/26/fd0ef9bf29dd906a84b59f0cd1281e65b0c3e08c6aa94b57f7d11f593518/yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1", size = 347497 },
- { url = "https://files.pythonhosted.org/packages/d9/b5/14ac7a256d0511b2ac168d50d4b7d744aea1c1aa20c79f620d1059aab8b2/yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a", size = 359981 },
- { url = "https://files.pythonhosted.org/packages/ca/b3/d493221ad5cbd18bc07e642894030437e405e1413c4236dd5db6e46bcec9/yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10", size = 366229 },
- { url = "https://files.pythonhosted.org/packages/04/56/6a3e2a5d9152c56c346df9b8fb8edd2c8888b1e03f96324d457e5cf06d34/yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8", size = 360383 },
- { url = "https://files.pythonhosted.org/packages/fd/b7/4b3c7c7913a278d445cc6284e59b2e62fa25e72758f888b7a7a39eb8423f/yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d", size = 310152 },
- { url = "https://files.pythonhosted.org/packages/f5/d5/688db678e987c3e0fb17867970700b92603cadf36c56e5fb08f23e822a0c/yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c", size = 315723 },
- { url = "https://files.pythonhosted.org/packages/f5/4b/a06e0ec3d155924f77835ed2d167ebd3b211a7b0853da1cf8d8414d784ef/yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b", size = 45109 },
+ { url = "https://files.pythonhosted.org/packages/60/82/a59d8e21b20ffc836775fa7daedac51d16bb8f3010c4fcb495c4496aa922/yarl-1.20.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fdb5204d17cb32b2de2d1e21c7461cabfacf17f3645e4b9039f210c5d3378bf3", size = 145178, upload_time = "2025-04-17T00:42:04.511Z" },
+ { url = "https://files.pythonhosted.org/packages/ba/81/315a3f6f95947cfbf37c92d6fbce42a1a6207b6c38e8c2b452499ec7d449/yarl-1.20.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:eaddd7804d8e77d67c28d154ae5fab203163bd0998769569861258e525039d2a", size = 96859, upload_time = "2025-04-17T00:42:06.43Z" },
+ { url = "https://files.pythonhosted.org/packages/ad/17/9b64e575583158551b72272a1023cdbd65af54fe13421d856b2850a6ddb7/yarl-1.20.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:634b7ba6b4a85cf67e9df7c13a7fb2e44fa37b5d34501038d174a63eaac25ee2", size = 94647, upload_time = "2025-04-17T00:42:07.976Z" },
+ { url = "https://files.pythonhosted.org/packages/2c/29/8f291e7922a58a21349683f6120a85701aeefaa02e9f7c8a2dc24fe3f431/yarl-1.20.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6d409e321e4addf7d97ee84162538c7258e53792eb7c6defd0c33647d754172e", size = 355788, upload_time = "2025-04-17T00:42:09.902Z" },
+ { url = "https://files.pythonhosted.org/packages/26/6d/b4892c80b805c42c228c6d11e03cafabf81662d371b0853e7f0f513837d5/yarl-1.20.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:ea52f7328a36960ba3231c6677380fa67811b414798a6e071c7085c57b6d20a9", size = 344613, upload_time = "2025-04-17T00:42:11.768Z" },
+ { url = "https://files.pythonhosted.org/packages/d7/0e/517aa28d3f848589bae9593717b063a544b86ba0a807d943c70f48fcf3bb/yarl-1.20.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c8703517b924463994c344dcdf99a2d5ce9eca2b6882bb640aa555fb5efc706a", size = 370953, upload_time = "2025-04-17T00:42:13.983Z" },
+ { url = "https://files.pythonhosted.org/packages/5f/9b/5bd09d2f1ad6e6f7c2beae9e50db78edd2cca4d194d227b958955573e240/yarl-1.20.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:077989b09ffd2f48fb2d8f6a86c5fef02f63ffe6b1dd4824c76de7bb01e4f2e2", size = 369204, upload_time = "2025-04-17T00:42:16.386Z" },
+ { url = "https://files.pythonhosted.org/packages/9c/85/d793a703cf4bd0d4cd04e4b13cc3d44149470f790230430331a0c1f52df5/yarl-1.20.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0acfaf1da020253f3533526e8b7dd212838fdc4109959a2c53cafc6db611bff2", size = 358108, upload_time = "2025-04-17T00:42:18.622Z" },
+ { url = "https://files.pythonhosted.org/packages/6f/54/b6c71e13549c1f6048fbc14ce8d930ac5fb8bafe4f1a252e621a24f3f1f9/yarl-1.20.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b4230ac0b97ec5eeb91d96b324d66060a43fd0d2a9b603e3327ed65f084e41f8", size = 346610, upload_time = "2025-04-17T00:42:20.9Z" },
+ { url = "https://files.pythonhosted.org/packages/a0/1a/d6087d58bdd0d8a2a37bbcdffac9d9721af6ebe50d85304d9f9b57dfd862/yarl-1.20.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:0a6a1e6ae21cdd84011c24c78d7a126425148b24d437b5702328e4ba640a8902", size = 365378, upload_time = "2025-04-17T00:42:22.926Z" },
+ { url = "https://files.pythonhosted.org/packages/02/84/e25ddff4cbc001dbc4af76f8d41a3e23818212dd1f0a52044cbc60568872/yarl-1.20.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:86de313371ec04dd2531f30bc41a5a1a96f25a02823558ee0f2af0beaa7ca791", size = 356919, upload_time = "2025-04-17T00:42:25.145Z" },
+ { url = "https://files.pythonhosted.org/packages/04/76/898ae362353bf8f64636495d222c8014c8e5267df39b1a9fe1e1572fb7d0/yarl-1.20.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:dd59c9dd58ae16eaa0f48c3d0cbe6be8ab4dc7247c3ff7db678edecbaf59327f", size = 364248, upload_time = "2025-04-17T00:42:27.475Z" },
+ { url = "https://files.pythonhosted.org/packages/1b/b0/9d9198d83a622f1c40fdbf7bd13b224a6979f2e1fc2cf50bfb1d8773c495/yarl-1.20.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a0bc5e05f457b7c1994cc29e83b58f540b76234ba6b9648a4971ddc7f6aa52da", size = 378418, upload_time = "2025-04-17T00:42:29.333Z" },
+ { url = "https://files.pythonhosted.org/packages/c7/ce/1f50c1cc594cf5d3f5bf4a9b616fca68680deaec8ad349d928445ac52eb8/yarl-1.20.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:c9471ca18e6aeb0e03276b5e9b27b14a54c052d370a9c0c04a68cefbd1455eb4", size = 383850, upload_time = "2025-04-17T00:42:31.668Z" },
+ { url = "https://files.pythonhosted.org/packages/89/1e/a59253a87b35bfec1a25bb5801fb69943330b67cfd266278eb07e0609012/yarl-1.20.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:40ed574b4df723583a26c04b298b283ff171bcc387bc34c2683235e2487a65a5", size = 381218, upload_time = "2025-04-17T00:42:33.523Z" },
+ { url = "https://files.pythonhosted.org/packages/85/b0/26f87df2b3044b0ef1a7cf66d321102bdca091db64c5ae853fcb2171c031/yarl-1.20.0-cp311-cp311-win32.whl", hash = "sha256:db243357c6c2bf3cd7e17080034ade668d54ce304d820c2a58514a4e51d0cfd6", size = 86606, upload_time = "2025-04-17T00:42:35.873Z" },
+ { url = "https://files.pythonhosted.org/packages/33/46/ca335c2e1f90446a77640a45eeb1cd8f6934f2c6e4df7db0f0f36ef9f025/yarl-1.20.0-cp311-cp311-win_amd64.whl", hash = "sha256:8c12cd754d9dbd14204c328915e23b0c361b88f3cffd124129955e60a4fbfcfb", size = 93374, upload_time = "2025-04-17T00:42:37.586Z" },
+ { url = "https://files.pythonhosted.org/packages/c3/e8/3efdcb83073df978bb5b1a9cc0360ce596680e6c3fac01f2a994ccbb8939/yarl-1.20.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e06b9f6cdd772f9b665e5ba8161968e11e403774114420737f7884b5bd7bdf6f", size = 147089, upload_time = "2025-04-17T00:42:39.602Z" },
+ { url = "https://files.pythonhosted.org/packages/60/c3/9e776e98ea350f76f94dd80b408eaa54e5092643dbf65fd9babcffb60509/yarl-1.20.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b9ae2fbe54d859b3ade40290f60fe40e7f969d83d482e84d2c31b9bff03e359e", size = 97706, upload_time = "2025-04-17T00:42:41.469Z" },
+ { url = "https://files.pythonhosted.org/packages/0c/5b/45cdfb64a3b855ce074ae607b9fc40bc82e7613b94e7612b030255c93a09/yarl-1.20.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6d12b8945250d80c67688602c891237994d203d42427cb14e36d1a732eda480e", size = 95719, upload_time = "2025-04-17T00:42:43.666Z" },
+ { url = "https://files.pythonhosted.org/packages/2d/4e/929633b249611eeed04e2f861a14ed001acca3ef9ec2a984a757b1515889/yarl-1.20.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:087e9731884621b162a3e06dc0d2d626e1542a617f65ba7cc7aeab279d55ad33", size = 343972, upload_time = "2025-04-17T00:42:45.391Z" },
+ { url = "https://files.pythonhosted.org/packages/49/fd/047535d326c913f1a90407a3baf7ff535b10098611eaef2c527e32e81ca1/yarl-1.20.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:69df35468b66c1a6e6556248e6443ef0ec5f11a7a4428cf1f6281f1879220f58", size = 339639, upload_time = "2025-04-17T00:42:47.552Z" },
+ { url = "https://files.pythonhosted.org/packages/48/2f/11566f1176a78f4bafb0937c0072410b1b0d3640b297944a6a7a556e1d0b/yarl-1.20.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b2992fe29002fd0d4cbaea9428b09af9b8686a9024c840b8a2b8f4ea4abc16f", size = 353745, upload_time = "2025-04-17T00:42:49.406Z" },
+ { url = "https://files.pythonhosted.org/packages/26/17/07dfcf034d6ae8837b33988be66045dd52f878dfb1c4e8f80a7343f677be/yarl-1.20.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4c903e0b42aab48abfbac668b5a9d7b6938e721a6341751331bcd7553de2dcae", size = 354178, upload_time = "2025-04-17T00:42:51.588Z" },
+ { url = "https://files.pythonhosted.org/packages/15/45/212604d3142d84b4065d5f8cab6582ed3d78e4cc250568ef2a36fe1cf0a5/yarl-1.20.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf099e2432131093cc611623e0b0bcc399b8cddd9a91eded8bfb50402ec35018", size = 349219, upload_time = "2025-04-17T00:42:53.674Z" },
+ { url = "https://files.pythonhosted.org/packages/e6/e0/a10b30f294111c5f1c682461e9459935c17d467a760c21e1f7db400ff499/yarl-1.20.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8a7f62f5dc70a6c763bec9ebf922be52aa22863d9496a9a30124d65b489ea672", size = 337266, upload_time = "2025-04-17T00:42:55.49Z" },
+ { url = "https://files.pythonhosted.org/packages/33/a6/6efa1d85a675d25a46a167f9f3e80104cde317dfdf7f53f112ae6b16a60a/yarl-1.20.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:54ac15a8b60382b2bcefd9a289ee26dc0920cf59b05368c9b2b72450751c6eb8", size = 360873, upload_time = "2025-04-17T00:42:57.895Z" },
+ { url = "https://files.pythonhosted.org/packages/77/67/c8ab718cb98dfa2ae9ba0f97bf3cbb7d45d37f13fe1fbad25ac92940954e/yarl-1.20.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:25b3bc0763a7aca16a0f1b5e8ef0f23829df11fb539a1b70476dcab28bd83da7", size = 360524, upload_time = "2025-04-17T00:43:00.094Z" },
+ { url = "https://files.pythonhosted.org/packages/bd/e8/c3f18660cea1bc73d9f8a2b3ef423def8dadbbae6c4afabdb920b73e0ead/yarl-1.20.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b2586e36dc070fc8fad6270f93242124df68b379c3a251af534030a4a33ef594", size = 365370, upload_time = "2025-04-17T00:43:02.242Z" },
+ { url = "https://files.pythonhosted.org/packages/c9/99/33f3b97b065e62ff2d52817155a89cfa030a1a9b43fee7843ef560ad9603/yarl-1.20.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:866349da9d8c5290cfefb7fcc47721e94de3f315433613e01b435473be63daa6", size = 373297, upload_time = "2025-04-17T00:43:04.189Z" },
+ { url = "https://files.pythonhosted.org/packages/3d/89/7519e79e264a5f08653d2446b26d4724b01198a93a74d2e259291d538ab1/yarl-1.20.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:33bb660b390a0554d41f8ebec5cd4475502d84104b27e9b42f5321c5192bfcd1", size = 378771, upload_time = "2025-04-17T00:43:06.609Z" },
+ { url = "https://files.pythonhosted.org/packages/3a/58/6c460bbb884abd2917c3eef6f663a4a873f8dc6f498561fc0ad92231c113/yarl-1.20.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:737e9f171e5a07031cbee5e9180f6ce21a6c599b9d4b2c24d35df20a52fabf4b", size = 375000, upload_time = "2025-04-17T00:43:09.01Z" },
+ { url = "https://files.pythonhosted.org/packages/3b/2a/dd7ed1aa23fea996834278d7ff178f215b24324ee527df53d45e34d21d28/yarl-1.20.0-cp312-cp312-win32.whl", hash = "sha256:839de4c574169b6598d47ad61534e6981979ca2c820ccb77bf70f4311dd2cc64", size = 86355, upload_time = "2025-04-17T00:43:11.311Z" },
+ { url = "https://files.pythonhosted.org/packages/ca/c6/333fe0338305c0ac1c16d5aa7cc4841208d3252bbe62172e0051006b5445/yarl-1.20.0-cp312-cp312-win_amd64.whl", hash = "sha256:3d7dbbe44b443b0c4aa0971cb07dcb2c2060e4a9bf8d1301140a33a93c98e18c", size = 92904, upload_time = "2025-04-17T00:43:13.087Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/6f/514c9bff2900c22a4f10e06297714dbaf98707143b37ff0bcba65a956221/yarl-1.20.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2137810a20b933b1b1b7e5cf06a64c3ed3b4747b0e5d79c9447c00db0e2f752f", size = 145030, upload_time = "2025-04-17T00:43:15.083Z" },
+ { url = "https://files.pythonhosted.org/packages/4e/9d/f88da3fa319b8c9c813389bfb3463e8d777c62654c7168e580a13fadff05/yarl-1.20.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:447c5eadd750db8389804030d15f43d30435ed47af1313303ed82a62388176d3", size = 96894, upload_time = "2025-04-17T00:43:17.372Z" },
+ { url = "https://files.pythonhosted.org/packages/cd/57/92e83538580a6968b2451d6c89c5579938a7309d4785748e8ad42ddafdce/yarl-1.20.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:42fbe577272c203528d402eec8bf4b2d14fd49ecfec92272334270b850e9cd7d", size = 94457, upload_time = "2025-04-17T00:43:19.431Z" },
+ { url = "https://files.pythonhosted.org/packages/e9/ee/7ee43bd4cf82dddd5da97fcaddb6fa541ab81f3ed564c42f146c83ae17ce/yarl-1.20.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:18e321617de4ab170226cd15006a565d0fa0d908f11f724a2c9142d6b2812ab0", size = 343070, upload_time = "2025-04-17T00:43:21.426Z" },
+ { url = "https://files.pythonhosted.org/packages/4a/12/b5eccd1109e2097bcc494ba7dc5de156e41cf8309fab437ebb7c2b296ce3/yarl-1.20.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4345f58719825bba29895011e8e3b545e6e00257abb984f9f27fe923afca2501", size = 337739, upload_time = "2025-04-17T00:43:23.634Z" },
+ { url = "https://files.pythonhosted.org/packages/7d/6b/0eade8e49af9fc2585552f63c76fa59ef469c724cc05b29519b19aa3a6d5/yarl-1.20.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d9b980d7234614bc4674468ab173ed77d678349c860c3af83b1fffb6a837ddc", size = 351338, upload_time = "2025-04-17T00:43:25.695Z" },
+ { url = "https://files.pythonhosted.org/packages/45/cb/aaaa75d30087b5183c7b8a07b4fb16ae0682dd149a1719b3a28f54061754/yarl-1.20.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:af4baa8a445977831cbaa91a9a84cc09debb10bc8391f128da2f7bd070fc351d", size = 353636, upload_time = "2025-04-17T00:43:27.876Z" },
+ { url = "https://files.pythonhosted.org/packages/98/9d/d9cb39ec68a91ba6e66fa86d97003f58570327d6713833edf7ad6ce9dde5/yarl-1.20.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:123393db7420e71d6ce40d24885a9e65eb1edefc7a5228db2d62bcab3386a5c0", size = 348061, upload_time = "2025-04-17T00:43:29.788Z" },
+ { url = "https://files.pythonhosted.org/packages/72/6b/103940aae893d0cc770b4c36ce80e2ed86fcb863d48ea80a752b8bda9303/yarl-1.20.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ab47acc9332f3de1b39e9b702d9c916af7f02656b2a86a474d9db4e53ef8fd7a", size = 334150, upload_time = "2025-04-17T00:43:31.742Z" },
+ { url = "https://files.pythonhosted.org/packages/ef/b2/986bd82aa222c3e6b211a69c9081ba46484cffa9fab2a5235e8d18ca7a27/yarl-1.20.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4a34c52ed158f89876cba9c600b2c964dfc1ca52ba7b3ab6deb722d1d8be6df2", size = 362207, upload_time = "2025-04-17T00:43:34.099Z" },
+ { url = "https://files.pythonhosted.org/packages/14/7c/63f5922437b873795d9422cbe7eb2509d4b540c37ae5548a4bb68fd2c546/yarl-1.20.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:04d8cfb12714158abf2618f792c77bc5c3d8c5f37353e79509608be4f18705c9", size = 361277, upload_time = "2025-04-17T00:43:36.202Z" },
+ { url = "https://files.pythonhosted.org/packages/81/83/450938cccf732466953406570bdb42c62b5ffb0ac7ac75a1f267773ab5c8/yarl-1.20.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7dc63ad0d541c38b6ae2255aaa794434293964677d5c1ec5d0116b0e308031f5", size = 364990, upload_time = "2025-04-17T00:43:38.551Z" },
+ { url = "https://files.pythonhosted.org/packages/b4/de/af47d3a47e4a833693b9ec8e87debb20f09d9fdc9139b207b09a3e6cbd5a/yarl-1.20.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d02b591a64e4e6ca18c5e3d925f11b559c763b950184a64cf47d74d7e41877", size = 374684, upload_time = "2025-04-17T00:43:40.481Z" },
+ { url = "https://files.pythonhosted.org/packages/62/0b/078bcc2d539f1faffdc7d32cb29a2d7caa65f1a6f7e40795d8485db21851/yarl-1.20.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:95fc9876f917cac7f757df80a5dda9de59d423568460fe75d128c813b9af558e", size = 382599, upload_time = "2025-04-17T00:43:42.463Z" },
+ { url = "https://files.pythonhosted.org/packages/74/a9/4fdb1a7899f1fb47fd1371e7ba9e94bff73439ce87099d5dd26d285fffe0/yarl-1.20.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:bb769ae5760cd1c6a712135ee7915f9d43f11d9ef769cb3f75a23e398a92d384", size = 378573, upload_time = "2025-04-17T00:43:44.797Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/be/29f5156b7a319e4d2e5b51ce622b4dfb3aa8d8204cd2a8a339340fbfad40/yarl-1.20.0-cp313-cp313-win32.whl", hash = "sha256:70e0c580a0292c7414a1cead1e076c9786f685c1fc4757573d2967689b370e62", size = 86051, upload_time = "2025-04-17T00:43:47.076Z" },
+ { url = "https://files.pythonhosted.org/packages/52/56/05fa52c32c301da77ec0b5f63d2d9605946fe29defacb2a7ebd473c23b81/yarl-1.20.0-cp313-cp313-win_amd64.whl", hash = "sha256:4c43030e4b0af775a85be1fa0433119b1565673266a70bf87ef68a9d5ba3174c", size = 92742, upload_time = "2025-04-17T00:43:49.193Z" },
+ { url = "https://files.pythonhosted.org/packages/d4/2f/422546794196519152fc2e2f475f0e1d4d094a11995c81a465faf5673ffd/yarl-1.20.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b6c4c3d0d6a0ae9b281e492b1465c72de433b782e6b5001c8e7249e085b69051", size = 163575, upload_time = "2025-04-17T00:43:51.533Z" },
+ { url = "https://files.pythonhosted.org/packages/90/fc/67c64ddab6c0b4a169d03c637fb2d2a212b536e1989dec8e7e2c92211b7f/yarl-1.20.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:8681700f4e4df891eafa4f69a439a6e7d480d64e52bf460918f58e443bd3da7d", size = 106121, upload_time = "2025-04-17T00:43:53.506Z" },
+ { url = "https://files.pythonhosted.org/packages/6d/00/29366b9eba7b6f6baed7d749f12add209b987c4cfbfa418404dbadc0f97c/yarl-1.20.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:84aeb556cb06c00652dbf87c17838eb6d92cfd317799a8092cee0e570ee11229", size = 103815, upload_time = "2025-04-17T00:43:55.41Z" },
+ { url = "https://files.pythonhosted.org/packages/28/f4/a2a4c967c8323c03689383dff73396281ced3b35d0ed140580825c826af7/yarl-1.20.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f166eafa78810ddb383e930d62e623d288fb04ec566d1b4790099ae0f31485f1", size = 408231, upload_time = "2025-04-17T00:43:57.825Z" },
+ { url = "https://files.pythonhosted.org/packages/0f/a1/66f7ffc0915877d726b70cc7a896ac30b6ac5d1d2760613603b022173635/yarl-1.20.0-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5d3d6d14754aefc7a458261027a562f024d4f6b8a798adb472277f675857b1eb", size = 390221, upload_time = "2025-04-17T00:44:00.526Z" },
+ { url = "https://files.pythonhosted.org/packages/41/15/cc248f0504610283271615e85bf38bc014224122498c2016d13a3a1b8426/yarl-1.20.0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a8f64df8ed5d04c51260dbae3cc82e5649834eebea9eadfd829837b8093eb00", size = 411400, upload_time = "2025-04-17T00:44:02.853Z" },
+ { url = "https://files.pythonhosted.org/packages/5c/af/f0823d7e092bfb97d24fce6c7269d67fcd1aefade97d0a8189c4452e4d5e/yarl-1.20.0-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4d9949eaf05b4d30e93e4034a7790634bbb41b8be2d07edd26754f2e38e491de", size = 411714, upload_time = "2025-04-17T00:44:04.904Z" },
+ { url = "https://files.pythonhosted.org/packages/83/70/be418329eae64b9f1b20ecdaac75d53aef098797d4c2299d82ae6f8e4663/yarl-1.20.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c366b254082d21cc4f08f522ac201d0d83a8b8447ab562732931d31d80eb2a5", size = 404279, upload_time = "2025-04-17T00:44:07.721Z" },
+ { url = "https://files.pythonhosted.org/packages/19/f5/52e02f0075f65b4914eb890eea1ba97e6fd91dd821cc33a623aa707b2f67/yarl-1.20.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91bc450c80a2e9685b10e34e41aef3d44ddf99b3a498717938926d05ca493f6a", size = 384044, upload_time = "2025-04-17T00:44:09.708Z" },
+ { url = "https://files.pythonhosted.org/packages/6a/36/b0fa25226b03d3f769c68d46170b3e92b00ab3853d73127273ba22474697/yarl-1.20.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c2aa4387de4bc3a5fe158080757748d16567119bef215bec643716b4fbf53f9", size = 416236, upload_time = "2025-04-17T00:44:11.734Z" },
+ { url = "https://files.pythonhosted.org/packages/cb/3a/54c828dd35f6831dfdd5a79e6c6b4302ae2c5feca24232a83cb75132b205/yarl-1.20.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:d2cbca6760a541189cf87ee54ff891e1d9ea6406079c66341008f7ef6ab61145", size = 402034, upload_time = "2025-04-17T00:44:13.975Z" },
+ { url = "https://files.pythonhosted.org/packages/10/97/c7bf5fba488f7e049f9ad69c1b8fdfe3daa2e8916b3d321aa049e361a55a/yarl-1.20.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:798a5074e656f06b9fad1a162be5a32da45237ce19d07884d0b67a0aa9d5fdda", size = 407943, upload_time = "2025-04-17T00:44:16.052Z" },
+ { url = "https://files.pythonhosted.org/packages/fd/a4/022d2555c1e8fcff08ad7f0f43e4df3aba34f135bff04dd35d5526ce54ab/yarl-1.20.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:f106e75c454288472dbe615accef8248c686958c2e7dd3b8d8ee2669770d020f", size = 423058, upload_time = "2025-04-17T00:44:18.547Z" },
+ { url = "https://files.pythonhosted.org/packages/4c/f6/0873a05563e5df29ccf35345a6ae0ac9e66588b41fdb7043a65848f03139/yarl-1.20.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3b60a86551669c23dc5445010534d2c5d8a4e012163218fc9114e857c0586fdd", size = 423792, upload_time = "2025-04-17T00:44:20.639Z" },
+ { url = "https://files.pythonhosted.org/packages/9e/35/43fbbd082708fa42e923f314c24f8277a28483d219e049552e5007a9aaca/yarl-1.20.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e429857e341d5e8e15806118e0294f8073ba9c4580637e59ab7b238afca836f", size = 422242, upload_time = "2025-04-17T00:44:22.851Z" },
+ { url = "https://files.pythonhosted.org/packages/ed/f7/f0f2500cf0c469beb2050b522c7815c575811627e6d3eb9ec7550ddd0bfe/yarl-1.20.0-cp313-cp313t-win32.whl", hash = "sha256:65a4053580fe88a63e8e4056b427224cd01edfb5f951498bfefca4052f0ce0ac", size = 93816, upload_time = "2025-04-17T00:44:25.491Z" },
+ { url = "https://files.pythonhosted.org/packages/3f/93/f73b61353b2a699d489e782c3f5998b59f974ec3156a2050a52dfd7e8946/yarl-1.20.0-cp313-cp313t-win_amd64.whl", hash = "sha256:53b2da3a6ca0a541c1ae799c349788d480e5144cac47dba0266c7cb6c76151fe", size = 101093, upload_time = "2025-04-17T00:44:27.418Z" },
+ { url = "https://files.pythonhosted.org/packages/ea/1f/70c57b3d7278e94ed22d85e09685d3f0a38ebdd8c5c73b65ba4c0d0fe002/yarl-1.20.0-py3-none-any.whl", hash = "sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124", size = 46124, upload_time = "2025-04-17T00:45:12.199Z" },
]