asa-api-cli 0.1.0__tar.gz → 0.3.0__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 (39) hide show
  1. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/.github/workflows/ci.yml +1 -1
  2. asa_api_cli-0.3.0/.pre-commit-config.yaml +19 -0
  3. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/PKG-INFO +5 -2
  4. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/asa_api_cli/__init__.py +6 -1
  5. asa_api_cli-0.3.0/asa_api_cli/ad_groups.py +1142 -0
  6. asa_api_cli-0.3.0/asa_api_cli/ads.py +345 -0
  7. asa_api_cli-0.3.0/asa_api_cli/apps.py +81 -0
  8. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/asa_api_cli/auth.py +83 -11
  9. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/asa_api_cli/brand.py +12 -6
  10. asa_api_cli-0.3.0/asa_api_cli/budget_orders.py +114 -0
  11. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/asa_api_cli/campaigns.py +13 -7
  12. asa_api_cli-0.3.0/asa_api_cli/countries.py +84 -0
  13. asa_api_cli-0.3.0/asa_api_cli/geo.py +92 -0
  14. asa_api_cli-0.3.0/asa_api_cli/impression_share.py +1245 -0
  15. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/asa_api_cli/keywords.py +126 -62
  16. asa_api_cli-0.3.0/asa_api_cli/languages.py +270 -0
  17. asa_api_cli-0.3.0/asa_api_cli/main.py +157 -0
  18. asa_api_cli-0.3.0/asa_api_cli/optimize.py +2456 -0
  19. asa_api_cli-0.3.0/asa_api_cli/product_pages.py +143 -0
  20. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/asa_api_cli/reports.py +13 -11
  21. asa_api_cli-0.3.0/asa_api_cli/translate.py +724 -0
  22. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/asa_api_cli/utils.py +90 -23
  23. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/pyproject.toml +5 -3
  24. asa_api_cli-0.3.0/tests/test_cli.py +139 -0
  25. asa_api_cli-0.3.0/uv.lock +3098 -0
  26. asa_api_cli-0.1.0/asa_api_cli/ad_groups.py +0 -270
  27. asa_api_cli-0.1.0/asa_api_cli/main.py +0 -76
  28. asa_api_cli-0.1.0/asa_api_cli/optimize.py +0 -961
  29. asa_api_cli-0.1.0/tests/test_cli.py +0 -39
  30. asa_api_cli-0.1.0/uv.lock +0 -692
  31. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  32. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  33. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  34. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/.github/dependabot.yml +0 -0
  35. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/.github/workflows/publish.yml +0 -0
  36. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/.gitignore +0 -0
  37. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/LICENSE +0 -0
  38. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/README.md +0 -0
  39. {asa_api_cli-0.1.0 → asa_api_cli-0.3.0}/tests/__init__.py +0 -0
@@ -40,7 +40,7 @@ jobs:
40
40
  run: uv run pytest --cov=asa_api_cli --cov-report=xml
41
41
 
42
42
  - name: Upload coverage to Codecov
43
- uses: codecov/codecov-action@v5
43
+ uses: codecov/codecov-action@v7
44
44
  with:
45
45
  file: ./coverage.xml
46
46
  fail_ci_if_error: false
@@ -0,0 +1,19 @@
1
+ repos:
2
+ - repo: https://github.com/astral-sh/ruff-pre-commit
3
+ rev: v0.8.3
4
+ hooks:
5
+ - id: ruff
6
+ args: [--fix]
7
+ - id: ruff-format
8
+
9
+ - repo: https://github.com/pre-commit/mirrors-mypy
10
+ rev: v1.13.0
11
+ hooks:
12
+ - id: mypy
13
+ additional_dependencies:
14
+ - typer>=0.13.0
15
+ - rich>=13.9.0
16
+ - types-requests
17
+ args: [--ignore-missing-imports]
18
+ pass_filenames: false
19
+ entry: mypy asa_api_cli
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asa-api-cli
3
- Version: 0.1.0
3
+ Version: 0.3.0
4
4
  Summary: Command-line interface for Apple Search Ads campaign management
5
5
  Project-URL: Homepage, https://github.com/SamPetherbridge/asa-api-cli
6
6
  Project-URL: Repository, https://github.com/SamPetherbridge/asa-api-cli
@@ -18,11 +18,14 @@ Classifier: Programming Language :: Python :: 3
18
18
  Classifier: Programming Language :: Python :: 3.13
19
19
  Classifier: Typing :: Typed
20
20
  Requires-Python: >=3.13
21
- Requires-Dist: asa-api-client>=0.1.0
21
+ Requires-Dist: asa-api-client>=0.2.1
22
+ Requires-Dist: pydantic-ai>=0.1.0
23
+ Requires-Dist: pydantic-settings>=2.0.0
22
24
  Requires-Dist: rich>=13.9.0
23
25
  Requires-Dist: typer>=0.13.0
24
26
  Provides-Extra: dev
25
27
  Requires-Dist: mypy>=1.13.0; extra == 'dev'
28
+ Requires-Dist: pre-commit>=4.0.0; extra == 'dev'
26
29
  Requires-Dist: pytest-asyncio>=0.24.0; extra == 'dev'
27
30
  Requires-Dist: pytest-cov>=6.0.0; extra == 'dev'
28
31
  Requires-Dist: pytest>=8.3.0; extra == 'dev'
@@ -8,8 +8,13 @@ Usage:
8
8
  asa reports campaigns --start 2024-01-01 --end 2024-01-31
9
9
  """
10
10
 
11
+ from importlib.metadata import PackageNotFoundError, version
12
+
11
13
  from asa_api_cli.main import app
12
14
 
13
15
  __all__ = ["app"]
14
16
 
15
- __version__ = "0.1.0"
17
+ try:
18
+ __version__ = version("asa-api-cli")
19
+ except PackageNotFoundError: # pragma: no cover - only when running from a non-installed checkout
20
+ __version__ = "0.0.0"