getanyapi 0.77.2__tar.gz → 0.78.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 (106) hide show
  1. {getanyapi-0.77.2 → getanyapi-0.78.1}/PKG-INFO +1 -1
  2. {getanyapi-0.77.2 → getanyapi-0.78.1}/pyproject.toml +1 -1
  3. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/__init__.py +1 -1
  4. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/google.py +2 -2
  5. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/twitter.py +6 -4
  6. {getanyapi-0.77.2 → getanyapi-0.78.1}/.gitignore +0 -0
  7. {getanyapi-0.77.2 → getanyapi-0.78.1}/README.md +0 -0
  8. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/_account.py +0 -0
  9. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/_async_client.py +0 -0
  10. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/_client.py +0 -0
  11. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/_errors.py +0 -0
  12. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/_idempotency.py +0 -0
  13. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/_pagination.py +0 -0
  14. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/_transport.py +0 -0
  15. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/discovery_types.py +0 -0
  16. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/__init__.py +0 -0
  17. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/ahrefs.py +0 -0
  18. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/airbnb.py +0 -0
  19. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/alibaba.py +0 -0
  20. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/amazon.py +0 -0
  21. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/apollo.py +0 -0
  22. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/appstore.py +0 -0
  23. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/bluesky.py +0 -0
  24. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/booking.py +0 -0
  25. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/capterra.py +0 -0
  26. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/chatgpt.py +0 -0
  27. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/coinmarketcap.py +0 -0
  28. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/company.py +0 -0
  29. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/company_enrichment.py +0 -0
  30. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/company_identify.py +0 -0
  31. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/company_search.py +0 -0
  32. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/congress.py +0 -0
  33. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/contact_enrichment.py +0 -0
  34. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/douyin.py +0 -0
  35. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/ebay.py +0 -0
  36. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/email.py +0 -0
  37. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/email_finding.py +0 -0
  38. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/email_verification.py +0 -0
  39. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/facebook.py +0 -0
  40. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/fiverr.py +0 -0
  41. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/g2.py +0 -0
  42. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/gemini.py +0 -0
  43. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/github.py +0 -0
  44. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/glassdoor.py +0 -0
  45. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/google_ads.py +0 -0
  46. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/google_finance.py +0 -0
  47. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/google_shopping.py +0 -0
  48. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/hackernews.py +0 -0
  49. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/indeed.py +0 -0
  50. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/instagram.py +0 -0
  51. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/job_search.py +0 -0
  52. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/linkedin.py +0 -0
  53. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/maps.py +0 -0
  54. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/mobile_phone.py +0 -0
  55. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/naver.py +0 -0
  56. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/nextdoor.py +0 -0
  57. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/people_search.py +0 -0
  58. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/perplexity.py +0 -0
  59. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/person.py +0 -0
  60. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/person_enrichment.py +0 -0
  61. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/pinterest.py +0 -0
  62. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/playstore.py +0 -0
  63. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/polymarket.py +0 -0
  64. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/property_records.py +0 -0
  65. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/realtor.py +0 -0
  66. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/reddit.py +0 -0
  67. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/redfin.py +0 -0
  68. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/rednote.py +0 -0
  69. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/sec.py +0 -0
  70. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/semrush.py +0 -0
  71. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/seo.py +0 -0
  72. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/similarweb.py +0 -0
  73. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/snapchat.py +0 -0
  74. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/social.py +0 -0
  75. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/spotify.py +0 -0
  76. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/substack.py +0 -0
  77. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/technographics.py +0 -0
  78. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/threads.py +0 -0
  79. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/tiktok.py +0 -0
  80. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/tiktok_shop.py +0 -0
  81. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/tripadvisor.py +0 -0
  82. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/trustpilot.py +0 -0
  83. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/truthsocial.py +0 -0
  84. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/upwork.py +0 -0
  85. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/walmart.py +0 -0
  86. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/web.py +0 -0
  87. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/weibo.py +0 -0
  88. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/yahoo_finance.py +0 -0
  89. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/yelp.py +0 -0
  90. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/youtube.py +0 -0
  91. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/zhihu.py +0 -0
  92. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/platforms/zillow.py +0 -0
  93. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/py.typed +0 -0
  94. {getanyapi-0.77.2 → getanyapi-0.78.1}/src/getanyapi/types.py +0 -0
  95. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/conftest.py +0 -0
  96. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_account.py +0 -0
  97. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_client.py +0 -0
  98. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_durable_requests.py +0 -0
  99. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_envelope.py +0 -0
  100. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_errors.py +0 -0
  101. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_fixture_roundtrip.py +0 -0
  102. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_fixture_sweep.py +0 -0
  103. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_not_found_reason.py +0 -0
  104. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_pagination.py +0 -0
  105. {getanyapi-0.77.2 → getanyapi-0.78.1}/tests/test_transport.py +0 -0
  106. {getanyapi-0.77.2 → getanyapi-0.78.1}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: getanyapi
3
- Version: 0.77.2
3
+ Version: 0.78.1
4
4
  Summary: Official typed Python SDK for AnyAPI: any API, one wallet, USD, no subscriptions.
