1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132
|
[project]
name = "opentelemetry-python"
version = "0.0.0" # This is not used.
requires-python = ">=3.9"
dependencies = [
"opentelemetry-api",
"opentelemetry-sdk",
"opentelemetry-semantic-conventions",
"opentelemetry-proto",
"opentelemetry-test-utils",
"opentelemetry-exporter-otlp-proto-grpc",
"opentelemetry-exporter-otlp-proto-http",
"opentelemetry-exporter-otlp-proto-common",
"opentelemetry-exporter-zipkin-json",
"opentelemetry-exporter-prometheus",
"opentelemetry-propagator-jaeger",
"opentelemetry-propagator-b3",
]
# https://docs.astral.sh/uv/reference/settings/
[tool.uv]
package = false # https://docs.astral.sh/uv/reference/settings/#package
required-version = ">=0.6.0"
[tool.uv.sources]
opentelemetry-api = { workspace = true}
opentelemetry-sdk = { workspace = true }
opentelemetry-proto = { workspace = true }
opentelemetry-semantic-conventions = { workspace = true }
opentelemetry-test-utils = { workspace = true }
opentelemetry-exporter-otlp-proto-grpc = { workspace = true }
opentelemetry-exporter-otlp-proto-http = { workspace = true }
opentelemetry-exporter-otlp-proto-common = { workspace = true }
opentelemetry-exporter-zipkin-json = { workspace = true }
opentelemetry-exporter-prometheus = {workspace = true }
opentelemetry-propagator-jaeger = { workspace = true }
opentelemetry-propagator-b3 = { workspace = true }
[tool.uv.workspace]
members = [
"opentelemetry-api",
"opentelemetry-sdk",
"opentelemetry-semantic-conventions",
"opentelemetry-proto",
"exporter/*",
"propagator/*",
"tests/opentelemetry-test-utils",
]
exclude = [
"exporter/opentelemetry-exporter-opencensus",
"exporter/opentelemetry-exporter-zipkin",
"exporter/opentelemetry-exporter-zipkin-proto-http",
]
[tool.pytest.ini_options]
addopts = "-rs -v"
log_cli = true
[tool.ruff]
# https://docs.astral.sh/ruff/configuration/
target-version = "py38"
line-length = 79
extend-exclude = [
"*_pb2*.py*",
]
output-format = "concise"
[tool.ruff.lint]
# https://docs.astral.sh/ruff/linter/#rule-selection
# pylint: https://github.com/astral-sh/ruff/issues/970
select = [
"I", # isort
"F", # pyflakes
"E", # pycodestyle errors
"W", # pycodestyle warnings
"PLC", # pylint convention
"PLE", # pylint error
"Q", # flake8-quotes
"G", # https://docs.astral.sh/ruff/rules/#flake8-logging-format-g
]
ignore = [
"E501", # line-too-long
]
[tool.ruff.lint.per-file-ignores]
"docs/**/*.*" = ["PLE"]
[tool.ruff.lint.isort]
known-third-party = [
"psutil",
"pytest",
"redis",
"redis_opentracing",
"opencensus",
]
known-first-party = ["opentelemetry", "opentelemetry_example_app"]
[tool.pyright]
typeCheckingMode = "standard"
pythonVersion = "3.9"
include = [
"opentelemetry-semantic-conventions",
"opentelemetry-api",
"opentelemetry-sdk",
"exporter/opentelemetry-exporter-otlp-proto-grpc",
]
exclude = [
"opentelemetry-sdk/tests",
"opentelemetry-sdk/src/opentelemetry/sdk/_events",
"opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/",
"opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py",
"opentelemetry-sdk/benchmarks",
"exporter/opentelemetry-exporter-otlp-proto-grpc/tests",
]
# When packages are correct typed add them to the strict list
strict = [
"opentelemetry-semantic-conventions",
"opentelemetry-sdk/src/opentelemetry/sdk/environment_variables",
"opentelemetry-sdk/src/opentelemetry/sdk/resources",
]
[dependency-groups]
dev = [
"tox",
"tox-uv>=1",
"pre-commit",
]
|