linkedapi 1.0.0__py3-none-any.whl

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 (72) hide show
  1. linkedapi/__init__.py +127 -0
  2. linkedapi/admin/__init__.py +13 -0
  3. linkedapi/admin/accounts.py +91 -0
  4. linkedapi/admin/admin.py +22 -0
  5. linkedapi/admin/http_client.py +73 -0
  6. linkedapi/admin/limits.py +70 -0
  7. linkedapi/admin/subscription.py +69 -0
  8. linkedapi/client.py +160 -0
  9. linkedapi/config.py +10 -0
  10. linkedapi/core/__init__.py +4 -0
  11. linkedapi/core/operation.py +89 -0
  12. linkedapi/core/polling.py +48 -0
  13. linkedapi/errors.py +119 -0
  14. linkedapi/http/__init__.py +4 -0
  15. linkedapi/http/base.py +22 -0
  16. linkedapi/http/linked_api_http_client.py +74 -0
  17. linkedapi/mappers/__init__.py +16 -0
  18. linkedapi/mappers/array.py +49 -0
  19. linkedapi/mappers/base.py +70 -0
  20. linkedapi/mappers/simple.py +56 -0
  21. linkedapi/mappers/then.py +175 -0
  22. linkedapi/mappers/void.py +33 -0
  23. linkedapi/operations/__init__.py +58 -0
  24. linkedapi/operations/check_connection_status.py +15 -0
  25. linkedapi/operations/comment_on_post.py +12 -0
  26. linkedapi/operations/create_post.py +15 -0
  27. linkedapi/operations/custom_workflow.py +22 -0
  28. linkedapi/operations/fetch_company.py +35 -0
  29. linkedapi/operations/fetch_person.py +43 -0
  30. linkedapi/operations/fetch_post.py +33 -0
  31. linkedapi/operations/nv_fetch_company.py +33 -0
  32. linkedapi/operations/nv_fetch_person.py +23 -0
  33. linkedapi/operations/nv_search_companies.py +15 -0
  34. linkedapi/operations/nv_search_people.py +15 -0
  35. linkedapi/operations/nv_send_message.py +12 -0
  36. linkedapi/operations/nv_sync_conversation.py +12 -0
  37. linkedapi/operations/react_to_post.py +12 -0
  38. linkedapi/operations/remove_connection.py +12 -0
  39. linkedapi/operations/retrieve_connections.py +15 -0
  40. linkedapi/operations/retrieve_pending_requests.py +15 -0
  41. linkedapi/operations/retrieve_performance.py +15 -0
  42. linkedapi/operations/retrieve_ssi.py +15 -0
  43. linkedapi/operations/search_companies.py +15 -0
  44. linkedapi/operations/search_people.py +15 -0
  45. linkedapi/operations/send_connection_request.py +12 -0
  46. linkedapi/operations/send_message.py +12 -0
  47. linkedapi/operations/sync_conversation.py +12 -0
  48. linkedapi/operations/withdraw_connection_request.py +12 -0
  49. linkedapi/py.typed +1 -0
  50. linkedapi/types/__init__.py +336 -0
  51. linkedapi/types/account.py +8 -0
  52. linkedapi/types/admin/__init__.py +91 -0
  53. linkedapi/types/admin/accounts.py +71 -0
  54. linkedapi/types/admin/config.py +8 -0
  55. linkedapi/types/admin/limits.py +77 -0
  56. linkedapi/types/admin/subscription.py +58 -0
  57. linkedapi/types/base.py +47 -0
  58. linkedapi/types/company.py +140 -0
  59. linkedapi/types/connection.py +86 -0
  60. linkedapi/types/message.py +48 -0
  61. linkedapi/types/params.py +15 -0
  62. linkedapi/types/person.py +105 -0
  63. linkedapi/types/post.py +119 -0
  64. linkedapi/types/responses.py +18 -0
  65. linkedapi/types/search_companies.py +72 -0
  66. linkedapi/types/search_people.py +46 -0
  67. linkedapi/types/statistics.py +27 -0
  68. linkedapi/types/workflow.py +55 -0
  69. linkedapi-1.0.0.dist-info/METADATA +125 -0
  70. linkedapi-1.0.0.dist-info/RECORD +72 -0
  71. linkedapi-1.0.0.dist-info/WHEEL +4 -0
  72. linkedapi-1.0.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,72 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Literal
