inferencesh 0.4.11__py3-none-any.whl → 0.4.13__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.

Potentially problematic release.


This version of inferencesh might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
- from typing import Optional, Union, Any, Type
2
- from pydantic import BaseModel, Field, PrivateAttr, model_validator, GetCoreSchemaHandler, GetJsonSchemaHandler
3
- from pydantic_core import CoreSchema, core_schema
1
+ from typing import Optional, Union, Any
2
+ from pydantic import BaseModel, Field, PrivateAttr, model_validator, GetJsonSchemaHandler
3
+ from pydantic_core import CoreSchema
4
4
  import mimetypes
5
5
  import os
6
6
  import urllib.request
@@ -9,9 +9,6 @@ import hashlib
9
9
  from pathlib import Path
10
10
  from tqdm import tqdm
11
11
 
12
- from pydantic import GetCoreSchemaHandler, GetJsonSchemaHandler
13
- from pydantic_core import CoreSchema, core_schema
14
-
15
12
  class File(BaseModel):
16
13
  """A class representing a file in the inference.sh ecosystem."""
17
14
 
@@ -239,36 +236,42 @@ class File(BaseModel):
239
236
  self.size = self._get_file_size() # Always update size
240
237
  self.filename = self._get_filename()
241
238
 
242
- @classmethod
243
- def __get_pydantic_core_schema__(
244
- cls, source: Type[Any], handler: GetCoreSchemaHandler
245
- ) -> CoreSchema:
246
- """Generates a Pydantic Core schema for validation of this File class"""
247
- # Get the default schema for our class
248
- schema = handler(source)
239
+ # @classmethod
240
+ # def __get_pydantic_core_schema__(
241
+ # cls, source: Type[Any], handler: GetCoreSchemaHandler
242
+ # ) -> CoreSchema:
243
+ # """Generates a Pydantic Core schema for validation of this File class"""
244
+ # # Get the default schema for our class
245
+ # schema = handler(source)
246
+
247
+ # # Create a proper serialization schema that includes the type
248
+ # serialization = core_schema.plain_serializer_function_ser_schema(
249
+ # lambda x: x.uri if x.uri else x.path,
250
+ # return_schema=core_schema.str_schema(),
251
+ # when_used="json",
252
+ # )
249
253
 
250
- return core_schema.json_or_python_schema(
251
- json_schema=core_schema.union_schema([
252
- core_schema.str_schema(), # Accept string input
253
- schema, # Accept full object input
254
- ]),
255
- python_schema=schema,
256
- serialization=schema.get("serialization", {}),
257
- )
254
+ # return core_schema.json_or_python_schema(
255
+ # json_schema=core_schema.union_schema([
256
+ # core_schema.str_schema(), # Accept string input
257
+ # schema, # Accept full object input
258
+ # ]),
259
+ # python_schema=schema,
260
+ # serialization=serialization,
261
+ # )
258
262
 
259
263
  @classmethod
260
264
  def __get_pydantic_json_schema__(
261
265
  cls, schema: CoreSchema, handler: GetJsonSchemaHandler
262
266
  ) -> dict[str, Any]:
263
- """Customizes the JSON schema generation for this File class"""
267
+ """Generate a simple JSON schema that accepts either a string or an object"""
264
268
  json_schema = handler(schema)
265
- json_schema = handler.resolve_ref_schema(json_schema)
266
- json_schema.update({
269
+ # Don't resolve refs here - that's what was causing the recursion
270
+ return {
267
271
  "$id": "/schemas/File",
268
272
  "oneOf": [
269
273
  {"type": "string"},
270
274
  json_schema
271
275
  ]
272
- })
273
- return json_schema
276
+ }
274
277
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: inferencesh
3
- Version: 0.4.11
3
+ Version: 0.4.13
4
4
  Summary: inference.sh Python SDK
5
5
  Author-email: "Inference Shell Inc." <hello@inference.sh>
6
6
  Project-URL: Homepage, https://github.com/inference-sh/sdk
@@ -2,14 +2,14 @@ inferencesh/__init__.py,sha256=dY3l3yCkWoMtGX0gNXgxFnrprFRl6PPWjH8V7Qedx5g,772
2
2
  inferencesh/client.py,sha256=6wTCLqLq-QapvjCjMg8ZE3BQyg8iTL8hv8UU7t-oxmE,39360
3
3
  inferencesh/models/__init__.py,sha256=FDwcdtT6c4hbRitymjmN-hZMlQa8RbKSftkZZyjtUXA,536
4
4
  inferencesh/models/base.py,sha256=eTwRvXAjMGh6b8AUXWKSGpRyeScAkPs6bNYY8AXKSz8,5505
5
- inferencesh/models/file.py,sha256=ACqWkw97XLI5m0l3inJBd63fSmNqKhe3K8PXeZyDu5Q,11357
5
+ inferencesh/models/file.py,sha256=Q1J9xgqDiBFKqeIczdBE5BpYiab7V8-k_BcHk2kq7tA,11506
6
6
  inferencesh/models/llm.py,sha256=FPkTqVkH4mdKxUEdDVNimaPEr_mkpGofX7qTK4G1IHo,27873
7
7
  inferencesh/utils/__init__.py,sha256=-xiD6uo2XzcrPAWFb_fUbaimmnW4KFKc-8IvBzaxNd4,148
8
8
  inferencesh/utils/download.py,sha256=DRGBudiPVa5bDS35KfR-DYeGRk7gO03WOelnisecwMo,1815
9
9
  inferencesh/utils/storage.py,sha256=E4J8emd4eFKdmdDgAqzz3TpaaDd3n0l8gYlMHuY8yIU,519
10
- inferencesh-0.4.11.dist-info/licenses/LICENSE,sha256=OsgqEWIh2el_QMj0y8O1A5Q5Dl-dxqqYbFE6fszuR4s,1086
11
- inferencesh-0.4.11.dist-info/METADATA,sha256=LK2Az16XQWlaMMFjrvpqVYggrJRn-XYlaC6afN4ks9s,5406
12
- inferencesh-0.4.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
13
- inferencesh-0.4.11.dist-info/entry_points.txt,sha256=6IC-fyozAqW3ljsMLGCXxJ0_ui2Jb-2fLHtoH1RTnEE,45
14
- inferencesh-0.4.11.dist-info/top_level.txt,sha256=TSMHg3T1ThMl1HGAWmzBClwOYH1ump5neof9BfHIwaA,12
15
- inferencesh-0.4.11.dist-info/RECORD,,
10
+ inferencesh-0.4.13.dist-info/licenses/LICENSE,sha256=OsgqEWIh2el_QMj0y8O1A5Q5Dl-dxqqYbFE6fszuR4s,1086
11
+ inferencesh-0.4.13.dist-info/METADATA,sha256=ocs7sJclodv5KopQutUoX0l2ULr6TAm7rOVkKb5hBLU,5406
12
+ inferencesh-0.4.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
13
+ inferencesh-0.4.13.dist-info/entry_points.txt,sha256=6IC-fyozAqW3ljsMLGCXxJ0_ui2Jb-2fLHtoH1RTnEE,45
14
+ inferencesh-0.4.13.dist-info/top_level.txt,sha256=TSMHg3T1ThMl1HGAWmzBClwOYH1ump5neof9BfHIwaA,12
15
+ inferencesh-0.4.13.dist-info/RECORD,,