Skip to content
2 changes: 1 addition & 1 deletion ddtrace/appsec/_ddwaf/ddwaf_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ class ddwaf_object(ctypes.Structure):

def __init__(
self,
struct: DDWafRulesType = None,
struct: Optional[DDWafRulesType] = None,
observator: _observator = _observator(), # noqa : B008
max_objects: int = DDWAF_MAX_CONTAINER_SIZE,
max_depth: int = DDWAF_MAX_CONTAINER_DEPTH,
Expand Down
2 changes: 1 addition & 1 deletion ddtrace/appsec/_ddwaf/waf.py
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ def run(
self,
ctx: ddwaf_context_capsule,
data: DDWafRulesType,
ephemeral_data: DDWafRulesType = None,
ephemeral_data: Optional[DDWafRulesType] = None,
timeout_ms: float = DEFAULT.WAF_TIMEOUT,
) -> DDWaf_result:
start = time.monotonic()
Expand Down
3 changes: 2 additions & 1 deletion ddtrace/appsec/_ddwaf/waf_mock.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from typing import Any
from typing import Dict
from typing import Optional
from typing import Sequence
from typing import Tuple

Expand Down Expand Up @@ -41,7 +42,7 @@ def run(
self,
ctx: ddwaf_context_capsule,
data: DDWafRulesType,
ephemeral_data: DDWafRulesType = None,
ephemeral_data: Optional[DDWafRulesType] = None,
timeout_ms: float = DEFAULT.WAF_TIMEOUT,
) -> DDWaf_result:
LOGGER.debug("DDWaf features disabled. dry run")
Expand Down
2 changes: 1 addition & 1 deletion ddtrace/appsec/_ddwaf/waf_stubs.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ def run(
self,
ctx: ddwaf_context_capsule,
data: DDWafRulesType,
ephemeral_data: DDWafRulesType = None,
ephemeral_data: Optional[DDWafRulesType] = None,
timeout_ms: float = DEFAULT.WAF_TIMEOUT,
) -> DDWaf_result:
pass
Expand Down
3 changes: 2 additions & 1 deletion ddtrace/contrib/internal/unittest/patch.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import inspect
import os
from typing import Dict
from typing import Optional
from typing import Union
import unittest

Expand Down Expand Up @@ -464,7 +465,7 @@ def unpatch():
_CIVisibility.disable()


def _set_test_span_status(test_item, status: str, exc_info: str = None, skip_reason: str = None):
def _set_test_span_status(test_item, status: str, exc_info: Optional[str] = None, skip_reason: Optional[str] = None):
span = _extract_span(test_item)
if not span:
log.debug("Tried setting test result for test but could not find span for %s", test_item)
Expand Down
2 changes: 1 addition & 1 deletion ddtrace/internal/telemetry/metrics_namespaces.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ class MetricNamespace:
namespace: TELEMETRY_NAMESPACE,
name: str,
value: float = 1.0,
tags: MetricTagType = None,
tags: Optional[MetricTagType] = None,
) -> None: ...
14 changes: 10 additions & 4 deletions ddtrace/internal/telemetry/writer.py
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,9 @@ def _format_file_path(self, filename: str) -> str:
except ValueError:
return filename

def add_gauge_metric(self, namespace: TELEMETRY_NAMESPACE, name: str, value: float, tags: MetricTagType = None):
def add_gauge_metric(
self, namespace: TELEMETRY_NAMESPACE, name: str, value: float, tags: Optional[MetricTagType] = None
):
"""
Queues gauge metric
"""
Expand All @@ -573,7 +575,9 @@ def add_gauge_metric(self, namespace: TELEMETRY_NAMESPACE, name: str, value: flo
tags,
)

def add_rate_metric(self, namespace: TELEMETRY_NAMESPACE, name: str, value: float, tags: MetricTagType = None):
def add_rate_metric(
self, namespace: TELEMETRY_NAMESPACE, name: str, value: float, tags: Optional[MetricTagType] = None
):
"""
Queues rate metric
"""
Expand All @@ -586,7 +590,9 @@ def add_rate_metric(self, namespace: TELEMETRY_NAMESPACE, name: str, value: floa
tags,
)

def add_count_metric(self, namespace: TELEMETRY_NAMESPACE, name: str, value: int = 1, tags: MetricTagType = None):
def add_count_metric(
self, namespace: TELEMETRY_NAMESPACE, name: str, value: int = 1, tags: Optional[MetricTagType] = None
):
"""
Queues count metric
"""
Expand All @@ -600,7 +606,7 @@ def add_count_metric(self, namespace: TELEMETRY_NAMESPACE, name: str, value: int
)

