asa-api-client 0.2.0__tar.gz → 0.2.1__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 (65) hide show
  1. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.github/workflows/ci.yml +3 -0
  2. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.github/workflows/docs.yml +4 -4
  3. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/PKG-INFO +1 -1
  4. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/apps.py +1 -3
  5. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/campaigns.py +1 -3
  6. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/reports.py +1 -3
  7. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/base.py +2 -2
  8. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/product_pages.py +1 -3
  9. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/reports.py +1 -3
  10. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/pyproject.toml +1 -1
  11. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/uv.lock +1 -1
  12. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  13. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  14. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  15. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.github/dependabot.yml +0 -0
  16. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.github/workflows/publish.yml +0 -0
  17. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.gitignore +0 -0
  18. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/.pre-commit-config.yaml +0 -0
  19. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/LICENSE +0 -0
  20. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/README.md +0 -0
  21. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/__init__.py +0 -0
  22. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/auth.py +0 -0
  23. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/client.py +0 -0
  24. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/exceptions.py +0 -0
  25. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/logging.py +0 -0
  26. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/__init__.py +0 -0
  27. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/acls.py +0 -0
  28. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/ad_groups.py +0 -0
  29. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/ads.py +0 -0
  30. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/base.py +0 -0
  31. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/budget_orders.py +0 -0
  32. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/countries.py +0 -0
  33. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/geo.py +0 -0
  34. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/keywords.py +0 -0
  35. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/models/product_pages.py +0 -0
  36. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/__init__.py +0 -0
  37. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/acls.py +0 -0
  38. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/ad_groups.py +0 -0
  39. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/ads.py +0 -0
  40. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/apps.py +0 -0
  41. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/budget_orders.py +0 -0
  42. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/campaigns.py +0 -0
  43. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/countries.py +0 -0
  44. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/custom_reports.py +0 -0
  45. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/geo.py +0 -0
  46. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/resources/keywords.py +0 -0
  47. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/settings.py +0 -0
  48. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/asa_api_client/utils/__init__.py +0 -0
  49. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/CNAME +0 -0
  50. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/api/client.md +0 -0
  51. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/api/exceptions.md +0 -0
  52. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/api/models.md +0 -0
  53. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/getting-started/authentication.md +0 -0
  54. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/getting-started/installation.md +0 -0
  55. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/getting-started/quickstart.md +0 -0
  56. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/guide/ad-groups.md +0 -0
  57. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/guide/async.md +0 -0
  58. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/guide/campaigns.md +0 -0
  59. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/guide/keywords.md +0 -0
  60. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/guide/reports.md +0 -0
  61. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/docs/index.md +0 -0
  62. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/mkdocs.yml +0 -0
  63. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/tests/__init__.py +0 -0
  64. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/tests/unit/__init__.py +0 -0
  65. {asa_api_client-0.2.0 → asa_api_client-0.2.1}/tests/unit/test_models.py +0 -0
@@ -24,6 +24,9 @@ jobs:
24
24
  - name: Set up Python ${{ matrix.python-version }}
25
25
  run: uv python install ${{ matrix.python-version }}
26
26
 
27
+ - name: Check uv.lock is up to date
28
+ run: uv lock --check
29
+
27
30
  - name: Install dependencies
28
31
  run: uv sync --extra dev
29
32
 
@@ -18,10 +18,10 @@ jobs:
18
18
  build:
19
19
  runs-on: ubuntu-latest
20
20
  steps:
21
- - uses: actions/checkout@v4
21
+ - uses: actions/checkout@v6
22
22
 
23
23
  - name: Install uv
24
- uses: astral-sh/setup-uv@v4
24
+ uses: astral-sh/setup-uv@v7
25
25
  with:
26
26
  version: "latest"
27
27
 
@@ -35,10 +35,10 @@ jobs:
35
35
  run: uv run mkdocs build
36
36
 
37
37
  - name: Setup Pages
38
- uses: actions/configure-pages@v4
38
+ uses: actions/configure-pages@v5
39
39
 
40
40
  - name: Upload artifact
41
- uses: actions/upload-pages-artifact@v3
41
+ uses: actions/upload-pages-artifact@v4
42
42
  with:
43
43
  path: site
44
44
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asa-api-client
3
- Version: 0.2.0
3
+ Version: 0.2.1
4
4
  Summary: A modern Python client for the Apple Search Ads API with full type safety and async support
5
5
  Project-URL: Homepage, https://github.com/SamPetherbridge/asa-api-client
6
6
  Project-URL: Documentation, https://asa-api-client.peth.au