4
+
5
+ from linkedapi.types.base import LinkedApiModel
6
+ from linkedapi.types.params import BaseActionParams, LimitParams
7
+
8
+ SearchCompanySize = Literal[
9
+ "1-10",
10
+ "11-50",
11
+ "51-200",
12
+ "201-500",
13
+ "501-1000",
14
+ "1001-5000",
15
+ "5001-10000",
16
+ "10001+",
17
+ ]
18
+ MinAnnualRevenue = Literal["0", "0.5", "1", "2.5", "5", "10", "20", "50", "100", "500", "1000"]
19
+ MaxAnnualRevenue = Literal[
20
+ "0.5",
21
+ "1",
22
+ "2.5",
23
+ "5",
24
+ "10",
25
+ "20",
26
+ "50",
27
+ "100",
28
+ "500",
29
+ "1000",
30
+ "1000+",
31
+ ]
32
+
33
+
34
+ class SearchCompaniesFilter(LinkedApiModel):
35
+ sizes: list[SearchCompanySize] | None = None
36
+ locations: list[str] | None = None
37
+ industries: list[str] | None = None
38
+
39
+
40
+ class SearchCompaniesParams(BaseActionParams, LimitParams):
41
+ term: str | None = None
42
+ filter: SearchCompaniesFilter | None = None
43
+ custom_search_url: str | None = None
44
+
45
+
46
+ class SearchCompanyResult(LinkedApiModel):
47
+ name: str | None = None
48
+ public_url: str | None = None
49
+ industry: str | None = None
50
+ location: str | None = None
51
+
52
+
53
+ class AnnualRevenueFilter(LinkedApiModel):
54
+ min: MinAnnualRevenue
55
+ max: MaxAnnualRevenue
56
+
57
+
58
+ class NvSearchCompaniesFilter(SearchCompaniesFilter):
59
+ annual_revenue: AnnualRevenueFilter | None = None
60
+
61
+
62
+ class NvSearchCompaniesParams(BaseActionParams, LimitParams):
63
+ term: str | None = None
64
+ filter: NvSearchCompaniesFilter | None = None
65
+ custom_search_url: str | None = None
66
+
67
+
68
+ class NvSearchCompanyResult(LinkedApiModel):
69
+ name: str | None = None
70
+ hashed_url: str | None = None
71
+ industry: str | None = None
72
+ employees_count: int | None = None
@@ -0,0 +1,46 @@
1
+ from __future__ import annotations
2
+
3
+ from linkedapi.types.base import LinkedApiModel
4
+ from linkedapi.types.params import BaseActionParams, LimitParams
5
+ from linkedapi.types.person import YearsOfExperience
6
+
7
+
8
+ class SearchPeopleFilter(LinkedApiModel):
9
+ first_name: str | None = None
10
+ last_name: str | None = None
11
+ position: str | None = None
12
+ locations: list[str] | None = None
13
+ industries: list[str] | None = None
14
+ current_companies: list[str] | None = None
15
+ previous_companies: list[str] | None = None
16
+ schools: list[str] | None = None
17
+
18
+
19
+ class SearchPeopleParams(BaseActionParams, LimitParams):
20
+ term: str | None = None
21
+ filter: SearchPeopleFilter | None = None
22
+ custom_search_url: str | None = None
23
+
24
+
25
+ class SearchPeopleResult(LinkedApiModel):
26
+ name: str | None = None
27
+ public_url: str | None = None
28
+ headline: str | None = None
29
+ location: str | None = None
30
+
31
+
32
+ class NvSearchPeopleFilter(SearchPeopleFilter):
33
+ years_of_experience: list[YearsOfExperience] | None = None
34
+
35
+
36
+ class NvSearchPeopleParams(BaseActionParams, LimitParams):
37
+ term: str | None = None
38
+ filter: NvSearchPeopleFilter | None = None
39
+ custom_search_url: str | None = None
40
+
41
+
42
+ class NvSearchPeopleResult(LinkedApiModel):
43
+ name: str | None = None
44
+ hashed_url: str | None = None
45
+ position: str | None = None
46
+ location: str | None = None
@@ -0,0 +1,27 @@
1
+ from __future__ import annotations
2
+
3
+ from linkedapi.types.base import LinkedApiModel
4
+
5
+
6
+ class RetrieveSSIResult(LinkedApiModel):
7
+ ssi: int | None = None
8
+ industry_top: int | None = None
9
+ network_top: int | None = None
10
+
11
+
12
+ class RetrievePerformanceResult(LinkedApiModel):
13
+ followers_count: int | None = None
14
+ post_views_last_7_days: int | None = None
15
+ profile_views_last_90_days: int | None = None
16
+ search_appearances_previous_week: int | None = None
17
+
18
+
19
+ class ApiUsageParams(LinkedApiModel):
20
+ start: str
21
+ end: str
22
+
23
+
24
+ class ApiUsageAction(LinkedApiModel):
25
+ action_type: str | None = None
26
+ success: bool | None = None
27
+ time: str | None = None
@@ -0,0 +1,55 @@
1
+ from __future__ import annotations
2
+
3
+ from typing import Any, Literal
4
+
5
+ from linkedapi.errors import LinkedApiActionErrorType
6
+ from linkedapi.types.base import LinkedApiModel
7
+
8
+ WorkflowPendingStatus = Literal["pending"]
9
+ WorkflowRunningStatus = Literal["running"]
10
+ WorkflowInProgressStatus = Literal["pending", "running"]
11
+ WorkflowStatus = Literal["pending", "running", "completed", "failed"]
12
+ WorkflowDefinition = dict[str, Any] | list[dict[str, Any]]
13
+ WorkflowCompletion = dict[str, Any] | list[dict[str, Any]]
14
+
15
+
16
+ class LinkedApiActionError(LinkedApiModel):
17
+ type: LinkedApiActionErrorType | str
18
+ message: str
19
+
20
+
21
+ class WorkflowStartedResponse(LinkedApiModel):
22
+ workflow_id: str
23
+ workflow_status: WorkflowInProgressStatus
24
+ message: str | None = None
25
+
26
+
27
+ class WorkflowInProgressResponse(LinkedApiModel):
28
+ workflow_id: str
29
+ workflow_status: WorkflowInProgressStatus
30
+ message: str | None = None
31
+
32
+
33
+ class WorkflowFailure(LinkedApiModel):
34
+ reason: str
35
+ message: str
36
+
37
+
38
+ class WorkflowCancelResponse(LinkedApiModel):
39
+ cancelled: bool
40
+
41
+
42
+ class WorkflowResponse(LinkedApiModel):
43
+ workflow_id: str
44
+ workflow_status: WorkflowStatus
45
+ message: str | None = None
46
+ completion: WorkflowCompletion | None = None
47
+ failure: WorkflowFailure | None = None
48
+
49
+
50
+ class WorkflowCompletionSingleAction(LinkedApiModel):
51
+ action_type: str
52
+ success: bool
53
+ data: Any | None = None
54
+ error: LinkedApiActionError | None = None
55
+ label: str | None = None
@@ -0,0 +1,125 @@
1
+ Metadata-Version: 2.4
2
+ Name: linkedapi
3
+ Version: 1.0.0
4
+ Summary: Official synchronous Python SDK for Linked API.
5
+ Project-URL: Homepage, https://linkedapi.io
6
+ Project-URL: Repository, https://github.com/Linked-API/linkedapi-python
7
+ Project-URL: Documentation, https://linkedapi.io/docs/
8
+ Author: Linked API
9
+ License-Expression: MIT
10
+ License-File: LICENSE
11
+ Keywords: api,automation,data,linkedapi,linkedin,sdk
12
+ Classifier: Development Status :: 4 - Beta
13
+ Classifier: Intended Audience :: Developers
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.10
17
+ Classifier: Programming Language :: Python :: 3.11
18
+ Classifier: Programming Language :: Python :: 3.12
19
+ Classifier: Programming Language :: Python :: 3.13
20
+ Classifier: Typing :: Typed
21
+ Requires-Python: >=3.10
22
+ Requires-Dist: pydantic<3,>=2
23
+ Requires-Dist: requests<3,>=2
24
+ Provides-Extra: dev
25
+ Requires-Dist: build; extra == 'dev'
26
+ Requires-Dist: mypy; extra == 'dev'
27
+ Requires-Dist: pytest>=8; extra == 'dev'
28
+ Requires-Dist: requests-mock>=1.12; extra == 'dev'
29
+ Requires-Dist: ruff; extra == 'dev'
30
+ Requires-Dist: types-requests; extra == 'dev'
31
+ Description-Content-Type: text/markdown
32
+
33
+ This official Python SDK is the synchronous way to integrate with Linked API. It provides pre-defined workflow operations, direct account/statistics methods, admin APIs, authentication headers, polling, and structured error responses.
34
+
35
+ ## Get started
36
+
37
+ To get started with Linked API Python SDK, read these essential guides first:
38
+
39
+ 1. [Core concepts](https://linkedapi.io/sdks/core-concepts-0/) - understand how Linked API works.
40
+ 2. [Installation & authorization](https://linkedapi.io/sdks/installation-authorization/) - install the SDK and authorize it.
41
+ 3. [Predefined vs. custom workflows](https://linkedapi.io/sdks/predefined-vs-custom-workflows/) - choose ready-made operations or custom workflow definitions.
42
+ 4. [Handling results and errors](https://linkedapi.io/sdks/handling-results-and-errors/) - process successful data and action errors.
43
+ 5. [Persisting and cancelling workflows](https://linkedapi.io/sdks/persisting-and-cancelling-workflows/) - save, resume, and cancel workflows.
44
+
45
+ Install the package:
46
+
47
+ ```bash
48
+ pip install linkedapi
49
+ ```
50
+
51
+ Initialize the client:
52
+
53
+ ```python
54
+ from linkedapi import LinkedApi, LinkedApiConfig
55
+
56
+ linkedapi = LinkedApi(
57
+ LinkedApiConfig(
58
+ linked_api_token="your-linked-api-token",
59
+ identification_token="your-identification-token",
60
+ )
61
+ )
62
+ ```
63
+
64
+ Run a predefined workflow and poll the result:
65
+
66
+ ```python
67
+ from linkedapi import FetchPersonParams
68
+
69
+ workflow = linkedapi.fetch_person.execute(
70
+ FetchPersonParams(
71
+ person_url="https://www.linkedin.com/in/john-doe",
72
+ retrieve_experience=True,
73
+ retrieve_posts=True,
74
+ posts_retrieval_config={"limit": 10},
75
+ )
76
+ )
77
+
78
+ result = linkedapi.fetch_person.result(workflow.workflow_id)
79
+ if result.data:
80
+ print(result.data.name)
81
+ for error in result.errors:
82
+ print(error.type, error.message)
83
+ ```
84
+
85
+ Execute a custom workflow:
86
+
87
+ ```python
88
+ workflow = linkedapi.custom_workflow.execute(
89
+ {
90
+ "actionType": "st.searchCompanies",
91
+ "term": "Tech Inc",
92
+ "filter": {
93
+ "sizes": ["51-200", "2001-5000"],
94
+ "locations": ["San Francisco", "New York"],
95
+ "industries": ["Software Development"],
96
+ },
97
+ "then": {"actionType": "st.openCompanyPage", "basicInfo": True},
98
+ }
99
+ )
100
+
101
+ result = linkedapi.custom_workflow.result(workflow.workflow_id)
102
+ print(result.data)
103
+ ```
104
+
105
+ Continue polling after a workflow timeout:
106
+
107
+ ```python
108
+ from linkedapi import LinkedApiWorkflowTimeoutError
109
+
110
+ try:
111
+ result = linkedapi.fetch_person.result(workflow.workflow_id, timeout=30.0)
112
+ except LinkedApiWorkflowTimeoutError as error:
113
+ result = linkedapi.fetch_person.result(error.workflow_id)
114
+ ```
115
+
116
+ Cancel a workflow:
117
+
118
+ ```python
119
+ cancelled = linkedapi.fetch_person.cancel(workflow.workflow_id)
120
+ print(cancelled)
121
+ ```
122
+
123
+ ## License
124
+
125
+ This project is licensed under the MIT License. See [LICENSE](LICENSE) for details.
@@ -0,0 +1,72 @@
1
+ linkedapi/__init__.py,sha256=zhpfl31KfPq-k-RAM5ikJnWs-Q7_zRlXsnop2NbtvH4,2979
2
+ linkedapi/client.py,sha256=Rke8tfNG8hebCxn1hD-xA8ZKFOtcmCtr2at4jQzdb4M,6490
3
+ linkedapi/config.py,sha256=Nc46xV3WiSXj5OuEw2IJyO-XPv06guRMWMzVzbe-u3Q,255
4
+ linkedapi/errors.py,sha256=90INoaJl1xkjD4r2v5b3v3tOdVePgbO5koS2c0ttKoY,3119
5
+ linkedapi/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
+ linkedapi/admin/__init__.py,sha256=2Z-s2bTr_PhYSLCmnGWef6zbtYEuaNKvgIlMCi9nRKk,387
7
+ linkedapi/admin/accounts.py,sha256=9vaflLumW-gs6Ia425LKP6b3_cP86n5Dgl-p7RmvG4w,2992
8
+ linkedapi/admin/admin.py,sha256=2I1sHtiGjMXkPJw6Za20hJCW7oy5FYQNMHbOBJDeS_o,821
9
+ linkedapi/admin/http_client.py,sha256=Ee0eSMAdEBcPz-L1KT5s0aanjeBi45boZSj-nYtkteA,2579
10
+ linkedapi/admin/limits.py,sha256=52ialCK31Vxo8HofktxhH6ChjnN8MiIWJ_0WDxBfwow,2428
11
+ linkedapi/admin/subscription.py,sha256=7dPmUly5v3ULvGq7zQ60KwbK4-iWVIPNbvjOkafj3qY,2231
12
+ linkedapi/core/__init__.py,sha256=68f8fG9wQIIEFNBM4DwL_LSKmWDrmy2Td6WmdyAQQ0Q,152
13
+ linkedapi/core/operation.py,sha256=1N_84a7Ef3LPyLWYWDFLRYwplJvma4Zvw03bFF24YzY,3550
14
+ linkedapi/core/polling.py,sha256=Xz3ERfNUmlB9hlRYu35S9nWS21K1pDoM8bJHaEWDz9I,1511
15
+ linkedapi/http/__init__.py,sha256=NfTLhzkBOtrGuwdJtI0Cdzxby2VjfunsB_YTI6senXk,162
16
+ linkedapi/http/base.py,sha256=6NFt2unHdRotclFM45F5w-3TJh1V4qKv6WcMWyifPio,604
17
+ linkedapi/http/linked_api_http_client.py,sha256=YZ5M1DqxH7F4zDQtpoaEhLpDQbW39l99Lk1vxA92ZNA,2662
18
+ linkedapi/mappers/__init__.py,sha256=6jk0FIYTXz3ECg0FL8YpODM9-YTKtr6ff2-cWja-2DM,520
19
+ linkedapi/mappers/array.py,sha256=XGs9S70cYTnGzwRuHRebQi4e2a4rqlfCHbuhZ7bK4bU,1798
20
+ linkedapi/mappers/base.py,sha256=_Vtu-ZbzCxEyeXi4qEFNc7usJLP3Mn7695B-0aHuVcs,2142
21
+ linkedapi/mappers/simple.py,sha256=kThK_o6txXw9ofDFpxnwJQvaFX217NIpA2S4bwoWW54,1926
22
+ linkedapi/mappers/then.py,sha256=75QDoLfMeqB9ZVDS1ZUhcixnP2VMAqaQC2lxdWk3g2A,6134
23
+ linkedapi/mappers/void.py,sha256=y1IagCGAih3NWYLwyfSAeq6N56ZEo9TiYXP9RWXZWuU,1157
24
+ linkedapi/operations/__init__.py,sha256=WSzrSty0xTBQ91V_2Sy5BWbC3rdY5IARKsc76PxJ6Aw,2489
25
+ linkedapi/operations/check_connection_status.py,sha256=HUOc65DQInW4eKKIfIUZT3f5h5TKJ4kzIrmURgsvt2o,595
26
+ linkedapi/operations/comment_on_post.py,sha256=jUyF000FcWZGanoMcn6PWnvl_JxAoHTfc2WSWivibKM,380
27
+ linkedapi/operations/create_post.py,sha256=KrzOo1qKEGdju00yO9UZnH3VZHSOtiIFYwR6Mq9UusY,464
28
+ linkedapi/operations/custom_workflow.py,sha256=ccuG-P-4bkk5SdDittL4tz8xMCaU4sscE9FfQ4VzhOU,805
29
+ linkedapi/operations/fetch_company.py,sha256=w-ySUiBGFCO3wSa9ml1pNzndldrQ8F7mSKkGxHl_xr0,1360
30
+ linkedapi/operations/fetch_person.py,sha256=NfUKHa9FlnVXStZolj38cUaU7b4zwAf4R91aX92-vTQ,1991
31
+ linkedapi/operations/fetch_post.py,sha256=iNd2Mutpskrcmp5rbF9Nb7dY_RhOF_Je5OLHlTKZMFA,1143
32
+ linkedapi/operations/nv_fetch_company.py,sha256=5wqRE0yufov_gVEr1WLubNroD2HQ66EZtV7F7bn2ad0,1210
33
+ linkedapi/operations/nv_fetch_person.py,sha256=ygW2a65ldu2CjVEbtGRx73DWckvs4FLtE4PMBqbNaOg,779
34
+ linkedapi/operations/nv_search_companies.py,sha256=EIkHNdwKWjEJVPdwCn_N6XEYHDS3lTA5VxCRSlXnuj8,528
35
+ linkedapi/operations/nv_search_people.py,sha256=fbQLJBWAFZEdmR19bAhIQ4EsX1Zl34CkCyyTZwMI7ao,503
36
+ linkedapi/operations/nv_send_message.py,sha256=rmCa5W-3bNiky1dVd1SIlkZowU9TLUuXw4DO3IM0PDM,382
37
+ linkedapi/operations/nv_sync_conversation.py,sha256=z058Y5Y1IZPYkTRUByh1zSA9XjnOcjpCtsnedbuyi6M,417
38
+ linkedapi/operations/react_to_post.py,sha256=8HWtH-B85fXFzYtmR-Mh1sFsn8HadjXMdNk34lUVZk8,366
39
+ linkedapi/operations/remove_connection.py,sha256=u7MKaBvt0XHs6Eq59EaI4S4McrYvWJaPtPXosOaoEeY,409
40
+ linkedapi/operations/retrieve_connections.py,sha256=DBVaWpcBLeyM_mOTM0u5iK_NJrx6W_09gvUWkr0EiWQ,561
41
+ linkedapi/operations/retrieve_pending_requests.py,sha256=DF0aFodvpSDcFXOT1miR2v_GwV2_0niVGUKVjBxj888,536
42
+ linkedapi/operations/retrieve_performance.py,sha256=xOxvHDwAT09NvTzBAlrKime0pERTumvehqrdfvsUgRw,500
43
+ linkedapi/operations/retrieve_ssi.py,sha256=zhJ35vwU8wXQjfbENzoA3epbAn5sI0Kyw9Mv2obN7UA,436
44
+ linkedapi/operations/search_companies.py,sha256=gwJFtdWdaxCi-yBLGeKpNiCuVjs4ZTW8aFK3fM7hYTE,512
45
+ linkedapi/operations/search_people.py,sha256=JmaBc7GNGqQYhvgF0raTcXmljbmU7s7rql1hknsscWE,487
46
+ linkedapi/operations/send_connection_request.py,sha256=eF4kqQ6-sOGtVT06wjdq-hShRwnkXZ3B0DEKSM6v1Fw,445
47
+ linkedapi/operations/send_message.py,sha256=w0-hNHlN2bU5FqDDGWwWy0yGfCSztpZt2hEqTUl-4UY,374
48
+ linkedapi/operations/sync_conversation.py,sha256=2yeAe72XnHx38DXk8MOefy2q1132xpbrLBhTzxAeITQ,409
49
+ linkedapi/operations/withdraw_connection_request.py,sha256=S_5zdqge_Wy_w1RoVpwcB7aIvf5o4bnqLdLWsUt78No,481
50
+ linkedapi/types/__init__.py,sha256=TeT8VPB_LB3FUgXJcot7IacEPLc9bl4lPhQbtYC-wHI,8406
51
+ linkedapi/types/account.py,sha256=L7_bBIml5OYAC7HB77IZrVsCJYJ2vyfX1mSG3ryqKsg,176
52
+ linkedapi/types/base.py,sha256=Ftvkikhtj97xhNs9uz2pypcOM9td0DrzcuOEVujdu9A,1474
53
+ linkedapi/types/company.py,sha256=XfqzX9ib-JPreEXspyzpEV9LXRPtIDvHOhQ62niYOsk,4313
54
+ linkedapi/types/connection.py,sha256=S2VGH74ATwgBjtP0uhbb__XtVPnZwNneaQwHZsERbp0,2266
55
+ linkedapi/types/message.py,sha256=NUdJjXpuUGLOUDd9CinczZ1sGINqTWmWTMNB_7_1OWc,1035
56
+ linkedapi/types/params.py,sha256=L9Rvp03mqYrU6gJ-avfPcRqrAv7c4DKFv2q07qsAr6E,269
57
+ linkedapi/types/person.py,sha256=CSAOaOR_1yVRDBNmd3vO44A44cHLvs3adg5zy33XHH4,3156
58
+ linkedapi/types/post.py,sha256=7yl9BEhXW6ra4oKBu8PNqGqsYqmp8a6Xe7Gv3YiPNhM,3253
59
+ linkedapi/types/responses.py,sha256=sS29ouKNdS8EEiHb-_rmMc4Bads5aOPWKOxi4pR0RII,389
60
+ linkedapi/types/search_companies.py,sha256=nr7aElNVS5eCpMN6qzi4z-Qq9cc2rCyASL2rjyEpuD0,1666
61
+ linkedapi/types/search_people.py,sha256=eraF74N9Be1Oo2WNh0EwmkJXFmIvwijh26JxQonSCLY,1361
62
+ linkedapi/types/statistics.py,sha256=ZIdWn8ql_mYbxQc-UAk3mb3HZapjP4wQ0ugfDJ7pVGI,670
63
+ linkedapi/types/workflow.py,sha256=a0gQ3rm1ujLGbSZPPL_lZbwHxDhhPjCoN-fQCamM24E,1466
64
+ linkedapi/types/admin/__init__.py,sha256=4wPh4qjjDm5p8xoZ57_am4Jz5Z7xcV2RwRVg9I2kQzc,2146
65
+ linkedapi/types/admin/accounts.py,sha256=vcYLtGkueYdMjjhnBQQj5qX_-lfczE4TXK9QZ4Wl9mg,1609
66
+ linkedapi/types/admin/config.py,sha256=N2KI-zQcA6zQ6fQLNytygqfZ3V71pF1H5e8J3785FIA,174
67
+ linkedapi/types/admin/limits.py,sha256=6kJgpgVqpgVB6BrkVJX-wXuUDYS1TJa4YOW28gXs8es,1620
68
+ linkedapi/types/admin/subscription.py,sha256=bhaXUgTXT9vdPqKd-WKgjXv65C1wpItLaAmgVtE7XUU,1512
69
+ linkedapi-1.0.0.dist-info/METADATA,sha256=SWfqgILMRHVwoXzj0Wvo50UZLOT9aD8xyTuwYLX4sac,4057
70
+ linkedapi-1.0.0.dist-info/WHEEL,sha256=mffPy8wBnZQn2VnJUU5jE99KsxaSfiyMHV9Yt0aLVxs,87
71
+ linkedapi-1.0.0.dist-info/licenses/LICENSE,sha256=4r5LcqzbcInGycbODbnbf5i_ZJN_zOkKV81ebcZ6VC4,1090
72
+ linkedapi-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.30.1
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Linked API <https://linkedapi.io>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.