def add_distribution_metric(
self, namespace: TELEMETRY_NAMESPACE, name: str, value: float, tags: MetricTagType = None
self, namespace: TELEMETRY_NAMESPACE, name: str, value: float, tags: Optional[MetricTagType] = None
):
"""
Queues distributions metric
Expand Down
1 change: 0 additions & 1 deletion mypy.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ scripts_are_modules = true
show_error_codes = true
warn_unused_ignores = true
warn_unused_configs = true
no_implicit_optional = true
ignore_missing_imports = true
namespace_packages = true
plugins = envier.mypy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -283,7 +283,7 @@ async def test_route(request: Request):
@pytest.mark.skipif(fastapi_version < (0, 95, 0), reason="Header annotation doesn't work on fastapi 94 or lower")
def test_header_value_source_typing_param(fastapi_application, client, tracer, test_spans):
@fastapi_application.get("/index.html")
async def test_route(iast_header: typing.Annotated[str, Header()] = None):
async def test_route(iast_header: typing.Annotated[str, Header()]):
from ddtrace.appsec._iast._taint_tracking import origin_to_str
from ddtrace.appsec._iast._taint_tracking._taint_objects_base import get_tainted_ranges

Expand Down
8 changes: 4 additions & 4 deletions tests/ci_visibility/api_client/_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -176,7 +176,7 @@ def _get_test_client(
self,
itr_skipping_level: ITR_SKIPPING_LEVEL = ITR_SKIPPING_LEVEL.TEST,
requests_mode: REQUESTS_MODE = _AGENTLESS,
git_data: GitData = None,
git_data: t.Optional[GitData] = None,
api_key: t.Optional[str] = "my_api_key",
dd_site: t.Optional[str] = None,
agentless_url: t.Optional[str] = None,
Expand Down Expand Up @@ -215,7 +215,7 @@ def _get_test_client(
def _get_expected_do_request_setting_payload(
self,
itr_skipping_level: ITR_SKIPPING_LEVEL = ITR_SKIPPING_LEVEL.TEST,
git_data: GitData = None,
git_data: t.Optional[GitData] = None,
dd_service: t.Optional[str] = None,
dd_env: t.Optional[str] = None,
):
Expand Down Expand Up @@ -246,7 +246,7 @@ def _get_expected_do_request_setting_payload(
def _get_expected_do_request_skippable_payload(
self,
itr_skipping_level: ITR_SKIPPING_LEVEL = ITR_SKIPPING_LEVEL.TEST,
git_data: GitData = None,
git_data: t.Optional[GitData] = None,
dd_service: t.Optional[str] = None,
dd_env: t.Optional[str] = None,
):
Expand Down Expand Up @@ -275,7 +275,7 @@ def _get_expected_do_request_skippable_payload(

def _get_expected_do_request_tests_payload(
self,
repository_url: str = None,
repository_url: t.Optional[str] = None,
dd_service: t.Optional[str] = None,
dd_env: t.Optional[str] = None,
):
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
from typing import Optional


class Integration:
"""
Represents an integration in the registry.
Expand All @@ -7,8 +10,8 @@ def __init__(
self,
integration_name: str,
is_external_package: bool = True,
dependency_names: list = None,
tested_versions_by_dependency: dict = None,
dependency_names: Optional[list] = None,
tested_versions_by_dependency: Optional[dict] = None,
is_tested: bool = True,
):
self.integration_name = integration_name
Expand Down Expand Up @@ -84,7 +87,7 @@ def should_update(self, new_dependency_versions: dict) -> bool:
return True
return False

def update(self, updates: dict, update_versions: bool = False, riot_venv: str = None) -> bool:
def update(self, updates: dict, update_versions: bool = False, riot_venv: Optional[str] = None) -> bool:
"""Updates the integration with the new dependency versions."""
# skip if the integration is not an external package
if not self.is_external_package:
Expand Down
7 changes: 4 additions & 3 deletions tests/contrib/openai_agents/test_openai_agents_llmobs.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from typing import Dict
from typing import List
from typing import Optional
from typing import Tuple

import mock
Expand Down Expand Up @@ -122,9 +123,9 @@ def _assert_expected_agent_run(
expected_span_names: List[str],
spans,
llmobs_events,
llm_calls: List[Tuple[List[Dict], List[Dict]]] = None,
tool_calls: List[dict] = None,
previous_tool_events: List[dict] = None,
llm_calls: Optional[List[Tuple[List[Dict], List[Dict]]]] = None,
tool_calls: Optional[List[dict]] = None,
previous_tool_events: Optional[List[dict]] = None,
is_chat=False,
) -> List[dict]:
"""Assert expected LLMObs events matches actual events for an agent run
Expand Down
2 changes: 1 addition & 1 deletion tests/contrib/pytest/test_pytest.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
def _get_spans_from_list(
spans: t.List[ddtrace.trace.Span],
span_type: str,
name: str = None,
name: t.Optional[str] = None,
status: t.Optional[str] = None,
) -> t.List[ddtrace.trace.Span]:
_names_map = {
Expand Down
Loading