Skip to content

Commit 8753f3b

Browse files
committed
add types to openai
1 parent a73715e commit 8753f3b

File tree

6 files changed

+283
-235
lines changed

6 files changed

+283
-235
lines changed

src/langtrace_python_sdk/instrumentation/anthropic/types.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
"""
2+
Copyright (c) 2024 Scale3 Labs
3+
Licensed under the Apache License, Version 2.0 (the "License");
4+
you may not use this file except in compliance with the License.
5+
You may obtain a copy of the License at
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
Unless required by applicable law or agreed to in writing, software
8+
distributed under the License is distributed on an "AS IS" BASIS,
9+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10+
See the License for the specific language governing permissions and
11+
limitations under the License.
12+
"""
13+
114
from typing import Dict, List, Optional, Iterator, TypedDict
215
class MessagesCreateKwargs(TypedDict, total=False):
316
system: str
Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,22 @@
11
"""
22
Copyright (c) 2024 Scale3 Labs
3-
43
Licensed under the Apache License, Version 2.0 (the "License");
54
you may not use this file except in compliance with the License.
65
You may obtain a copy of the License at
7-
86
http://www.apache.org/licenses/LICENSE-2.0
9-
107
Unless required by applicable law or agreed to in writing, software
118
distributed under the License is distributed on an "AS IS" BASIS,
129
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1310
See the License for the specific language governing permissions and
1411
limitations under the License.
1512
"""
1613

14+
from typing import Collection, Optional, Any
1715
import importlib.metadata
1816
import logging
19-
from typing import Collection
2017

2118
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
22-
from opentelemetry.trace import get_tracer
19+
from opentelemetry.trace import get_tracer, TracerProvider
2320
from wrapt import wrap_function_wrapper
2421

2522
from langtrace_python_sdk.instrumentation.openai.patch import (
@@ -35,59 +32,57 @@
3532
logging.basicConfig(level=logging.FATAL)
3633

3734

38-
class OpenAIInstrumentation(BaseInstrumentor):
35+
class OpenAIInstrumentation(BaseInstrumentor): # type: ignore
3936

4037
def instrumentation_dependencies(self) -> Collection[str]:
4138
return ["openai >= 0.27.0", "trace-attributes >= 4.0.5"]
4239

43-
def _instrument(self, **kwargs):
44-
tracer_provider = kwargs.get("tracer_provider")
40+
def _instrument(self, **kwargs: Any) -> None:
41+
tracer_provider: Optional[TracerProvider] = kwargs.get("tracer_provider")
4542
tracer = get_tracer(__name__, "", tracer_provider)
46-
version = importlib.metadata.version("openai")
43+
version: str = importlib.metadata.version("openai")
4744

4845
wrap_function_wrapper(
4946
"openai.resources.chat.completions",
5047
"Completions.create",
51-
chat_completions_create("openai.chat.completions.create", version, tracer),
48+
chat_completions_create(version, tracer),
5249
)
5350

5451
wrap_function_wrapper(
5552
"openai.resources.chat.completions",
5653
"AsyncCompletions.create",
57-
async_chat_completions_create(
58-
"openai.chat.completions.create_stream", version, tracer
59-
),
54+
async_chat_completions_create(version, tracer),
6055
)
6156

6257
wrap_function_wrapper(
6358
"openai.resources.images",
6459
"Images.generate",
65-
images_generate("openai.images.generate", version, tracer),
60+
images_generate(version, tracer),
6661
)
6762

6863
wrap_function_wrapper(
6964
"openai.resources.images",
7065
"AsyncImages.generate",
71-
async_images_generate("openai.images.generate", version, tracer),
66+
async_images_generate(version, tracer),
7267
)
7368

7469
wrap_function_wrapper(
7570
"openai.resources.images",
7671
"Images.edit",
77-
images_edit("openai.images.edit", version, tracer),
72+
images_edit(version, tracer),
7873
)
7974

8075
wrap_function_wrapper(
8176
"openai.resources.embeddings",
8277
"Embeddings.create",
83-
embeddings_create("openai.embeddings.create", version, tracer),
78+
embeddings_create(version, tracer),
8479
)
8580

8681
wrap_function_wrapper(
8782
"openai.resources.embeddings",
8883
"AsyncEmbeddings.create",
89-
async_embeddings_create("openai.embeddings.create", version, tracer),
84+
async_embeddings_create(version, tracer),
9085
)
9186

92-
def _uninstrument(self, **kwargs):
87+
def _uninstrument(self, **kwargs: Any) -> None:
9388
pass

0 commit comments

Comments
 (0)