An API client for Elastic Workplace Search
Project description
A first-party Python client for Elastic Workplace Search.
Contents
Getting started 🐣
Supports Python 2.7 and Python 3.3+.
Depends on futures and requests.
Installed with
pip <http://pypi.python.org/pypi/pip>
:
$ python -m pip install elastic_workplace_search
You can also download and install the project source:
$ python setup.py install
Usage
Creating a new Client
from elastic_workplace_search import Client
authorization_token = 'authorization token'
client = Client(authorization_token)
Retrieve your access token and a content source key after creating your content source.
Change API endpoint
client = Client(authorization_token, "https://your-server.example.com/api/ws/v1")
Custom Source Documents
Document API features are found in the client.documents
module.
Indexing Documents
Indexing a document into a custom content source:
content_source_key = 'content source key'
documents = [
{
'id': '1234',
'url': 'https://github.com/elastic/workplace-search-python',
'title': 'Elastic Workplace Search Official Python Client',
'body': 'A descriptive body, with document contents and metadata'
}
]
client.documents.index_documents(content_source_key, documents)
Deleting Documents
Deleting a document from a custom content source:
content_source_key = 'content source key'
ids = ['1234']
client.documents.delete_documents(content_source_key, ids)
Permissions
Permissions API features are found in the client.permissions
module.
Listing all permissions
content_source_key = 'content source key'
client.permissions.list_all_permissions(content_source_key)
Listing all permissions with paging
content_source_key = 'content source key'
client.permissions.list_all_permissions(content_source_key, size=20, current=2)
Retrieve a User's permissions
content_source_key = 'content source key'
user = 'enterprise_search'
client.permissions.get_user_permissions(content_source_key, user)
Add permissions to a User
content_source_key = 'content source key'
user = 'enterprise_search'
permissions = ['permission1']
client.permissions.add_user_permissions(content_source_key, 'enterprise_search', { 'permissions': permissions })
Update a User's permissions
content_source_key = 'content source key'
user = 'enterprise_search'
permissions = ['permission2']
client.permissions.update_user_permissions(content_source_key, 'enterprise_search', { 'permissions': permissions })
Remove permissions from a User
content_source_key = 'content source key'
user = 'enterprise_search'
permissions = ['permission2']
client.permissions.remove_user_permissions(content_source_key, 'enterprise_search', { 'permissions': permissions })
FAQ 🔮
Where do I report issues with the client?
If something is not working as expected, please open an issue.
Contribute 🚀
We welcome contributors to the project. Before you begin, a couple notes...
- Before opening a pull request, please create an issue to discuss the scope of your proposal.
- Please write simple code and concise documentation, when appropriate.
License 📗
Thank you to all the contributors!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file elastic_workplace_search-0.3.0.tar.gz
.
File metadata
- Download URL: elastic_workplace_search-0.3.0.tar.gz
- Upload date:
- Size: 10.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2311e38ec53ff1f40d8cd94d0da3b2b47f41c6df1422dbd1cda8a8dbb06dfe81 |
|
MD5 | ec8ea197bd6c43b6e07df53a21deb6ed |
|
BLAKE2b-256 | 86c714ede006c42a27d03f62c1e35d756f186043356e2d37dd174d4638b117e5 |