Skip to content

ty fails to find some namespace packages #375

@nojaf

Description

@nojaf

Summary

When using OpenTelemetry, I miss something like namespace_packages, which mypy has.

pyproject.toml

dependencies = [
    "elasticsearch>=8.17.2",
    "faker>=37.1.0",
    "opensearch-py>=2.8.0",
    "opentelemetry-api>=1.32.0",
    "opentelemetry-distro>=0.53b0",
    "opentelemetry-exporter-otlp>=1.32.0",
    "opentelemetry-sdk>=1.32.0",
    "python-json-logger>=3.3.0",
]

# This is the workaround for mypy
[tool.mypy]
namespace_packages = true

Python code:

import os
from opentelemetry import trace, metrics
from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import OTLPMetricExporter
from opentelemetry.sdk.resources import SERVICE_NAME, Resource
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.metrics import MeterProvider
from opentelemetry.sdk.metrics.export import PeriodicExportingMetricReader
import time
import logging

uvx ty check:

error[unresolved-import]: Cannot resolve imported module `opentelemetry`
 --> jaeger.py:1:6
  |
1 | from opentelemetry import trace
  |      ^^^^^^^^^^^^^
2 | from opentelemetry.sdk.trace import TracerProvider
3 | from opentelemetry.sdk.trace.export import BatchSpanProcessor
  |
info: rule `unresolved-import` is enabled by default

error[unresolved-import]: Cannot resolve imported module `opentelemetry`
 --> main.py:2:6
  |
1 | from time import time
2 | from opentelemetry import trace
  |      ^^^^^^^^^^^^^
3 | from opentelemetry.sdk.trace import TracerProvider
4 | from opentelemetry.sdk.trace.export import BatchSpanProcessor
  |
info: rule `unresolved-import` is enabled by default

error[unresolved-import]: Cannot resolve imported module `opentelemetry`
 --> test_exporter.py:2:6
  |
1 | import os
2 | from opentelemetry import trace, metrics
  |      ^^^^^^^^^^^^^
3 | from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter
4 | from opentelemetry.exporter.otlp.proto.grpc.metric_exporter import OTLPMetricExporter
  |
info: rule `unresolved-import` is enabled by default

Found 3 diagnostics

Version

ty 0.0.1-alpha.1 (12f466e 2025-05-13)

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingimportsModule resolution, site-packages discovery, import-related diagnostics

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions