openaivec 0.14.9__py3-none-any.whl → 0.14.12__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
openaivec/_di.py CHANGED
@@ -303,3 +303,24 @@ class Container:
303
303
  self._providers.clear()
304
304
  self._instances.clear()
305
305
  self._resolving.clear()
306
+
307
+ def clear_singletons(self) -> None:
308
+ """Clear all cached singleton instances from the container.
309
+
310
+ Removes all cached singleton instances while keeping the registered
311
+ providers intact. After calling this method, the next resolve call
312
+ for any service will create a new instance using the provider function.
313
+
314
+ Example:
315
+ ```python
316
+ container = Container()
317
+ container.register(str, lambda: "Hello")
318
+ instance1 = container.resolve(str)
319
+ container.clear_singletons()
320
+ instance2 = container.resolve(str)
321
+ print(instance1 is instance2)
322
+ # False - different instances after clearing singletons
323
+ ```
324
+ """
325
+ with self._lock:
326
+ self._instances.clear()
openaivec/_provider.py CHANGED
@@ -130,35 +130,9 @@ def provide_async_openai_client() -> AsyncOpenAI:
130
130
  )
131
131
 
132
132
 
133
- CONTAINER.register(ResponsesModelName, lambda: ResponsesModelName("gpt-4.1-mini"))
134
- CONTAINER.register(EmbeddingsModelName, lambda: EmbeddingsModelName("text-embedding-3-small"))
135
- CONTAINER.register(OpenAIAPIKey, lambda: OpenAIAPIKey(os.getenv("OPENAI_API_KEY")))
136
- CONTAINER.register(AzureOpenAIAPIKey, lambda: AzureOpenAIAPIKey(os.getenv("AZURE_OPENAI_API_KEY")))
137
- CONTAINER.register(AzureOpenAIBaseURL, lambda: AzureOpenAIBaseURL(os.getenv("AZURE_OPENAI_BASE_URL")))
138
- CONTAINER.register(
139
- cls=AzureOpenAIAPIVersion,
140
- provider=lambda: AzureOpenAIAPIVersion(os.getenv("AZURE_OPENAI_API_VERSION", "preview")),
141
- )
142
- CONTAINER.register(OpenAI, provide_openai_client)
143
- CONTAINER.register(AsyncOpenAI, provide_async_openai_client)
144
- CONTAINER.register(tiktoken.Encoding, lambda: tiktoken.get_encoding("o200k_base"))
145
- CONTAINER.register(TextChunker, lambda: TextChunker(CONTAINER.resolve(tiktoken.Encoding)))
146
- CONTAINER.register(
147
- SchemaInferer,
148
- lambda: SchemaInferer(
149
- client=CONTAINER.resolve(OpenAI),
150
- model_name=CONTAINER.resolve(ResponsesModelName).value,
151
- ),
152
- )
153
-
154
-
155
- def reset_environment_registrations():
156
- """Reset environment variable related registrations in the container.
157
-
158
- This function re-registers environment variable dependent services to pick up
159
- current environment variable values. Useful for testing when environment
160
- variables are changed after initial container setup.
161
- """
133
+ def set_default_registrations():
134
+ CONTAINER.register(ResponsesModelName, lambda: ResponsesModelName("gpt-4.1-mini"))
135
+ CONTAINER.register(EmbeddingsModelName, lambda: EmbeddingsModelName("text-embedding-3-small"))
162
136
  CONTAINER.register(OpenAIAPIKey, lambda: OpenAIAPIKey(os.getenv("OPENAI_API_KEY")))
163
137
  CONTAINER.register(AzureOpenAIAPIKey, lambda: AzureOpenAIAPIKey(os.getenv("AZURE_OPENAI_API_KEY")))
164
138
  CONTAINER.register(AzureOpenAIBaseURL, lambda: AzureOpenAIBaseURL(os.getenv("AZURE_OPENAI_BASE_URL")))
@@ -168,6 +142,8 @@ def reset_environment_registrations():
168
142
  )
169
143
  CONTAINER.register(OpenAI, provide_openai_client)
170
144
  CONTAINER.register(AsyncOpenAI, provide_async_openai_client)
145
+ CONTAINER.register(tiktoken.Encoding, lambda: tiktoken.get_encoding("o200k_base"))
146
+ CONTAINER.register(TextChunker, lambda: TextChunker(CONTAINER.resolve(tiktoken.Encoding)))
171
147
  CONTAINER.register(
172
148
  SchemaInferer,
173
149
  lambda: SchemaInferer(
@@ -175,3 +151,6 @@ def reset_environment_registrations():
175
151
  model_name=CONTAINER.resolve(ResponsesModelName).value,
176
152
  ),
177
153
  )
154
+
155
+
156
+ set_default_registrations()