runapi-core 0.8.1__tar.gz → 0.8.2__tar.gz

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.
Files changed (35) hide show
  1. {runapi_core-0.8.1 → runapi_core-0.8.2}/PKG-INFO +2 -2
  2. {runapi_core-0.8.1 → runapi_core-0.8.2}/pyproject.toml +1 -1
  3. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/contract_gen.py +42 -0
  4. runapi_core-0.8.2/src/runapi/core/version.py +1 -0
  5. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_errors.py +5 -2
  6. runapi_core-0.8.1/src/runapi/core/version.py +0 -1
  7. {runapi_core-0.8.1 → runapi_core-0.8.2}/README.md +0 -0
  8. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/__init__.py +0 -0
  9. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/account.py +0 -0
  10. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/auth.py +0 -0
  11. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/config.py +0 -0
  12. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/constants.py +0 -0
  13. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/errors.py +0 -0
  14. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/files.py +0 -0
  15. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/http_client.py +0 -0
  16. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/models.py +0 -0
  17. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/multipart.py +0 -0
  18. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/options.py +0 -0
  19. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/polling.py +0 -0
  20. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/pricing.py +0 -0
  21. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/provider_client.py +0 -0
  22. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/py.typed +0 -0
  23. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/resource.py +0 -0
  24. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/response.py +0 -0
  25. {runapi_core-0.8.1 → runapi_core-0.8.2}/src/runapi/core/uploads.py +0 -0
  26. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_account.py +0 -0
  27. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_auth.py +0 -0
  28. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_config.py +0 -0
  29. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_files.py +0 -0
  30. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_http_client.py +0 -0
  31. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_models.py +0 -0
  32. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_polling.py +0 -0
  33. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_pricing.py +0 -0
  34. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_resource.py +0 -0
  35. {runapi_core-0.8.1 → runapi_core-0.8.2}/tests/test_uploads.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: runapi-core
3
- Version: 0.8.1
3
+ Version: 0.8.2
4
4
  Summary: RunAPI core SDK for JavaScript, Python, Ruby, Go, Java, and PHP
5
5
  Project-URL: Homepage, https://runapi.ai/models
6
6
  Project-URL: Documentation, https://runapi.ai/docs/resources/sdks
7
7
  Project-URL: Source, https://github.com/runapi-ai/core-sdk
8
8
  Project-URL: Issues, https://github.com/runapi-ai/core-sdk/issues
9
9
  Project-URL: Changelog, https://github.com/runapi-ai/core-sdk/blob/main/CHANGELOG.md
10
- Project-URL: Release Notes, https://github.com/runapi-ai/core-sdk/releases/tag/python%2Fv0.8.1
10
+ Project-URL: Release Notes, https://github.com/runapi-ai/core-sdk/releases/tag/python%2Fv0.8.2
11
11
  Author-email: RunAPI <contact@runapi.ai>
12
12
  License-Expression: Apache-2.0
13
13
  Keywords: api,core,golang,gradle,java,maven,pypi,python,ruby,runapi,runapi-ai,sdk,typescript
@@ -19,7 +19,7 @@ Documentation = "https://runapi.ai/docs/resources/sdks"
19
19
  Source = "https://github.com/runapi-ai/core-sdk"
20
20
  Issues = "https://github.com/runapi-ai/core-sdk/issues"
21
21
  Changelog = "https://github.com/runapi-ai/core-sdk/blob/main/CHANGELOG.md"
22
- "Release Notes" = "https://github.com/runapi-ai/core-sdk/releases/tag/python%2Fv0.8.1"
22
+ "Release Notes" = "https://github.com/runapi-ai/core-sdk/releases/tag/python%2Fv0.8.2"
23
23
 
24
24
  [tool.hatch.version]
25
25
  path = "src/runapi/core/version.py"
@@ -296,6 +296,48 @@ CONTRACT = {
296
296
  }
297
297
  }
298
298
  },
299
+ "gpt-image-2.5/edit-image": {
300
+ "models": ["gpt-image-2.5-flare", "gpt-image-2.5-sunburst"],
301
+ "fields_by_model": {
302
+ "gpt-image-2.5-flare": {
303
+ "aspect_ratio": {
304
+ "enum": ["auto", "1:1", "3:2", "2:3", "4:3", "3:4", "5:4", "4:5", "16:9", "9:16", "2:1", "1:2", "3:1", "1:3", "21:9", "9:21"]
305
+ },
306
+ "output_resolution": {
307
+ "enum": ["1k", "2k", "4k"]
308
+ }
309
+ },
310
+ "gpt-image-2.5-sunburst": {
311
+ "aspect_ratio": {
312
+ "enum": ["auto", "1:1", "3:2", "2:3", "4:3", "3:4", "5:4", "4:5", "16:9", "9:16", "2:1", "1:2", "3:1", "1:3", "21:9", "9:21"]
313
+ },
314
+ "output_resolution": {
315
+ "enum": ["1k", "2k", "4k"]
316
+ }
317
+ }
318
+ }
319
+ },
320
+ "gpt-image-2.5/text-to-image": {
321
+ "models": ["gpt-image-2.5-flare", "gpt-image-2.5-sunburst"],
322
+ "fields_by_model": {
323
+ "gpt-image-2.5-flare": {
324
+ "aspect_ratio": {
325
+ "enum": ["auto", "1:1", "3:2", "2:3", "4:3", "3:4", "5:4", "4:5", "16:9", "9:16", "2:1", "1:2", "3:1", "1:3", "21:9", "9:21"]
326
+ },
327
+ "output_resolution": {
328
+ "enum": ["1k", "2k", "4k"]
329
+ }
330
+ },
331
+ "gpt-image-2.5-sunburst": {
332
+ "aspect_ratio": {
333
+ "enum": ["auto", "1:1", "3:2", "2:3", "4:3", "3:4", "5:4", "4:5", "16:9", "9:16", "2:1", "1:2", "3:1", "1:3", "21:9", "9:21"]
334
+ },
335
+ "output_resolution": {
336
+ "enum": ["1k", "2k", "4k"]
337
+ }
338
+ }
339
+ }
340
+ },
299
341
  "gpt-image-2/edit-image": {
300
342
  "models": ["gpt-image-2"],
301
343
  "fields_by_model": {
@@ -0,0 +1 @@
1
+ __version__ = "0.8.2"
@@ -144,9 +144,12 @@ def test_service_unavailable_defaults_to_503():
144
144
  assert errors.ServiceUnavailableError().status == 503
145
145
 
146
146
 
147
- def test_resource_validation_uses_summary_and_preserves_field_errors():
147
+ def test_resource_validation_reads_summary_and_preserves_field_errors():
148
148
  error = errors.error_from_response(
149
- response(422, body='{"error":"Validation failed","errors":{"prompt":["too long"]}}')
149
+ response(
150
+ 422,
151
+ body='{"error":"Validation failed","errors":{"prompt":["too long"]}}',
152
+ )
150
153
  )
151
154
  assert error.message == "Validation failed"
152
155
  assert error.details["errors"] == {"prompt": ["too long"]}
@@ -1 +0,0 @@
1
- __version__ = "0.8.1"
File without changes