@@ -21,6 +21,4 @@ class AppInfo(BaseModel):
21
21
  adam_id: int = Field(alias="adamId")
22
22
  app_name: str = Field(alias="appName")
23
23
  developer_name: str | None = Field(default=None, alias="developerName")
24
- country_or_region_codes: list[str] | None = Field(
25
- default=None, alias="countryOrRegionCodes"
26
- )
24
+ country_or_region_codes: list[str] | None = Field(default=None, alias="countryOrRegionCodes")
@@ -214,9 +214,7 @@ class Campaign(BaseModel):
214
214
  loc_invoice_details: dict[str, Any] | None = Field(default=None, alias="locInvoiceDetails")
215
215
  budget_orders: list[int] | None = Field(default=None, alias="budgetOrders")
216
216
  payment_model: str | None = Field(default=None, alias="paymentModel")
217
- bidding_strategy: BiddingStrategy | str | None = Field(
218
- default=None, alias="biddingStrategy"
219
- )
217
+ bidding_strategy: BiddingStrategy | str | None = Field(default=None, alias="biddingStrategy")
220
218
  target_cpa: Money | None = Field(default=None, alias="targetCpa")
221
219
  deleted: bool = False
222
220
 
@@ -196,9 +196,7 @@ class ReportMetadata(BaseModel):
196
196
  ad_id: int | None = Field(default=None, alias="adId")
197
197
  ad_name: str | None = Field(default=None, alias="adName")
198
198
  ad_display_status: str | None = Field(default=None, alias="adDisplayStatus")
199
- ad_serving_state_reasons: list[str] | None = Field(
200
- default=None, alias="adServingStateReasons"
201
- )
199
+ ad_serving_state_reasons: list[str] | None = Field(default=None, alias="adServingStateReasons")
202
200
  creative_type: str | None = Field(default=None, alias="creativeType")
203
201
  creative_id: int | None = Field(default=None, alias="creativeId")
204
202
  product_page_id: str | None = Field(default=None, alias="productPageId")
@@ -248,7 +248,7 @@ class BaseResource(Generic[T, CreateT, UpdateT]):
248
248
  method: str,
249
249
  path: str = "",
250
250
  *,
251
- json: dict[str, Any] | list[dict[str, Any]] | None = None,
251
+ json: dict[str, Any] | list[dict[str, Any]] | list[int] | None = None,
252
252
  params: dict[str, Any] | None = None,
253
253
  max_retries: int = DEFAULT_MAX_RETRIES,
254
254
  ) -> dict[str, Any]:
@@ -344,7 +344,7 @@ class BaseResource(Generic[T, CreateT, UpdateT]):
344
344
  method: str,
345
345
  path: str = "",
346
346
  *,
347
- json: dict[str, Any] | list[dict[str, Any]] | None = None,
347
+ json: dict[str, Any] | list[dict[str, Any]] | list[int] | None = None,
348
348
  params: dict[str, Any] | None = None,
349
349
  max_retries: int = DEFAULT_MAX_RETRIES,
350
350
  ) -> dict[str, Any]:
@@ -99,9 +99,7 @@ class ProductPageResource(BaseResource[ProductPage, ProductPage, ProductPage]):
99
99
  data = await self._request_async("GET", product_page_id)
100
100
  return self._parse_response(data)
101
101
 
102
- def get_locale_details(
103
- self, product_page_id: str
104
- ) -> builtins.list[ProductPageLocaleDetail]:
102
+ def get_locale_details(self, product_page_id: str) -> builtins.list[ProductPageLocaleDetail]:
105
103
  """Get locale details for a product page.
106
104
 
107
105
  Args:
@@ -722,7 +722,5 @@ class ReportResource(BaseResource[ReportingResponse, ReportingRequest, Reporting
722
722
  timezone=timezone,
723
723
  )
724
724
 
725
- data = await self._request_async(
726
- "POST", f"campaigns/{campaign_id}/ads", json=request
727
- )
725
+ data = await self._request_async("POST", f"campaigns/{campaign_id}/ads", json=request)
728
726
  return self._parse_report_response(data)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "asa-api-client"
7
- version = "0.2.0"
7
+ version = "0.2.1"
8
8
  description = "A modern Python client for the Apple Search Ads API with full type safety and async support"
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -25,7 +25,7 @@ wheels = [
25
25
 
26
26
  [[package]]
27
27
  name = "asa-api-client"
28
- version = "0.1.6"
28
+ version = "0.2.1"
29
29
  source = { editable = "." }
30
30
  dependencies = [
31
31
  { name = "httpx" },
File without changes
File without changes