5
5
  Project-URL: Homepage, https://getanyapi.com
6
6
  Project-URL: Documentation, https://getanyapi.com/docs
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "getanyapi"
7
- version = "0.77.2"
7
+ version = "0.78.1"
8
8
  description = "Official typed Python SDK for AnyAPI: any API, one wallet, USD, no subscriptions."
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.10"
@@ -55,7 +55,7 @@ from .types import (
55
55
  unwrap,
56
56
  )
57
57
 
58
- __version__ = "0.77.2"
58
+ __version__ = "0.78.1"
59
59
 
60
60
  __all__ = [
61
61
  # clients + top-level functions
@@ -788,7 +788,7 @@ class GoogleNamespace:
788
788
  further, or use google.search_100 for up to 100 ranked results in one call,
789
789
  which is cheaper past roughly 20 results.
790
790
 
791
- Price: $0.0004 per request.
791
+ Price: $0.0005 per request.
792
792
 
793
793
  Example:
794
794
  res = client.google.search(gl="us", hl="en", limit=10, query="best coffee maker")
@@ -1053,7 +1053,7 @@ class AsyncGoogleNamespace:
1053
1053
  further, or use google.search_100 for up to 100 ranked results in one call,
1054
1054
  which is cheaper past roughly 20 results.
1055
1055
 
1056
- Price: $0.0004 per request.
1056
+ Price: $0.0005 per request.
1057
1057
 
1058
1058
  Example:
1059
1059
  res = client.google.search(gl="us", hl="en", limit=10, query="best coffee maker")
@@ -195,6 +195,8 @@ class TwitterSearchUsersInput(TypedDict, total=False):
195
195
  """Optional; omit it and routing is unchanged, with the cheapest source serving. Prefer sources whose typical response time (median over the trailing 30 days, as published on this endpoint's lane health) is under this many milliseconds; among those, the cheapest serves. This can raise your price: when the cheapest source misses the target, a faster and dearer one serves, and you are quoted and charged its price. If no source is that fast the request is still served, by whichever source offers the best speed for its price - it is never refused for being slow. Sources we have not timed are tried last. This is a preference, not a guarantee: the median describes past requests and is not a ceiling on this one, and it excludes any wait this request itself asks for. On a paginated walk it applies to the first page only: later pages stay with the source that page chose, at the price it was quoted. Minimum: 1."""
196
196
  query: Required[str]
197
197
  """Keyword to match against X (Twitter) handles, display names, and profile bios. This is the People tab of X search: pass a topic ('ai agents'), a name ('Elon Musk'), or a handle ('openai') and get back accounts, not posts. Use twitter.search for posts."""
198
+ requireFields: NotRequired[list[Literal["canDm", "listedCount", "location"]]]
199
+ """Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `location`, and it is served only by a source that returns every one of them. Fields you do not name are still returned whenever the serving source has them. This can raise your price: when the cheapest source cannot return a named field, a dearer source serves, and you are quoted and charged its price. A named field can still be absent on a profile that genuinely lacks it. Naming a combination that no single source returns together is refused as invalid input, with no charge. On a paginated walk it applies to the first page only; later pages stay with the source that page chose, at the price it was quoted."""
198
200
  source: NotRequired[list[str]]
199
201
  """Optional. Source ids to prefer, in order, taken from this endpoint's `lanes[].source.id` in /catalog or /apis. Omit it and the cheapest source serves, with automatic failover. Listed sources are tried first in the order given, then the others, unless `allowFallbacks` is false. A single source with `allowFallbacks` false is served only by that source at its price, quoted and charged exactly, with no failover. The price is that of the dearest source that may serve. An id that does not serve this endpoint is rejected as invalid input with no charge; a listed source that is not serving right now is refused with no charge, so omit `source` to be served by another. On a paginated walk, later pages must include the source that served page one, or omit `source`."""
200
202
 
@@ -933,7 +935,7 @@ class TwitterSearchUsersUser(BaseModel):
933
935
  can_dm: bool | None = Field(
934
936
  default=None,
935
937
  alias="canDm",
936
- description="Whether the account accepts direct messages.",
938
+ description="Whether the account accepts direct messages; null when the serving source does not return it. Name it in requireFields to be served by a source that does.",
937
939
  )
938
940
  cover_url: str | None = Field(
939
941
  default=None,
@@ -952,10 +954,10 @@ class TwitterSearchUsersUser(BaseModel):
952
954
  listed_count: int | None = Field(
953
955
  default=None,
954
956
  alias="listedCount",
955
- description="Number of public lists the account appears on.",
957
+ description="Number of public lists the account appears on; null when the serving source does not return it. Name it in requireFields to be served by a source that does.",
956
958
  )
957
- location: str = Field(
958
- description="The account's self-reported location (may be empty)."
959
+ location: str | None = Field(
960
+ description="The account's self-reported location (may be empty); null when the serving source does not return locations. Name it in requireFields to be served by a source that does."
959
961
  )
960
962
  name: str = Field(
961
963
  description="The account's display name. Populated whenever the provider has data for the entity."
File without changes
File without changes
File without changes
File without changes