getanyapi 0.92.0__tar.gz → 0.93.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.
- {getanyapi-0.92.0 → getanyapi-0.93.0}/PKG-INFO +1 -1
- {getanyapi-0.92.0 → getanyapi-0.93.0}/pyproject.toml +1 -1
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/__init__.py +1 -1
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/linkedin.py +114 -4
- {getanyapi-0.92.0 → getanyapi-0.93.0}/.gitignore +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/README.md +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_account.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_async_client.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_client.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_errors.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_idempotency.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_pagination.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/_transport.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/discovery_types.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/__init__.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/ahrefs.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/airbnb.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/alibaba.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/amazon.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/apollo.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/appstore.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/bluesky.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/booking.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/capterra.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/chatgpt.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/coinmarketcap.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company_enrichment.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company_identify.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/company_search.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/congress.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/contact_enrichment.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/douyin.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/ebay.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/email.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/email_finding.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/email_verification.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/facebook.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/fiverr.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/g2.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/gemini.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/github.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/glassdoor.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_ads.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_finance.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_hotels.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/google_shopping.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/hackernews.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/indeed.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/instagram.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/job_search.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/maps.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/mobile_phone.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/naver.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/nextdoor.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/people_search.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/perplexity.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/person.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/person_enrichment.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/pexels.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/pinterest.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/playstore.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/polymarket.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/property_records.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/realtor.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/reddit.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/redfin.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/rednote.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/sec.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/semrush.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/seo.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/similarweb.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/snapchat.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/social.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/spotify.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/substack.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/technographics.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/threads.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/tiktok.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/tiktok_shop.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/tripadvisor.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/trustpilot.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/truthsocial.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/twitter.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/unsplash.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/upwork.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/walmart.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/web.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/weibo.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/yahoo_finance.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/yelp.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/youtube.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/zhihu.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/platforms/zillow.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/py.typed +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/src/getanyapi/types.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/conftest.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_account.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_client.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_durable_requests.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_envelope.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_errors.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_fixture_roundtrip.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_fixture_sweep.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_not_found_reason.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_pagination.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/tests/test_transport.py +0 -0
- {getanyapi-0.92.0 → getanyapi-0.93.0}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: getanyapi
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.93.0
|
|
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
|
|
@@ -257,6 +257,8 @@ class LinkedinJobsInput(TypedDict, total=False):
|
|
|
257
257
|
"""Optional, default true. When false, only the sources listed in `source` may serve; the request is refused with no charge if none of them can. When true, the listed sources are tried first and any other source may serve after them, at the normal price. Default: true."""
|
|
258
258
|
company: NotRequired[str]
|
|
259
259
|
"""Filter to a specific company by name (e.g. Google)."""
|
|
260
|
+
cursor: NotRequired[str]
|
|
261
|
+
"""Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page of job listings."""
|
|
260
262
|
easyApply: NotRequired[bool]
|
|
261
263
|
"""When true, only return jobs offering LinkedIn Easy Apply."""
|
|
262
264
|
employmentType: NotRequired[
|
|
@@ -272,7 +274,7 @@ class LinkedinJobsInput(TypedDict, total=False):
|
|
|
272
274
|
ignoreSources: NotRequired[list[str]]
|
|
273
275
|
"""Optional. Source ids to skip for this request, taken from this endpoint's `lanes[].source.id`. The cheapest remaining source serves and the price is that of the dearest remaining source. An id that does not serve this endpoint, or that is also in `source`, is rejected as invalid input with no charge; skipping every source is rejected the same way."""
|
|
274
276
|
limit: NotRequired[int]
|
|
275
|
-
"""
|
|
277
|
+
"""Accepted for compatibility and ignored: each call returns one full page of up to 25 jobs at one flat price per call; follow nextCursor for more. Range: 1 to 25."""
|
|
276
278
|
location: NotRequired[str]
|
|
277
279
|
"""City, region, or country to search within (e.g. United States, San Francisco)."""
|
|
278
280
|
postedLimit: NotRequired[Literal["1h", "24h", "week", "month"]]
|
|
@@ -304,6 +306,8 @@ class LinkedinJobsThinInput(TypedDict, total=False):
|
|
|
304
306
|
"""Optional, default true. When false, only the sources listed in `source` may serve; the request is refused with no charge if none of them can. When true, the listed sources are tried first and any other source may serve after them, at the normal price. Default: true."""
|
|
305
307
|
companyId: NotRequired[str]
|
|
306
308
|
"""Filter to a specific company by its LinkedIn numeric company id."""
|
|
309
|
+
cursor: NotRequired[str]
|
|
310
|
+
"""Opaque pagination cursor from a previous response's nextCursor. Omit for the first page; pass it to fetch the next page of job listings."""
|
|
307
311
|
employmentType: NotRequired[
|
|
308
312
|
Literal["full-time", "part-time", "contract", "internship", "temporary"]
|
|
309
313
|
]
|
|
@@ -319,7 +323,7 @@ class LinkedinJobsThinInput(TypedDict, total=False):
|
|
|
319
323
|
ignoreSources: NotRequired[list[str]]
|
|
320
324
|
"""Optional. Source ids to skip for this request, taken from this endpoint's `lanes[].source.id`. The cheapest remaining source serves and the price is that of the dearest remaining source. An id that does not serve this endpoint, or that is also in `source`, is rejected as invalid input with no charge; skipping every source is rejected the same way."""
|
|
321
325
|
limit: NotRequired[int]
|
|
322
|
-
"""
|
|
326
|
+
"""Accepted for compatibility and ignored: each call returns one full source page (10 or 25 jobs depending on source); follow nextCursor for more. Range: 1 to 25."""
|
|
323
327
|
location: NotRequired[str]
|
|
324
328
|
"""City, region, or country to search within."""
|
|
325
329
|
postedLimit: NotRequired[Literal["24h", "week", "month"]]
|
|
@@ -2105,9 +2109,16 @@ class LinkedinJobSalary(BaseModel):
|
|
|
2105
2109
|
|
|
2106
2110
|
|
|
2107
2111
|
class LinkedinJobsData(BaseModel):
|
|
2112
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
2113
|
+
|
|
2108
2114
|
items: list[LinkedinJobsItem] = Field(
|
|
2109
2115
|
description="Full job listing records for the search. Populated whenever the provider has data for the entity."
|
|
2110
2116
|
)
|
|
2117
|
+
next_cursor: str | None = Field(
|
|
2118
|
+
default=None,
|
|
2119
|
+
alias="nextCursor",
|
|
2120
|
+
description="Opaque cursor for the next page of job listings, or null when there are no more. Pass it back as cursor to continue.",
|
|
2121
|
+
)
|
|
2111
2122
|
|
|
2112
2123
|
|
|
2113
2124
|
class LinkedinJobsItem(BaseModel):
|
|
@@ -2248,9 +2259,16 @@ class LinkedinJobsSalary(BaseModel):
|
|
|
2248
2259
|
|
|
2249
2260
|
|
|
2250
2261
|
class LinkedinJobsThinData(BaseModel):
|
|
2262
|
+
model_config = ConfigDict(populate_by_name=True)
|
|
2263
|
+
|
|
2251
2264
|
items: list[LinkedinJobsThinItem] = Field(
|
|
2252
2265
|
description="Job listing index records for the search. Populated whenever the provider has data for the entity."
|
|
2253
2266
|
)
|
|
2267
|
+
next_cursor: str | None = Field(
|
|
2268
|
+
default=None,
|
|
2269
|
+
alias="nextCursor",
|
|
2270
|
+
description="Opaque cursor for the next page of job listings, or null when there are no more. Pass it back as cursor to continue.",
|
|
2271
|
+
)
|
|
2254
2272
|
|
|
2255
2273
|
|
|
2256
2274
|
class LinkedinJobsThinItem(BaseModel):
|
|
@@ -4630,7 +4648,7 @@ class LinkedinNamespace:
|
|
|
4630
4648
|
description, salary, applicant count, seniority, company details, and
|
|
4631
4649
|
benefits. Up to 25 jobs per request.
|
|
4632
4650
|
|
|
4633
|
-
Price: $0.
|
|
4651
|
+
Price: $0.0286 per request plus $0 per result (maximum $0.0286).
|
|
4634
4652
|
|
|
4635
4653
|
Example:
|
|
4636
4654
|
res = client.linkedin.jobs(limit=3, location="United States", query="software engineer", workplaceType="remote")
|
|
@@ -4640,6 +4658,29 @@ class LinkedinNamespace:
|
|
|
4640
4658
|
)
|
|
4641
4659
|
return RunResult[LinkedinJobsData].model_validate(raw)
|
|
4642
4660
|
|
|
4661
|
+
def iter_jobs(
|
|
4662
|
+
self,
|
|
4663
|
+
*,
|
|
4664
|
+
options: RequestOptions | None = None,
|
|
4665
|
+
**input: Unpack[LinkedinJobsInput],
|
|
4666
|
+
) -> Paginator[LinkedinJobsItem, LinkedinJobsData]:
|
|
4667
|
+
"""Iterate LinkedIn Jobs results, following pagination cursors.
|
|
4668
|
+
|
|
4669
|
+
Yields validated `LinkedinJobsItem` items from the `items` field of
|
|
4670
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
4671
|
+
`RunResult` pages.
|
|
4672
|
+
"""
|
|
4673
|
+
return paginate(
|
|
4674
|
+
self._client,
|
|
4675
|
+
"linkedin.jobs",
|
|
4676
|
+
dict(input),
|
|
4677
|
+
"items",
|
|
4678
|
+
item_model=LinkedinJobsItem,
|
|
4679
|
+
data_model=LinkedinJobsData,
|
|
4680
|
+
bare=False,
|
|
4681
|
+
options=options,
|
|
4682
|
+
)
|
|
4683
|
+
|
|
4643
4684
|
def jobs_thin(
|
|
4644
4685
|
self,
|
|
4645
4686
|
*,
|
|
@@ -4661,6 +4702,29 @@ class LinkedinNamespace:
|
|
|
4661
4702
|
)
|
|
4662
4703
|
return RunResult[LinkedinJobsThinData].model_validate(raw)
|
|
4663
4704
|
|
|
4705
|
+
def iter_jobs_thin(
|
|
4706
|
+
self,
|
|
4707
|
+
*,
|
|
4708
|
+
options: RequestOptions | None = None,
|
|
4709
|
+
**input: Unpack[LinkedinJobsThinInput],
|
|
4710
|
+
) -> Paginator[LinkedinJobsThinItem, LinkedinJobsThinData]:
|
|
4711
|
+
"""Iterate LinkedIn Jobs (index) results, following pagination cursors.
|
|
4712
|
+
|
|
4713
|
+
Yields validated `LinkedinJobsThinItem` items from the `items` field of
|
|
4714
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
4715
|
+
`RunResult` pages.
|
|
4716
|
+
"""
|
|
4717
|
+
return paginate(
|
|
4718
|
+
self._client,
|
|
4719
|
+
"linkedin.jobs_thin",
|
|
4720
|
+
dict(input),
|
|
4721
|
+
"items",
|
|
4722
|
+
item_model=LinkedinJobsThinItem,
|
|
4723
|
+
data_model=LinkedinJobsThinData,
|
|
4724
|
+
bare=False,
|
|
4725
|
+
options=options,
|
|
4726
|
+
)
|
|
4727
|
+
|
|
4664
4728
|
def post(
|
|
4665
4729
|
self,
|
|
4666
4730
|
*,
|
|
@@ -5397,7 +5461,7 @@ class AsyncLinkedinNamespace:
|
|
|
5397
5461
|
description, salary, applicant count, seniority, company details, and
|
|
5398
5462
|
benefits. Up to 25 jobs per request.
|
|
5399
5463
|
|
|
5400
|
-
Price: $0.
|
|
5464
|
+
Price: $0.0286 per request plus $0 per result (maximum $0.0286).
|
|
5401
5465
|
|
|
5402
5466
|
Example:
|
|
5403
5467
|
res = client.linkedin.jobs(limit=3, location="United States", query="software engineer", workplaceType="remote")
|
|
@@ -5407,6 +5471,29 @@ class AsyncLinkedinNamespace:
|
|
|
5407
5471
|
)
|
|
5408
5472
|
return RunResult[LinkedinJobsData].model_validate(raw)
|
|
5409
5473
|
|
|
5474
|
+
def iter_jobs(
|
|
5475
|
+
self,
|
|
5476
|
+
*,
|
|
5477
|
+
options: RequestOptions | None = None,
|
|
5478
|
+
**input: Unpack[LinkedinJobsInput],
|
|
5479
|
+
) -> AsyncPaginator[LinkedinJobsItem, LinkedinJobsData]:
|
|
5480
|
+
"""Iterate LinkedIn Jobs results, following pagination cursors.
|
|
5481
|
+
|
|
5482
|
+
Yields validated `LinkedinJobsItem` items from the `items` field of
|
|
5483
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
5484
|
+
`RunResult` pages.
|
|
5485
|
+
"""
|
|
5486
|
+
return apaginate(
|
|
5487
|
+
self._client,
|
|
5488
|
+
"linkedin.jobs",
|
|
5489
|
+
dict(input),
|
|
5490
|
+
"items",
|
|
5491
|
+
item_model=LinkedinJobsItem,
|
|
5492
|
+
data_model=LinkedinJobsData,
|
|
5493
|
+
bare=False,
|
|
5494
|
+
options=options,
|
|
5495
|
+
)
|
|
5496
|
+
|
|
5410
5497
|
async def jobs_thin(
|
|
5411
5498
|
self,
|
|
5412
5499
|
*,
|
|
@@ -5428,6 +5515,29 @@ class AsyncLinkedinNamespace:
|
|
|
5428
5515
|
)
|
|
5429
5516
|
return RunResult[LinkedinJobsThinData].model_validate(raw)
|
|
5430
5517
|
|
|
5518
|
+
def iter_jobs_thin(
|
|
5519
|
+
self,
|
|
5520
|
+
*,
|
|
5521
|
+
options: RequestOptions | None = None,
|
|
5522
|
+
**input: Unpack[LinkedinJobsThinInput],
|
|
5523
|
+
) -> AsyncPaginator[LinkedinJobsThinItem, LinkedinJobsThinData]:
|
|
5524
|
+
"""Iterate LinkedIn Jobs (index) results, following pagination cursors.
|
|
5525
|
+
|
|
5526
|
+
Yields validated `LinkedinJobsThinItem` items from the `items` field of
|
|
5527
|
+
each page. Use `.pages()` on the returned paginator to walk whole
|
|
5528
|
+
`RunResult` pages.
|
|
5529
|
+
"""
|
|
5530
|
+
return apaginate(
|
|
5531
|
+
self._client,
|
|
5532
|
+
"linkedin.jobs_thin",
|
|
5533
|
+
dict(input),
|
|
5534
|
+
"items",
|
|
5535
|
+
item_model=LinkedinJobsThinItem,
|
|
5536
|
+
data_model=LinkedinJobsThinData,
|
|
5537
|
+
bare=False,
|
|
5538
|
+
options=options,
|
|
5539
|
+
)
|
|
5540
|
+
|
|
5431
5541
|
async def post(
|
|
5432
5542
|
self,
|
|
5433
5543
|
*,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|