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

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## Unreleased

- Enabled the flake8-type-checking plugin rules for ruff linter. These rules do not allow the import of python objects outside the type-checking block, if they are only used for type annotations and are not used at runtime. ([#5029](https://github.com/open-telemetry/opentelemetry-python/pull/5029))
- `opentelemetry-sdk`: Add `process` resource detector support to declarative file configuration via `detection_development.detectors[].process`
([#5001](https://github.com/open-telemetry/opentelemetry-python/pull/5001))
- `opentelemetry-sdk`: Add shared `_parse_headers` helper for declarative config OTLP exporters
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@

import logging
from collections import defaultdict
from collections.abc import Iterable
from pathlib import Path
from typing import Callable, Final, Optional, Set
from typing import TYPE_CHECKING, Callable, Final, Optional, Set

from google.protobuf import descriptor_pb2 as descriptor
from google.protobuf.compiler import plugin_pb2 as plugin
Expand All @@ -37,6 +36,9 @@
from opentelemetry.codegen.json.version import __version__ as GENERATOR_VERSION
from opentelemetry.codegen.json.writer import CodeWriter

if TYPE_CHECKING:
from collections.abc import Iterable

_logger = logging.getLogger(__name__)

CODEC_MODULE_NAME: Final[str] = "_json_codec"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@

from __future__ import annotations

from collections.abc import Iterable
from contextlib import contextmanager
from typing import Any, Generator, Optional, Union
from typing import TYPE_CHECKING, Any, Generator, Optional, Union

if TYPE_CHECKING:
from collections.abc import Iterable


# pylint: disable-next=too-many-public-methods
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import logging
from collections.abc import Sequence
from typing import (
TYPE_CHECKING,
Any,
Callable,
Dict,
Expand All @@ -41,9 +42,11 @@
from opentelemetry.proto.resource.v1.resource_pb2 import (
Resource as PB2Resource,
)
from opentelemetry.sdk.trace import Resource
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
from opentelemetry.util.types import _ExtendedAttributes

if TYPE_CHECKING:
from opentelemetry.sdk.trace import Resource
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
from opentelemetry.util.types import _ExtendedAttributes

_logger = logging.getLogger(__name__)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,9 @@
from dataclasses import replace
from logging import getLogger
from os import environ
from typing import Iterable, List, Tuple, Union
from typing import TYPE_CHECKING, Iterable, List, Tuple, Union
from typing import Sequence as TypingSequence

from grpc import ChannelCredentials, Compression
from opentelemetry.exporter.otlp.proto.common._internal.metrics_encoder import (
OTLPMetricExporterMixin,
)
Expand Down Expand Up @@ -53,7 +52,6 @@
OTEL_EXPORTER_OTLP_METRICS_INSECURE,
OTEL_EXPORTER_OTLP_METRICS_TIMEOUT,
)
from opentelemetry.sdk.metrics._internal.aggregation import Aggregation
from opentelemetry.sdk.metrics.export import ( # noqa: F401
AggregationTemporality,
DataPointT,
Expand All @@ -73,6 +71,10 @@
Histogram as HistogramType,
)

if TYPE_CHECKING:
from grpc import ChannelCredentials, Compression
from opentelemetry.sdk.metrics._internal.aggregation import Aggregation

_logger = getLogger(__name__)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
from os import environ
from time import time
from typing import ( # noqa: F401
TYPE_CHECKING,
Any,
Callable,
Dict,
Expand Down Expand Up @@ -62,9 +63,6 @@
)
from opentelemetry.proto.metrics.v1 import metrics_pb2 as pb2
from opentelemetry.proto.resource.v1.resource_pb2 import Resource # noqa: F401
from opentelemetry.proto.resource.v1.resource_pb2 import (
Resource as PB2Resource,
)
from opentelemetry.sdk.environment_variables import (
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_METRICS_CREDENTIAL_PROVIDER,
OTEL_EXPORTER_OTLP_CERTIFICATE,
Expand All @@ -82,7 +80,6 @@
OTEL_EXPORTER_OTLP_METRICS_TIMEOUT,
OTEL_EXPORTER_OTLP_TIMEOUT,
)
from opentelemetry.sdk.metrics._internal.aggregation import Aggregation
from opentelemetry.sdk.metrics.export import ( # noqa: F401
AggregationTemporality,
Gauge,
Expand All @@ -94,9 +91,15 @@
from opentelemetry.sdk.metrics.export import ( # noqa: F401
Histogram as HistogramType,
)
from opentelemetry.sdk.resources import Resource as SDKResource
from opentelemetry.util.re import parse_env_headers

if TYPE_CHECKING:
from opentelemetry.proto.resource.v1.resource_pb2 import (
Resource as PB2Resource,
)
from opentelemetry.sdk.metrics._internal.aggregation import Aggregation
from opentelemetry.sdk.resources import Resource as SDKResource

_logger = logging.getLogger(__name__)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
from json import dumps
from logging import getLogger
from os import environ
from typing import Deque, Dict, Iterable, Sequence, Tuple, Union
from typing import TYPE_CHECKING, Deque, Dict, Iterable, Sequence, Tuple, Union

from prometheus_client import start_http_server
from prometheus_client.core import (
Expand Down Expand Up @@ -108,7 +108,9 @@
from opentelemetry.semconv._incubating.attributes.otel_attributes import (
OtelComponentTypeValues,
)
from opentelemetry.util.types import Attributes

if TYPE_CHECKING:
from opentelemetry.util.types import Attributes

_logger = getLogger(__name__)

Expand Down
6 changes: 4 additions & 2 deletions opentelemetry-api/src/opentelemetry/_events/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
from abc import ABC, abstractmethod
from logging import getLogger
from os import environ
from typing import Optional, cast
from typing import TYPE_CHECKING, Optional, cast

from typing_extensions import deprecated

Expand All @@ -24,11 +24,13 @@
from opentelemetry.environment_variables import (
_OTEL_PYTHON_EVENT_LOGGER_PROVIDER,
)
from opentelemetry.trace.span import TraceFlags
from opentelemetry.util._once import Once
from opentelemetry.util._providers import _load_provider
from opentelemetry.util.types import AnyValue, _ExtendedAttributes

if TYPE_CHECKING:
from opentelemetry.trace.span import TraceFlags

_logger = getLogger(__name__)


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,19 +39,21 @@
from logging import getLogger
from os import environ
from time import time_ns
from typing import Optional, cast, overload
from typing import TYPE_CHECKING, Optional, cast, overload

from typing_extensions import deprecated

from opentelemetry._logs.severity import SeverityNumber
from opentelemetry.context import get_current
from opentelemetry.context.context import Context
from opentelemetry.environment_variables import _OTEL_PYTHON_LOGGER_PROVIDER
from opentelemetry.trace import get_current_span
from opentelemetry.trace.span import TraceFlags
from opentelemetry.util._once import Once
from opentelemetry.util._providers import _load_provider
from opentelemetry.util.types import AnyValue, _ExtendedAttributes

if TYPE_CHECKING:
from opentelemetry._logs.severity import SeverityNumber
from opentelemetry.context.context import Context
from opentelemetry.trace.span import TraceFlags
from opentelemetry.util.types import AnyValue, _ExtendedAttributes

_logger = getLogger(__name__)

Expand Down
4 changes: 3 additions & 1 deletion opentelemetry-api/src/opentelemetry/context/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@

import logging
import typing
from contextvars import Token
from os import environ
from uuid import uuid4

Expand All @@ -25,6 +24,9 @@
from opentelemetry.environment_variables import OTEL_PYTHON_CONTEXT
from opentelemetry.util._importlib_metadata import entry_points

if typing.TYPE_CHECKING:
from contextvars import Token

logger = logging.getLogger(__name__)


Expand Down
4 changes: 3 additions & 1 deletion opentelemetry-api/src/opentelemetry/context/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@

import typing
from abc import ABC, abstractmethod
from contextvars import Token

if typing.TYPE_CHECKING:
from contextvars import Token


class Context(typing.Dict[str, object]):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
from logging import getLogger
from re import compile as re_compile
from typing import (
TYPE_CHECKING,
Callable,
Dict,
Generator,
Expand All @@ -32,13 +33,15 @@
)

# pylint: disable=unused-import; needed for typing and sphinx
from opentelemetry import metrics
from opentelemetry.context import Context
from opentelemetry.metrics._internal.observation import Observation
from opentelemetry.util.types import (
Attributes,
)

if TYPE_CHECKING:
from opentelemetry import metrics

_logger = getLogger(__name__)

_name_regex = re_compile(r"[a-zA-Z][-_./a-zA-Z0-9]{0,254}")
Expand Down
4 changes: 2 additions & 2 deletions opentelemetry-api/src/opentelemetry/util/_providers.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ def _load_provider(
) -> Provider: # type: ignore[type-var]
try:
provider_name = cast(
str,
"str",
environ.get(provider_environment_variable, f"default_{provider}"),
)

return cast(
Provider,
"Provider",
next( # type: ignore
iter( # type: ignore
entry_points( # type: ignore
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,16 @@
import warnings
from abc import ABC, abstractmethod
from os import environ
from typing import Any, Callable, Mapping, Protocol, Sequence, Type, Union
from typing import (
TYPE_CHECKING,
Any,
Callable,
Mapping,
Protocol,
Sequence,
Type,
Union,
)

from typing_extensions import Literal

Expand Down Expand Up @@ -77,6 +86,10 @@
from opentelemetry.trace import set_tracer_provider
from opentelemetry.util._importlib_metadata import entry_points

if TYPE_CHECKING:
from opentelemetry.sdk.metrics._internal import _MeterConfiguratorT


_EXPORTER_OTLP = "otlp"
_EXPORTER_OTLP_PROTO_GRPC = "otlp_proto_grpc"
_EXPORTER_OTLP_PROTO_HTTP = "otlp_proto_http"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,26 @@

from __future__ import annotations

from typing import Optional
from typing import TYPE_CHECKING, Optional

from opentelemetry.baggage.propagation import W3CBaggagePropagator
from opentelemetry.propagate import set_global_textmap
from opentelemetry.propagators.composite import CompositePropagator
from opentelemetry.propagators.textmap import TextMapPropagator
from opentelemetry.sdk._configuration._exceptions import ConfigurationError
from opentelemetry.sdk._configuration.models import (
Propagator as PropagatorConfig,
)
from opentelemetry.sdk._configuration.models import (
TextMapPropagator as TextMapPropagatorConfig,
)
from opentelemetry.trace.propagation.tracecontext import (
TraceContextTextMapPropagator,
)
from opentelemetry.util._importlib_metadata import entry_points

if TYPE_CHECKING:
from opentelemetry.propagators.textmap import TextMapPropagator
from opentelemetry.sdk._configuration.models import (
Propagator as PropagatorConfig,
)
from opentelemetry.sdk._configuration.models import (
TextMapPropagator as TextMapPropagatorConfig,
)


def _load_entry_point_propagator(name: str) -> TextMapPropagator:
"""Load a propagator by name from the opentelemetry_propagator entry point group."""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,15 @@
from os import environ
from threading import Lock
from time import time_ns
from typing import Any, Callable, Tuple, Union, cast, overload # noqa
from typing import ( # noqa
TYPE_CHECKING,
Any,
Callable,
Tuple,
Union,
cast,
overload,
)

from typing_extensions import deprecated

Expand All @@ -41,7 +49,6 @@
)
from opentelemetry.attributes import _VALID_ANY_VALUE_TYPES, BoundedAttributes
from opentelemetry.context import get_current
from opentelemetry.context.context import Context
from opentelemetry.metrics import MeterProvider, get_meter_provider
from opentelemetry.sdk._logs._internal._logger_metrics import LoggerMetrics
from opentelemetry.sdk.environment_variables import (
Expand All @@ -58,7 +65,10 @@
format_span_id,
format_trace_id,
)
from opentelemetry.util.types import AnyValue, _ExtendedAttributes

if TYPE_CHECKING:
from opentelemetry.context.context import Context
from opentelemetry.util.types import AnyValue, _ExtendedAttributes

_DEFAULT_OTEL_ATTRIBUTE_COUNT_LIMIT = 128
_ENV_VALUE_UNSET = ""
Expand Down
Loading
Loading