kagi_client 1.0.0rc1__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.
- kagi_client-1.0.0rc1/PKG-INFO +192 -0
- kagi_client-1.0.0rc1/README.md +174 -0
- kagi_client-1.0.0rc1/kagi_client/__init__.py +87 -0
- kagi_client-1.0.0rc1/kagi_client/api/__init__.py +6 -0
- kagi_client-1.0.0rc1/kagi_client/api/extract_api.py +327 -0
- kagi_client-1.0.0rc1/kagi_client/api/search_api.py +324 -0
- kagi_client-1.0.0rc1/kagi_client/api_client.py +805 -0
- kagi_client-1.0.0rc1/kagi_client/api_response.py +21 -0
- kagi_client-1.0.0rc1/kagi_client/configuration.py +606 -0
- kagi_client-1.0.0rc1/kagi_client/exceptions.py +219 -0
- kagi_client-1.0.0rc1/kagi_client/models/__init__.py +35 -0
- kagi_client-1.0.0rc1/kagi_client/models/error_detail.py +105 -0
- kagi_client-1.0.0rc1/kagi_client/models/error_envelope.py +110 -0
- kagi_client-1.0.0rc1/kagi_client/models/extract_request.py +112 -0
- kagi_client-1.0.0rc1/kagi_client/models/extract_response.py +113 -0
- kagi_client-1.0.0rc1/kagi_client/models/meta.py +106 -0
- kagi_client-1.0.0rc1/kagi_client/models/page_input.py +89 -0
- kagi_client-1.0.0rc1/kagi_client/models/page_output.py +96 -0
- kagi_client-1.0.0rc1/kagi_client/models/search200_response.py +99 -0
- kagi_client-1.0.0rc1/kagi_client/models/search200_response_data.py +250 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_request.py +148 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_request_extract.py +92 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_request_filters.py +94 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_request_lens.py +116 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_request_personalizations.py +107 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_request_personalizations_domains_inner.py +98 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_request_personalizations_regexes_inner.py +91 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_result.py +103 -0
- kagi_client-1.0.0rc1/kagi_client/models/search_result_image.py +93 -0
- kagi_client-1.0.0rc1/kagi_client/py.typed +0 -0
- kagi_client-1.0.0rc1/kagi_client/rest.py +264 -0
- kagi_client-1.0.0rc1/kagi_client.egg-info/PKG-INFO +192 -0
- kagi_client-1.0.0rc1/kagi_client.egg-info/SOURCES.txt +87 -0
- kagi_client-1.0.0rc1/kagi_client.egg-info/dependency_links.txt +1 -0
- kagi_client-1.0.0rc1/kagi_client.egg-info/requires.txt +4 -0
- kagi_client-1.0.0rc1/kagi_client.egg-info/top_level.txt +2 -0
- kagi_client-1.0.0rc1/openapi_client/__init__.py +87 -0
- kagi_client-1.0.0rc1/openapi_client/api/__init__.py +6 -0
- kagi_client-1.0.0rc1/openapi_client/api/extract_api.py +327 -0
- kagi_client-1.0.0rc1/openapi_client/api/search_api.py +324 -0
- kagi_client-1.0.0rc1/openapi_client/api_client.py +809 -0
- kagi_client-1.0.0rc1/openapi_client/api_response.py +21 -0
- kagi_client-1.0.0rc1/openapi_client/configuration.py +606 -0
- kagi_client-1.0.0rc1/openapi_client/exceptions.py +219 -0
- kagi_client-1.0.0rc1/openapi_client/models/__init__.py +35 -0
- kagi_client-1.0.0rc1/openapi_client/models/error_detail.py +105 -0
- kagi_client-1.0.0rc1/openapi_client/models/error_envelope.py +110 -0
- kagi_client-1.0.0rc1/openapi_client/models/extract_request.py +112 -0
- kagi_client-1.0.0rc1/openapi_client/models/extract_response.py +113 -0
- kagi_client-1.0.0rc1/openapi_client/models/meta.py +106 -0
- kagi_client-1.0.0rc1/openapi_client/models/page_input.py +89 -0
- kagi_client-1.0.0rc1/openapi_client/models/page_output.py +96 -0
- kagi_client-1.0.0rc1/openapi_client/models/search200_response.py +99 -0
- kagi_client-1.0.0rc1/openapi_client/models/search200_response_data.py +250 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_request.py +148 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_request_extract.py +92 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_request_filters.py +94 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_request_lens.py +116 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_request_personalizations.py +107 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_request_personalizations_domains_inner.py +98 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_request_personalizations_regexes_inner.py +91 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_result.py +103 -0
- kagi_client-1.0.0rc1/openapi_client/models/search_result_image.py +93 -0
- kagi_client-1.0.0rc1/openapi_client/py.typed +0 -0
- kagi_client-1.0.0rc1/openapi_client/rest.py +264 -0
- kagi_client-1.0.0rc1/pyproject.toml +95 -0
- kagi_client-1.0.0rc1/setup.cfg +7 -0
- kagi_client-1.0.0rc1/setup.py +49 -0
- kagi_client-1.0.0rc1/test/test_error_detail.py +57 -0
- kagi_client-1.0.0rc1/test/test_error_envelope.py +70 -0
- kagi_client-1.0.0rc1/test/test_extract_api.py +39 -0
- kagi_client-1.0.0rc1/test/test_extract_request.py +61 -0
- kagi_client-1.0.0rc1/test/test_extract_response.py +74 -0
- kagi_client-1.0.0rc1/test/test_meta.py +54 -0
- kagi_client-1.0.0rc1/test/test_page_input.py +53 -0
- kagi_client-1.0.0rc1/test/test_page_output.py +56 -0
- kagi_client-1.0.0rc1/test/test_search200_response.py +120 -0
- kagi_client-1.0.0rc1/test/test_search200_response_data.py +267 -0
- kagi_client-1.0.0rc1/test/test_search_api.py +39 -0
- kagi_client-1.0.0rc1/test/test_search_request.py +96 -0
- kagi_client-1.0.0rc1/test/test_search_request_extract.py +53 -0
- kagi_client-1.0.0rc1/test/test_search_request_filters.py +54 -0
- kagi_client-1.0.0rc1/test/test_search_request_lens.py +68 -0
- kagi_client-1.0.0rc1/test/test_search_request_personalizations.py +61 -0
- kagi_client-1.0.0rc1/test/test_search_request_personalizations_domains_inner.py +55 -0
- kagi_client-1.0.0rc1/test/test_search_request_personalizations_regexes_inner.py +53 -0
- kagi_client-1.0.0rc1/test/test_search_result.py +62 -0
- kagi_client-1.0.0rc1/test/test_search_result_image.py +55 -0
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: kagi_client
|
|
3
|
+
Version: 1.0.0rc1
|
|
4
|
+
Summary: Kagi API
|
|
5
|
+
Home-page:
|
|
6
|
+
Author: API Support
|
|
7
|
+
Author-email: API Support <support@kagi.com>
|
|
8
|
+
License: Apache-2.0
|
|
9
|
+
Project-URL: Repository, https://github.com/kagisearch/kagi-openapi-python
|
|
10
|
+
Keywords: OpenAPI,OpenAPI-Generator,Kagi API
|
|
11
|
+
Requires-Python: >=3.9
|
|
12
|
+
Description-Content-Type: text/markdown
|
|
13
|
+
Requires-Dist: urllib3<3.0.0,>=2.1.0
|
|
14
|
+
Requires-Dist: python-dateutil>=2.8.2
|
|
15
|
+
Requires-Dist: pydantic>=2.11
|
|
16
|
+
Requires-Dist: typing-extensions>=4.7.1
|
|
17
|
+
Dynamic: author
|
|
18
|
+
|
|
19
|
+
# kagi-client
|
|
20
|
+
The Kagi API provides programmatic access to data that powers our search results & more.
|
|
21
|
+
|
|
22
|
+
Get started on the [API Dashboard](https://kagi.com/api) to set up billing, manage API keys, and more.
|
|
23
|
+
|
|
24
|
+
### Official Client Libraries
|
|
25
|
+
|
|
26
|
+
We offer the following libraries you can use to interact with the Kagi API. These are generated from an OpenAPI spec. If you have a language you would like to use and it's not in the list, send us a message and we will add it to the list if it is supported. Or you can use the [spec](https://kagi.redocly.app/_spec/openapi.yaml?download) to build your own custom library.
|
|
27
|
+
|
|
28
|
+
- [Golang](https://github.com/kagisearch/kagi-openapi-golang)
|
|
29
|
+
- [Python](https://github.com/kagisearch/kagi-openapi-python)
|
|
30
|
+
- [TypeScript](https://github.com/kagisearch/kagi-openapi-typescript)
|
|
31
|
+
- [Rust](https://github.com/kagisearch/kagi-openapi-rust)
|
|
32
|
+
|
|
33
|
+
### API Status
|
|
34
|
+
|
|
35
|
+
**The v1 API is currently in preview to early access testers.**
|
|
36
|
+
|
|
37
|
+
Our existing API, the \"v0\" beta API, is being replaced with a new version that will be available publicly soon. As changes are made, we will be updating the documentation below when the new features become available.
|
|
38
|
+
|
|
39
|
+
See the [Support and Community](https://help.kagi.com/kagi/support-and-community/) section for details.
|
|
40
|
+
|
|
41
|
+
### Pricing
|
|
42
|
+
|
|
43
|
+
See our [API Pricing](https://kagi.com/api/pricing) page for standard rates.
|
|
44
|
+
|
|
45
|
+
### GitHub Discussions
|
|
46
|
+
|
|
47
|
+
This is the preferred venue for bug reports and feature requests.
|
|
48
|
+
|
|
49
|
+
- [Bug Reports](https://github.com/kagisearch/kagi-docs/issues/new/choose)
|
|
50
|
+
- [Q&A Forum](https://github.com/kagisearch/kagi-docs/discussions/categories/q-a?discussions_q=category%3AQ%26A+label%3Aproduct%3Akagi_search_api)
|
|
51
|
+
- [API Feature Requests](https://github.com/kagisearch/kagi-docs/discussions/categories/kagi-search-api-feature-requests-ideas)
|
|
52
|
+
|
|
53
|
+
### Discord
|
|
54
|
+
|
|
55
|
+
Join our [Discord](https://kagi.com/discord)! Good for quick questions or chatting about things you've made with our APIs!
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
59
|
+
|
|
60
|
+
- API version: 1
|
|
61
|
+
- Package version: 1.0.0rc1
|
|
62
|
+
- Generator version: 7.22.0
|
|
63
|
+
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
64
|
+
For more information, please visit [https://kagi.com/support](https://kagi.com/support)
|
|
65
|
+
|
|
66
|
+
## Requirements.
|
|
67
|
+
|
|
68
|
+
Python 3.10+
|
|
69
|
+
|
|
70
|
+
## Installation & Usage
|
|
71
|
+
### PyPI
|
|
72
|
+
|
|
73
|
+
```sh
|
|
74
|
+
pip install kagi-client
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
> **Note:** If you're installing a prerelease version, add the `--pre` flag:
|
|
78
|
+
> ```sh
|
|
79
|
+
> pip install --pre kagi-client
|
|
80
|
+
> ```
|
|
81
|
+
|
|
82
|
+
Then import the package:
|
|
83
|
+
```python
|
|
84
|
+
import kagi_client
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### From source
|
|
88
|
+
|
|
89
|
+
```sh
|
|
90
|
+
pip install git+https://github.com/kagisearch/kagi-openapi-python.git
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Then import the package:
|
|
94
|
+
```python
|
|
95
|
+
import kagi_client
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Tests
|
|
99
|
+
|
|
100
|
+
Execute `pytest` to run the tests.
|
|
101
|
+
|
|
102
|
+
## Getting Started
|
|
103
|
+
|
|
104
|
+
Please follow the [installation procedure](#installation--usage) and then run the following:
|
|
105
|
+
|
|
106
|
+
```python
|
|
107
|
+
|
|
108
|
+
import kagi_client
|
|
109
|
+
from kagi_client.rest import ApiException
|
|
110
|
+
from pprint import pprint
|
|
111
|
+
|
|
112
|
+
# Defining the host is optional and defaults to https://kagi.com/api/v1
|
|
113
|
+
# See configuration.py for a list of all supported configuration parameters.
|
|
114
|
+
configuration = kagi_client.Configuration(
|
|
115
|
+
host = "https://kagi.com/api/v1"
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
# The client must configure the authentication and authorization parameters
|
|
119
|
+
# in accordance with the API server security policy.
|
|
120
|
+
# Examples for each auth method are provided below, use the example that
|
|
121
|
+
# satisfies your auth use case.
|
|
122
|
+
|
|
123
|
+
# Configure Bearer authorization: kagi
|
|
124
|
+
configuration = kagi_client.Configuration(
|
|
125
|
+
access_token = os.environ["BEARER_TOKEN"]
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
# Enter a context with an instance of the API client
|
|
130
|
+
with kagi_client.ApiClient(configuration) as api_client:
|
|
131
|
+
# Create an instance of the API class
|
|
132
|
+
api_instance = kagi_client.ExtractApi(api_client)
|
|
133
|
+
extract_request = {"pages":[{"url":"https://example.com/article1"},{"url":"https://example.com/article2"}],"timeout":1.337,"format":"json"} # ExtractRequest |
|
|
134
|
+
|
|
135
|
+
try:
|
|
136
|
+
# Extract page content as markdown from URLs
|
|
137
|
+
api_response = api_instance.extract_content(extract_request)
|
|
138
|
+
print("The response of ExtractApi->extract_content:\n")
|
|
139
|
+
pprint(api_response)
|
|
140
|
+
except ApiException as e:
|
|
141
|
+
print("Exception when calling ExtractApi->extract_content: %s\n" % e)
|
|
142
|
+
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Documentation for API Endpoints
|
|
146
|
+
|
|
147
|
+
All URIs are relative to *https://kagi.com/api/v1*
|
|
148
|
+
|
|
149
|
+
Class | Method | HTTP request | Description
|
|
150
|
+
------------ | ------------- | ------------- | -------------
|
|
151
|
+
*ExtractApi* | [**extract_content**](docs/ExtractApi.md#extract_content) | **POST** /extract | Extract page content as markdown from URLs
|
|
152
|
+
*SearchApi* | [**search**](docs/SearchApi.md#search) | **POST** /search | Perform a web search
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
## Documentation For Models
|
|
156
|
+
|
|
157
|
+
- [ErrorDetail](docs/ErrorDetail.md)
|
|
158
|
+
- [ErrorEnvelope](docs/ErrorEnvelope.md)
|
|
159
|
+
- [ExtractRequest](docs/ExtractRequest.md)
|
|
160
|
+
- [ExtractResponse](docs/ExtractResponse.md)
|
|
161
|
+
- [Meta](docs/Meta.md)
|
|
162
|
+
- [PageInput](docs/PageInput.md)
|
|
163
|
+
- [PageOutput](docs/PageOutput.md)
|
|
164
|
+
- [Search200Response](docs/Search200Response.md)
|
|
165
|
+
- [Search200ResponseData](docs/Search200ResponseData.md)
|
|
166
|
+
- [SearchRequest](docs/SearchRequest.md)
|
|
167
|
+
- [SearchRequestExtract](docs/SearchRequestExtract.md)
|
|
168
|
+
- [SearchRequestFilters](docs/SearchRequestFilters.md)
|
|
169
|
+
- [SearchRequestLens](docs/SearchRequestLens.md)
|
|
170
|
+
- [SearchRequestPersonalizations](docs/SearchRequestPersonalizations.md)
|
|
171
|
+
- [SearchRequestPersonalizationsDomainsInner](docs/SearchRequestPersonalizationsDomainsInner.md)
|
|
172
|
+
- [SearchRequestPersonalizationsRegexesInner](docs/SearchRequestPersonalizationsRegexesInner.md)
|
|
173
|
+
- [SearchResult](docs/SearchResult.md)
|
|
174
|
+
- [SearchResultImage](docs/SearchResultImage.md)
|
|
175
|
+
|
|
176
|
+
|
|
177
|
+
<a id="documentation-for-authorization"></a>
|
|
178
|
+
## Documentation For Authorization
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
Authentication schemes defined for the API:
|
|
182
|
+
<a id="kagi"></a>
|
|
183
|
+
### kagi
|
|
184
|
+
|
|
185
|
+
- **Type**: Bearer authentication
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
## Author
|
|
189
|
+
|
|
190
|
+
support@kagi.com
|
|
191
|
+
|
|
192
|
+
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
# kagi-client
|
|
2
|
+
The Kagi API provides programmatic access to data that powers our search results & more.
|
|
3
|
+
|
|
4
|
+
Get started on the [API Dashboard](https://kagi.com/api) to set up billing, manage API keys, and more.
|
|
5
|
+
|
|
6
|
+
### Official Client Libraries
|
|
7
|
+
|
|
8
|
+
We offer the following libraries you can use to interact with the Kagi API. These are generated from an OpenAPI spec. If you have a language you would like to use and it's not in the list, send us a message and we will add it to the list if it is supported. Or you can use the [spec](https://kagi.redocly.app/_spec/openapi.yaml?download) to build your own custom library.
|
|
9
|
+
|
|
10
|
+
- [Golang](https://github.com/kagisearch/kagi-openapi-golang)
|
|
11
|
+
- [Python](https://github.com/kagisearch/kagi-openapi-python)
|
|
12
|
+
- [TypeScript](https://github.com/kagisearch/kagi-openapi-typescript)
|
|
13
|
+
- [Rust](https://github.com/kagisearch/kagi-openapi-rust)
|
|
14
|
+
|
|
15
|
+
### API Status
|
|
16
|
+
|
|
17
|
+
**The v1 API is currently in preview to early access testers.**
|
|
18
|
+
|
|
19
|
+
Our existing API, the \"v0\" beta API, is being replaced with a new version that will be available publicly soon. As changes are made, we will be updating the documentation below when the new features become available.
|
|
20
|
+
|
|
21
|
+
See the [Support and Community](https://help.kagi.com/kagi/support-and-community/) section for details.
|
|
22
|
+
|
|
23
|
+
### Pricing
|
|
24
|
+
|
|
25
|
+
See our [API Pricing](https://kagi.com/api/pricing) page for standard rates.
|
|
26
|
+
|
|
27
|
+
### GitHub Discussions
|
|
28
|
+
|
|
29
|
+
This is the preferred venue for bug reports and feature requests.
|
|
30
|
+
|
|
31
|
+
- [Bug Reports](https://github.com/kagisearch/kagi-docs/issues/new/choose)
|
|
32
|
+
- [Q&A Forum](https://github.com/kagisearch/kagi-docs/discussions/categories/q-a?discussions_q=category%3AQ%26A+label%3Aproduct%3Akagi_search_api)
|
|
33
|
+
- [API Feature Requests](https://github.com/kagisearch/kagi-docs/discussions/categories/kagi-search-api-feature-requests-ideas)
|
|
34
|
+
|
|
35
|
+
### Discord
|
|
36
|
+
|
|
37
|
+
Join our [Discord](https://kagi.com/discord)! Good for quick questions or chatting about things you've made with our APIs!
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
|
|
41
|
+
|
|
42
|
+
- API version: 1
|
|
43
|
+
- Package version: 1.0.0rc1
|
|
44
|
+
- Generator version: 7.22.0
|
|
45
|
+
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
|
|
46
|
+
For more information, please visit [https://kagi.com/support](https://kagi.com/support)
|
|
47
|
+
|
|
48
|
+
## Requirements.
|
|
49
|
+
|
|
50
|
+
Python 3.10+
|
|
51
|
+
|
|
52
|
+
## Installation & Usage
|
|
53
|
+
### PyPI
|
|
54
|
+
|
|
55
|
+
```sh
|
|
56
|
+
pip install kagi-client
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
> **Note:** If you're installing a prerelease version, add the `--pre` flag:
|
|
60
|
+
> ```sh
|
|
61
|
+
> pip install --pre kagi-client
|
|
62
|
+
> ```
|
|
63
|
+
|
|
64
|
+
Then import the package:
|
|
65
|
+
```python
|
|
66
|
+
import kagi_client
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### From source
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
pip install git+https://github.com/kagisearch/kagi-openapi-python.git
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Then import the package:
|
|
76
|
+
```python
|
|
77
|
+
import kagi_client
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Tests
|
|
81
|
+
|
|
82
|
+
Execute `pytest` to run the tests.
|
|
83
|
+
|
|
84
|
+
## Getting Started
|
|
85
|
+
|
|
86
|
+
Please follow the [installation procedure](#installation--usage) and then run the following:
|
|
87
|
+
|
|
88
|
+
```python
|
|
89
|
+
|
|
90
|
+
import kagi_client
|
|
91
|
+
from kagi_client.rest import ApiException
|
|
92
|
+
from pprint import pprint
|
|
93
|
+
|
|
94
|
+
# Defining the host is optional and defaults to https://kagi.com/api/v1
|
|
95
|
+
# See configuration.py for a list of all supported configuration parameters.
|
|
96
|
+
configuration = kagi_client.Configuration(
|
|
97
|
+
host = "https://kagi.com/api/v1"
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
# The client must configure the authentication and authorization parameters
|
|
101
|
+
# in accordance with the API server security policy.
|
|
102
|
+
# Examples for each auth method are provided below, use the example that
|
|
103
|
+
# satisfies your auth use case.
|
|
104
|
+
|
|
105
|
+
# Configure Bearer authorization: kagi
|
|
106
|
+
configuration = kagi_client.Configuration(
|
|
107
|
+
access_token = os.environ["BEARER_TOKEN"]
|
|
108
|
+
)
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
# Enter a context with an instance of the API client
|
|
112
|
+
with kagi_client.ApiClient(configuration) as api_client:
|
|
113
|
+
# Create an instance of the API class
|
|
114
|
+
api_instance = kagi_client.ExtractApi(api_client)
|
|
115
|
+
extract_request = {"pages":[{"url":"https://example.com/article1"},{"url":"https://example.com/article2"}],"timeout":1.337,"format":"json"} # ExtractRequest |
|
|
116
|
+
|
|
117
|
+
try:
|
|
118
|
+
# Extract page content as markdown from URLs
|
|
119
|
+
api_response = api_instance.extract_content(extract_request)
|
|
120
|
+
print("The response of ExtractApi->extract_content:\n")
|
|
121
|
+
pprint(api_response)
|
|
122
|
+
except ApiException as e:
|
|
123
|
+
print("Exception when calling ExtractApi->extract_content: %s\n" % e)
|
|
124
|
+
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Documentation for API Endpoints
|
|
128
|
+
|
|
129
|
+
All URIs are relative to *https://kagi.com/api/v1*
|
|
130
|
+
|
|
131
|
+
Class | Method | HTTP request | Description
|
|
132
|
+
------------ | ------------- | ------------- | -------------
|
|
133
|
+
*ExtractApi* | [**extract_content**](docs/ExtractApi.md#extract_content) | **POST** /extract | Extract page content as markdown from URLs
|
|
134
|
+
*SearchApi* | [**search**](docs/SearchApi.md#search) | **POST** /search | Perform a web search
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
## Documentation For Models
|
|
138
|
+
|
|
139
|
+
- [ErrorDetail](docs/ErrorDetail.md)
|
|
140
|
+
- [ErrorEnvelope](docs/ErrorEnvelope.md)
|
|
141
|
+
- [ExtractRequest](docs/ExtractRequest.md)
|
|
142
|
+
- [ExtractResponse](docs/ExtractResponse.md)
|
|
143
|
+
- [Meta](docs/Meta.md)
|
|
144
|
+
- [PageInput](docs/PageInput.md)
|
|
145
|
+
- [PageOutput](docs/PageOutput.md)
|
|
146
|
+
- [Search200Response](docs/Search200Response.md)
|
|
147
|
+
- [Search200ResponseData](docs/Search200ResponseData.md)
|
|
148
|
+
- [SearchRequest](docs/SearchRequest.md)
|
|
149
|
+
- [SearchRequestExtract](docs/SearchRequestExtract.md)
|
|
150
|
+
- [SearchRequestFilters](docs/SearchRequestFilters.md)
|
|
151
|
+
- [SearchRequestLens](docs/SearchRequestLens.md)
|
|
152
|
+
- [SearchRequestPersonalizations](docs/SearchRequestPersonalizations.md)
|
|
153
|
+
- [SearchRequestPersonalizationsDomainsInner](docs/SearchRequestPersonalizationsDomainsInner.md)
|
|
154
|
+
- [SearchRequestPersonalizationsRegexesInner](docs/SearchRequestPersonalizationsRegexesInner.md)
|
|
155
|
+
- [SearchResult](docs/SearchResult.md)
|
|
156
|
+
- [SearchResultImage](docs/SearchResultImage.md)
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
<a id="documentation-for-authorization"></a>
|
|
160
|
+
## Documentation For Authorization
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
Authentication schemes defined for the API:
|
|
164
|
+
<a id="kagi"></a>
|
|
165
|
+
### kagi
|
|
166
|
+
|
|
167
|
+
- **Type**: Bearer authentication
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
## Author
|
|
171
|
+
|
|
172
|
+
support@kagi.com
|
|
173
|
+
|
|
174
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
|
|
3
|
+
# flake8: noqa
|
|
4
|
+
|
|
5
|
+
"""
|
|
6
|
+
Kagi API
|
|
7
|
+
|
|
8
|
+
The Kagi API provides programmatic access to data that powers our search results & more. Get started on the [API Dashboard](https://kagi.com/api) to set up billing, manage API keys, and more. ### Official Client Libraries We offer the following libraries you can use to interact with the Kagi API. These are generated from an OpenAPI spec. If you have a language you would like to use and it's not in the list, send us a message and we will add it to the list if it is supported. Or you can use the [spec](https://kagi.redocly.app/_spec/openapi.yaml?download) to build your own custom library. - [Golang](https://github.com/kagisearch/kagi-openapi-golang) - [Python](https://github.com/kagisearch/kagi-openapi-python) - [TypeScript](https://github.com/kagisearch/kagi-openapi-typescript) - [Rust](https://github.com/kagisearch/kagi-openapi-rust) ### API Status **The v1 API is currently in preview to early access testers.** Our existing API, the \"v0\" beta API, is being replaced with a new version that will be available publicly soon. As changes are made, we will be updating the documentation below when the new features become available. See the [Support and Community](https://help.kagi.com/kagi/support-and-community/) section for details. ### Pricing See our [API Pricing](https://kagi.com/api/pricing) page for standard rates. ### GitHub Discussions This is the preferred venue for bug reports and feature requests. - [Bug Reports](https://github.com/kagisearch/kagi-docs/issues/new/choose) - [Q&A Forum](https://github.com/kagisearch/kagi-docs/discussions/categories/q-a?discussions_q=category%3AQ%26A+label%3Aproduct%3Akagi_search_api) - [API Feature Requests](https://github.com/kagisearch/kagi-docs/discussions/categories/kagi-search-api-feature-requests-ideas) ### Discord Join our [Discord](https://kagi.com/discord)! Good for quick questions or chatting about things you've made with our APIs!
|
|
9
|
+
|
|
10
|
+
The version of the OpenAPI document: 1
|
|
11
|
+
Contact: support@kagi.com
|
|
12
|
+
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
13
|
+
|
|
14
|
+
Do not edit the class manually.
|
|
15
|
+
""" # noqa: E501
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
__version__ = "1.0.0rc1"
|
|
19
|
+
|
|
20
|
+
# Define package exports
|
|
21
|
+
__all__ = [
|
|
22
|
+
"ExtractApi",
|
|
23
|
+
"SearchApi",
|
|
24
|
+
"ApiResponse",
|
|
25
|
+
"ApiClient",
|
|
26
|
+
"Configuration",
|
|
27
|
+
"OpenApiException",
|
|
28
|
+
"ApiTypeError",
|
|
29
|
+
"ApiValueError",
|
|
30
|
+
"ApiKeyError",
|
|
31
|
+
"ApiAttributeError",
|
|
32
|
+
"ApiException",
|
|
33
|
+
"ErrorDetail",
|
|
34
|
+
"ErrorEnvelope",
|
|
35
|
+
"ExtractRequest",
|
|
36
|
+
"ExtractResponse",
|
|
37
|
+
"Meta",
|
|
38
|
+
"PageInput",
|
|
39
|
+
"PageOutput",
|
|
40
|
+
"Search200Response",
|
|
41
|
+
"Search200ResponseData",
|
|
42
|
+
"SearchRequest",
|
|
43
|
+
"SearchRequestExtract",
|
|
44
|
+
"SearchRequestFilters",
|
|
45
|
+
"SearchRequestLens",
|
|
46
|
+
"SearchRequestPersonalizations",
|
|
47
|
+
"SearchRequestPersonalizationsDomainsInner",
|
|
48
|
+
"SearchRequestPersonalizationsRegexesInner",
|
|
49
|
+
"SearchResult",
|
|
50
|
+
"SearchResultImage",
|
|
51
|
+
]
|
|
52
|
+
|
|
53
|
+
# import apis into sdk package
|
|
54
|
+
from kagi_client.api.extract_api import ExtractApi as ExtractApi
|
|
55
|
+
from kagi_client.api.search_api import SearchApi as SearchApi
|
|
56
|
+
|
|
57
|
+
# import ApiClient
|
|
58
|
+
from kagi_client.api_response import ApiResponse as ApiResponse
|
|
59
|
+
from kagi_client.api_client import ApiClient as ApiClient
|
|
60
|
+
from kagi_client.configuration import Configuration as Configuration
|
|
61
|
+
from kagi_client.exceptions import OpenApiException as OpenApiException
|
|
62
|
+
from kagi_client.exceptions import ApiTypeError as ApiTypeError
|
|
63
|
+
from kagi_client.exceptions import ApiValueError as ApiValueError
|
|
64
|
+
from kagi_client.exceptions import ApiKeyError as ApiKeyError
|
|
65
|
+
from kagi_client.exceptions import ApiAttributeError as ApiAttributeError
|
|
66
|
+
from kagi_client.exceptions import ApiException as ApiException
|
|
67
|
+
|
|
68
|
+
# import models into sdk package
|
|
69
|
+
from kagi_client.models.error_detail import ErrorDetail as ErrorDetail
|
|
70
|
+
from kagi_client.models.error_envelope import ErrorEnvelope as ErrorEnvelope
|
|
71
|
+
from kagi_client.models.extract_request import ExtractRequest as ExtractRequest
|
|
72
|
+
from kagi_client.models.extract_response import ExtractResponse as ExtractResponse
|
|
73
|
+
from kagi_client.models.meta import Meta as Meta
|
|
74
|
+
from kagi_client.models.page_input import PageInput as PageInput
|
|
75
|
+
from kagi_client.models.page_output import PageOutput as PageOutput
|
|
76
|
+
from kagi_client.models.search200_response import Search200Response as Search200Response
|
|
77
|
+
from kagi_client.models.search200_response_data import Search200ResponseData as Search200ResponseData
|
|
78
|
+
from kagi_client.models.search_request import SearchRequest as SearchRequest
|
|
79
|
+
from kagi_client.models.search_request_extract import SearchRequestExtract as SearchRequestExtract
|
|
80
|
+
from kagi_client.models.search_request_filters import SearchRequestFilters as SearchRequestFilters
|
|
81
|
+
from kagi_client.models.search_request_lens import SearchRequestLens as SearchRequestLens
|
|
82
|
+
from kagi_client.models.search_request_personalizations import SearchRequestPersonalizations as SearchRequestPersonalizations
|
|
83
|
+
from kagi_client.models.search_request_personalizations_domains_inner import SearchRequestPersonalizationsDomainsInner as SearchRequestPersonalizationsDomainsInner
|
|
84
|
+
from kagi_client.models.search_request_personalizations_regexes_inner import SearchRequestPersonalizationsRegexesInner as SearchRequestPersonalizationsRegexesInner
|
|
85
|
+
from kagi_client.models.search_result import SearchResult as SearchResult
|
|
86
|
+
from kagi_client.models.search_result_image import SearchResultImage as SearchResultImage
|
|
87
|
+
|