Manticore Asynchronous Python client
Сlient for Manticore Search.
❗ WARNING: this is a development version of the client. The latest release's readme is https://github.com/manticoresoftware/manticoresearch-python-asyncio/tree/2.2.0
Requirements.
Minimum Manticore Search version is >= 9.2.14 with HTTP protocol enabled.
| *manticoresearch-python | Manticore Search | Python | Compatibility |
|---|---|---|---|
manticoresearch-asyncio-devel |
dev (latest development version) |
3.4 or newer | ✅ Fully Compatible |
| 2.2.0 or newer | 28.6.6 or newer | 3.4 or newer | ✅ Fully Compatible |
| 2.2.0 or newer | 28.6.6 to 28.6.6 | 3.4 or newer | ⚠️ Partially Compatible |
| 2.1.0 to 2.2.0 | 28.6.6 or newer | 3.4 or newer | ⚠️ Partially Compatible |
| 2.1.0 to 2.2.0 | 28.6.6 to 28.6.6 | 3.4 or newer | ✅ Fully Compatible |
| 2.0.0 to 2.1.0 | 28.6.6 to 28.6.6 | 3.4 or newer | ⚠️ Partially Compatible |
| 2.0.0 to 2.1.0 | 17.5.1 to 28.6.6 | 3.4 or newer | ✅ Fully Compatible |
| 1.0.0 to 2.0.0 | 17.5.1 to 28.6.6 | 3.4 or newer | ⚠️ Partially Compatible |
| 1.0.0 to 2.0.0 | 9.2.14 to 17.5.1 | 3.4 or newer | ✅ Fully Compatible |
Installation & Usage
pip install
If the python package is hosted on a repository, you can install directly using:
pip install git+https://github.com/manticoresoftware/manticoresearch-python-asyncio.git
(you may need to run pip with root permission: sudo pip install git+https://github.com/manticoresoftware/manticoresearch-python-asyncio.git)
Then import the package:
import manticoresearch
Setuptools
Install via Setuptools.
python setup.py install --user
(or sudo python setup.py install to install the package for all users)
Then import the package:
import manticoresearch
Getting Started
Please follow the installation procedure and then run the following:
import manticoresearch
from manticoresearch.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://127.0.0.1:9308
# See configuration.py for a list of all supported configuration parameters.
configuration = manticoresearch.Configuration(
host = "http://127.0.0.1:9308"
)
# Enter a context with an instance of the API client
with manticoresearch.ApiClient(configuration) as api_client:
# Create instances of API classes
indexApi = manticoresearch.IndexApi(api_client)
searchApi = manticoresearch.SearchApi(api_client)
utilsApi = manticoresearch.UtilsApi(api_client)
try:
# Perform insert and search operations
newDoc = {"title" : "Crossbody Bag with Tassel", "price": 19.85}
insert_request = InsertDocumentRequest(index="products", doc=newDoc)
indexApi.insert(insert_request)
# Check out the structure of the autocreated 'products' table
sql_response = utilsApi.sql('DESC products');
print("The response of UtilsApi->sql:\n")
pprint(sql_response)
newDoc = {"title" : "Pet Hair Remover Glove", "price": 7.99}
insert_request = InsertDocumentRequest(index="products", doc=newDoc)
indexApi.insert(insert_request)
query_highlight = Highlight()
query_highlight.fields = {"title":{}}
search_query = SearchQuery(query_string="@title bag")
search_request = SearchRequest(index="products", query=search_query, highlight=query_highlight)
search_response = searchApi.search(search_request)
print("The response of SearchApi->search:\n")
pprint(search_response)
# Alternatively, you can pass all request arguments as a complex JSON object
indexApi.insert({"index": "products", "doc" : {"title" : "Crossbody Bag with Tassel", "price" : 19.85}})
indexApi.insert({"index": "products", "doc" : {"title" : "Pet Hair Remover Glove", "price" : 7.99}})
search_response = searchApi.search({"index": "products", "query": {"query_string": "@title bag"}, "highlight":{"fields":{"title":{}}}})
print("The response of SearchApi->search:\n")
pprint(search_response)
except ApiException as e:
print("Exception when calling Api method: %s\n" % e)
Documentation for API Endpoints
All URIs are relative to http://127.0.0.1:9308
| Class | Method | HTTP request | Description |
|---|---|---|---|
| IndexApi | bulk | POST /bulk | Bulk table operations |
| IndexApi | delete | POST /delete | Delete a document in a table |
| IndexApi | insert | POST /insert | Create a new document in a table |
| IndexApi | partial_replace | POST /{table}/_update/{id} | Partially replaces a document in a table |
| IndexApi | replace | POST /replace | Replace new document in a table |
| IndexApi | update | POST /update | Update a document in a table |
| SearchApi | autocomplete | POST /autocomplete | Performs an autocomplete search on a table |
| SearchApi | percolate | POST /pq/{table}/search | Perform reverse search on a percolate table |
| SearchApi | search | POST /search | Performs a search on a table |
| UtilsApi | sql | POST /sql | Perform SQL requests |
| UtilsApi | token | POST /token | Create or rotate a bearer token |
Documentation For Models
- AggBucket
- AggBucketsResult
- AggComposite
- AggCompositeSource
- AggCompositeTerm
- AggDateHistogram
- AggHistogram
- AggMedianAbsoluteDeviation
- AggMetric
- AggPercentileRanks
- AggPercentiles
- AggRange
- AggTDigest
- AggTerms
- Aggregation
- AutocompleteRequest
- BoolFilter
- BulkResponse
- Chat
- DeleteDocumentRequest
- DeleteResponse
- ErrorResponse
- FacetBucketStatus
- FacetFilterMode
- FulltextFilter
- GeoDistance
- GeoDistanceLocationAnchor
- Highlight
- HighlightFieldOption
- HighlightFields
- HitsHits
- Hybrid
- InsertDocumentRequest
- Join
- JoinCond
- JoinOn
- Knn
- KnnQuery
- Match
- MatchAll
- PercolateRequest
- PercolateRequestQuery
- QueryFilter
- Range
- RangeFilter
- ReplaceDocumentRequest
- ResponseError
- ResponseErrorDetails
- ScriptField
- ScriptFieldScript
- SearchQuery
- SearchRequest
- SearchResponse
- SearchResponseHits
- SourceRules
- SqlObjResponse
- SqlResponse
- SuccessResponse
- UpdateDocumentRequest
- UpdateResponse
Documentation For Authorization
Authentication schemes defined for the API:
basicAuth
- Type: HTTP basic authentication
bearerAuth
- Type: Bearer authentication
Author
Metadata
Release files for manticoresearch-asyncio-devel 2.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| manticoresearch_asyncio_devel-2.2.0.tar.gz | 58.0 kB | Without provenance | Details for manticoresearch_asyncio_devel-2.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| manticoresearch_asyncio_devel-2.2.0-py3-none-any.whl | Python 3 | none | any | Details for manticoresearch_asyncio_devel-2.2.0-py3-none-any.whl |
Total release size: 186.0 kB
Release files / manticoresearch_asyncio_devel-2.2.0.tar.gz
| Download URL | manticoresearch_asyncio_devel-2.2.0.tar.gz |
|---|---|
| Size | 58.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f37a97fb4d787291bdef09dd4e41f59420a799ef2648ccd39a54da50fd2d8b8
|
|
BLAKE2b-256 checksum How to use checksums |
bacc681408767a3fd288cfc5ec0a742f714f739f780d8093f93bd92f5056cfeb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.20
|
Release files / manticoresearch_asyncio_devel-2.2.0-py3-none-any.whl
| Download URL | manticoresearch_asyncio_devel-2.2.0-py3-none-any.whl |
|---|---|
| Size | 127.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8aec62bad4bf7958980e0bc2fb5aae296f0f3faf48b891cef6c5b92efc4164b7
|
|
BLAKE2b-256 checksum How to use checksums |
20615c88f31a9d0f11bd8cebf1d04f43e165ec4e153a4d2fca78430eab291276
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.10.20
|
Security for manticoresearch-asyncio-devel 2.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.