runapi-core 0.3.2__tar.gz → 0.3.4__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 (33) hide show
  1. {runapi_core-0.3.2 → runapi_core-0.3.4}/PKG-INFO +4 -4
  2. {runapi_core-0.3.2 → runapi_core-0.3.4}/README.md +1 -1
  3. {runapi_core-0.3.2 → runapi_core-0.3.4}/pyproject.toml +2 -2
  4. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/contract_gen.py +1 -12
  5. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/pricing.py +1 -0
  6. runapi_core-0.3.4/src/runapi/core/version.py +1 -0
  7. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_pricing.py +2 -0
  8. runapi_core-0.3.2/src/runapi/core/version.py +0 -1
  9. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/__init__.py +0 -0
  10. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/account.py +0 -0
  11. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/auth.py +0 -0
  12. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/config.py +0 -0
  13. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/constants.py +0 -0
  14. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/errors.py +0 -0
  15. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/files.py +0 -0
  16. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/http_client.py +0 -0
  17. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/models.py +0 -0
  18. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/multipart.py +0 -0
  19. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/options.py +0 -0
  20. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/polling.py +0 -0
  21. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/provider_client.py +0 -0
  22. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/py.typed +0 -0
  23. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/resource.py +0 -0
  24. {runapi_core-0.3.2 → runapi_core-0.3.4}/src/runapi/core/response.py +0 -0
  25. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_account.py +0 -0
  26. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_auth.py +0 -0
  27. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_config.py +0 -0
  28. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_errors.py +0 -0
  29. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_files.py +0 -0
  30. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_http_client.py +0 -0
  31. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_models.py +0 -0
  32. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_polling.py +0 -0
  33. {runapi_core-0.3.2 → runapi_core-0.3.4}/tests/test_resource.py +0 -0
@@ -1,13 +1,13 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: runapi-core
3
- Version: 0.3.2
3
+ Version: 0.3.4
4
4
  Summary: RunAPI core SDK for JavaScript, Python, Ruby, Go, Java, and PHP
5
5
  Project-URL: Homepage, https://runapi.ai/models
6
- Project-URL: Documentation, https://runapi.ai/docs#runapi-sdks
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.3.2
10
+ Project-URL: Release Notes, https://github.com/runapi-ai/core-sdk/releases/tag/python%2Fv0.3.4
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
@@ -79,7 +79,7 @@ inline = files.create(source="iVBORw0KGgo...")
79
79
  print(uploaded.url)
80
80
  ```
81
81
 
82
- Public SDK docs live at https://runapi.ai/docs#runapi-sdks and the model catalog lives at https://runapi.ai/models.
82
+ Public SDK docs live at https://runapi.ai/docs/resources/sdks and the model catalog lives at https://runapi.ai/models.
83
83
 
84
84
  ## Universal resources
85
85
 
@@ -62,7 +62,7 @@ inline = files.create(source="iVBORw0KGgo...")
62
62
  print(uploaded.url)
63
63
  ```
64
64
 
65
- Public SDK docs live at https://runapi.ai/docs#runapi-sdks and the model catalog lives at https://runapi.ai/models.
65
+ Public SDK docs live at https://runapi.ai/docs/resources/sdks and the model catalog lives at https://runapi.ai/models.
66
66
 
67
67
  ## Universal resources
68
68
 
@@ -15,11 +15,11 @@ dependencies = ["httpx>=0.27"]
15
15
 
16
16
  [project.urls]
17
17
  Homepage = "https://runapi.ai/models"
18
- Documentation = "https://runapi.ai/docs#runapi-sdks"
18
+ 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.3.2"
22
+ "Release Notes" = "https://github.com/runapi-ai/core-sdk/releases/tag/python%2Fv0.3.4"
23
23
 
24
24
  [tool.hatch.version]
25
25
  path = "src/runapi/core/version.py"
@@ -1136,7 +1136,7 @@ CONTRACT = {
1136
1136
  }
1137
1137
  },
1138
1138
  "seedance/text-to-video": {
1139
- "models": ["seedance-1.5-pro", "seedance-2-mini", "seedance-2.0", "seedance-2.0-fast", "seedance-v1-lite", "seedance-v1-pro", "seedance-v1-pro-fast"],
1139
+ "models": ["seedance-1.5-pro", "seedance-2-mini", "seedance-2.0", "seedance-2.0-fast", "seedance-v1-pro", "seedance-v1-pro-fast"],
1140
1140
  "fields_by_model": {
1141
1141
  "seedance-1.5-pro": {
1142
1142
  "aspect_ratio": {
@@ -1170,17 +1170,6 @@ CONTRACT = {
1170
1170
  "enum": ["480p", "720p"]
1171
1171
  }
1172
1172
  },
1173
- "seedance-v1-lite": {
1174
- "aspect_ratio": {
1175
- "enum": ["1:1", "4:3", "3:4", "16:9", "9:16", "9:21"]
1176
- },
1177
- "duration_seconds": {
1178
- "enum": [5, 10]
1179
- },
1180
- "output_resolution": {
1181
- "enum": ["480p", "720p", "1080p"]
1182
- }
1183
- },
1184
1173
  "seedance-v1-pro": {
1185
1174
  "aspect_ratio": {
1186
1175
  "enum": ["1:1", "4:3", "3:4", "16:9", "9:16", "21:9"]
@@ -24,6 +24,7 @@ class PriceSchedule(BaseModel):
24
24
  input_price_per_1m_cents = optional(int)
25
25
  output_price_per_1m_cents = optional(int)
26
26
  cache_read_price_per_1m_cents = optional(int)
27
+ cache_write_price_per_1m_cents = optional(int)
27
28
  cache_write_5m_price_per_1m_cents = optional(int)
28
29
  cache_write_1h_price_per_1m_cents = optional(int)
29
30
  billing_config = optional()
@@ -0,0 +1 @@
1
+ __version__ = "0.3.4"
@@ -24,6 +24,7 @@ SCHEDULE = {
24
24
  "billing_unit": "per_call",
25
25
  "billing_strategy": "flat",
26
26
  "unit_price_cents": 5,
27
+ "cache_write_price_per_1m_cents": 125,
27
28
  "future_field": {"preserved": True},
28
29
  }
29
30
 
@@ -45,6 +46,7 @@ def test_list_schedules_uses_live_endpoint_filters_and_revalidation_options():
45
46
 
46
47
  assert isinstance(result, PriceScheduleListResponse)
47
48
  assert result.price_schedules[0].future_field.preserved is True
49
+ assert result.price_schedules[0].cache_write_price_per_1m_cents == 125
48
50
  assert result.response_header("etag") == '"schedule-v2"'
49
51
  assert http.calls == [
50
52
  ("get", "/api/v1/price_schedules?service=nano_banana&action=text_to_image&model=nano-banana", None, options)
@@ -1 +0,0 @@
1
- __version__ = "0.3.2"