# ZvolvClient SDK
<div>
π <a href="#documentation">Documentation</a> - π <a href="#getting-started">Getting started</a> - π» <a href="#api-reference">API reference</a> - π¬ <a href="#feedback">Feedback</a>
</div>
Learn how to automate with Zvolv using Python.
## Documentation
- [Docs site](https://python-zvolv-sdk.readthedocs.io/) - explore our docs site and learn more about Zvolv.
- [Examples](https://github.com/zvolvapi/python-zvolv-sdk/blob/main/EXAMPLES.md) - explore our examples docs and learn more about using sdk.
## Getting started
### Installation
You can install the Zvolv Python SDK using the following command.
```
pip install zvolv-sdk
```
> Requires Python 3.0 or higher.
# Usage
## Initialize ZvolvClient
Once the package is installed, you can import the library using import or require approach.
Initializes the ZvolvClient with the base url of the Zvolv server:
```python
from zvolv_sdk import ZvolvClient
client = ZvolvClient(BASE_URL)
```
> BASE_URL is the host address on which your Zvolv workspace is deployed, unless you have isolated custom deployment use 'https://app.zvolv.com'.
## Initialize Workspace
Before performing any operation, SDK needs your workspace context. Use below method to initialize your workspace
```python
try:
workspace = client.workspace.init(DOMAIN)
except Error:
print(Error)
```
> DOMAIN is your unique workspace identifier
## Perform Authentication
Zvolv modules are access contolled, you need valid user crendentials to invoke any module methods. Use below method for authentication.
```python
try:
login = client.auth.login(EMAIL, PASSWORD)
except Error:
print(Error)
```
> You can use any valid zvolv user's EMAIL & PASSWORD from your workspace
## API references
Zvolv comprises various modules to achieve respective business operations. Use below modules & methods to interact with Zvolv APIs.
### Forms
#### Create a Form
```python
from zvolv_sdk.models.form import Form
form = Form(...)
response = client.forms.post(form)
```
> Use Form model with required attributes
#### Update a Form
```python
from zvolv_sdk.models.form import Form
form = Form(...)
response = client.forms.put(form)
```
> Use Form model with id or uuid & other required attributes
#### Get a Form
```python
from zvolv_sdk.models.form import Form
response: Form = client.forms.get(ID)
```
> ID is unique form identifier
### Submissions
#### Create a Submission
```python
from zvolv_sdk.models.submission import Submission
submission = Submission(...)
response = client.submissions.post(submission)
```
> Use Submission model with elements to be created
#### Update a Submission
```python
from zvolv_sdk.models.submission import Submission
submission = Submission(...)
response = client.submissions.put(submission)
```
> Use Submission model with id & elements to be updated
#### Get a Submission
```python
from zvolv_sdk.models.submission import Submission
response: Submission = client.submissions.get(ID)
```
> ID is unique submission identifier
#### Search Submissions
```python
from elasticsearch_dsl import Q, Search
search_obj = Search()
bool_query = Q('bool', must=[Q(...)])
search_obj = search_obj.query(bool_query)
response = client.submissions.search(FORM_ID, search_obj)
```
> search method support elastic queries. Generate your query with help of elasticsearch_dsl
### Tasks
#### Create a Task
```python
from zvolv_sdk.models.task import Task
task = Task(...)
response = client.tasks.post(task)
```
> Use Task model with required attributes
#### Update a Task
```python
from zvolv_sdk.models.task import Task
task = Task(...)
response = client.tasks.put(task)
```
> Use Task model with id & required attributes to be updated
#### Get a Task
```python
from zvolv_sdk.models.task import Task
response: Task = client.tasks.get(ID)
```
> ID is unique task identifier
#### Search Tasks
```python
from elasticsearch_dsl import Q, Search
search_obj = Search()
bool_query = Q('bool', must=[Q(...)])
search_obj = search_obj.query(bool_query)
response = client.tasks.search(search_obj)
```
> search method support elastic queries. Generate your query with help of elasticsearch_dsl
### Feedback
---
If you get stuck, weβre here to help. The following are the best ways to get assistance working through your issue:
Use our [GitHub Issue Tracker][gh-issues] for reporting bugs or requesting features.
Visit the [Zvolv Community][zvolv-community] for getting help using Zvolv Developer Kit for Python or just generally bond with your fellow Zvolv developers.
<!-- Markdown links -->
[pypi-url]: https://pypi.org/project/slack-sdk/
[python-version]: https://img.shields.io/pypi/pyversions/slack-sdk.svg
[build-image]: https://github.com/slackapi/python-slack-sdk/workflows/CI%20Build/badge.svg
[build-url]: https://github.com/slackapi/python-slack-sdk/actions?query=workflow%3A%22CI+Build%22
[codecov-image]: https://codecov.io/gh/slackapi/python-slack-sdk/branch/main/graph/badge.svg
[codecov-url]: https://codecov.io/gh/slackapi/python-slack-sdk
[contact-image]: https://img.shields.io/badge/contact-support-green.svg
[contact-url]: https://slack.com/support
[slackclientv1]: https://github.com/slackapi/python-slackclient/tree/v1
[api-methods]: https://api.slack.com/methods
[rtm-docs]: https://api.slack.com/rtm
[events-docs]: https://api.slack.com/events-api
[bolt-python]: https://github.com/slackapi/bolt-python
[pypi]: https://pypi.org/
[gh-issues]: https://github.com/zvolvapi/python-zvolv-sdk/issues
[zvolv-community]: https://zvolv.com/
[urllib]: https://docs.python.org/3/library/urllib.request.html
Raw data
{
"_id": null,
"home_page": "https://github.com/zvolvapi/python-zvolv-sdk",
"name": "zvolv-sdk",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6.0",
"maintainer_email": null,
"keywords": "zvolv, zvolv-api, web-api, sdk, rest-api-client",
"author": "Akshay Jadhav",
"author_email": "support@zvolv.com",
"download_url": "https://files.pythonhosted.org/packages/ef/5b/99e7d22fac15241ab22d9f918e5b6fdc58ef5dd93e342a43a3526bf9af94/zvolv_sdk-0.0.38.tar.gz",
"platform": null,
"description": "# ZvolvClient SDK\n\n<div>\n\ud83d\udcda <a href=\"#documentation\">Documentation</a> - \ud83d\ude80 <a href=\"#getting-started\">Getting started</a> - \ud83d\udcbb <a href=\"#api-reference\">API reference</a> - \ud83d\udcac <a href=\"#feedback\">Feedback</a>\n</div>\n\n\nLearn how to automate with Zvolv using Python.\n## Documentation\n- [Docs site](https://python-zvolv-sdk.readthedocs.io/) - explore our docs site and learn more about Zvolv.\n- [Examples](https://github.com/zvolvapi/python-zvolv-sdk/blob/main/EXAMPLES.md) - explore our examples docs and learn more about using sdk.\n\n## Getting started\n### Installation\nYou can install the Zvolv Python SDK using the following command.\n```\npip install zvolv-sdk\n```\n\n> Requires Python 3.0 or higher.\n\n# Usage\n## Initialize ZvolvClient\n\nOnce the package is installed, you can import the library using import or require approach.\n\nInitializes the ZvolvClient with the base url of the Zvolv server:\n\n```python\nfrom zvolv_sdk import ZvolvClient\n\nclient = ZvolvClient(BASE_URL)\n\n```\n> BASE_URL is the host address on which your Zvolv workspace is deployed, unless you have isolated custom deployment use 'https://app.zvolv.com'.\n\n## Initialize Workspace\n\nBefore performing any operation, SDK needs your workspace context. Use below method to initialize your workspace\n\n```python\n\ntry:\n workspace = client.workspace.init(DOMAIN)\nexcept Error:\n print(Error)\n\n```\n> DOMAIN is your unique workspace identifier\n\n## Perform Authentication\n\nZvolv modules are access contolled, you need valid user crendentials to invoke any module methods. Use below method for authentication.\n\n```python\ntry:\n login = client.auth.login(EMAIL, PASSWORD)\nexcept Error:\n print(Error)\n```\n> You can use any valid zvolv user's EMAIL & PASSWORD from your workspace\n\n## API references\nZvolv comprises various modules to achieve respective business operations. Use below modules & methods to interact with Zvolv APIs.\n\n### Forms\n#### Create a Form\n```python\nfrom zvolv_sdk.models.form import Form\n\nform = Form(...)\nresponse = client.forms.post(form)\n```\n> Use Form model with required attributes\n\n#### Update a Form\n```python\nfrom zvolv_sdk.models.form import Form\n\nform = Form(...)\nresponse = client.forms.put(form)\n```\n> Use Form model with id or uuid & other required attributes\n\n#### Get a Form\n```python\nfrom zvolv_sdk.models.form import Form\n\nresponse: Form = client.forms.get(ID)\n```\n> ID is unique form identifier\n\n\n### Submissions\n#### Create a Submission\n```python\nfrom zvolv_sdk.models.submission import Submission\n\nsubmission = Submission(...)\nresponse = client.submissions.post(submission)\n```\n> Use Submission model with elements to be created\n\n#### Update a Submission\n```python\nfrom zvolv_sdk.models.submission import Submission\n\nsubmission = Submission(...)\nresponse = client.submissions.put(submission)\n```\n> Use Submission model with id & elements to be updated\n\n#### Get a Submission\n```python\nfrom zvolv_sdk.models.submission import Submission\n\nresponse: Submission = client.submissions.get(ID)\n```\n> ID is unique submission identifier\n\n#### Search Submissions\n```python\nfrom elasticsearch_dsl import Q, Search\n\nsearch_obj = Search()\nbool_query = Q('bool', must=[Q(...)])\nsearch_obj = search_obj.query(bool_query)\n\nresponse = client.submissions.search(FORM_ID, search_obj)\n```\n> search method support elastic queries. Generate your query with help of elasticsearch_dsl\n\n\n### Tasks\n#### Create a Task\n```python\nfrom zvolv_sdk.models.task import Task\n\ntask = Task(...)\nresponse = client.tasks.post(task)\n```\n> Use Task model with required attributes\n\n#### Update a Task\n```python\nfrom zvolv_sdk.models.task import Task\n\ntask = Task(...)\nresponse = client.tasks.put(task)\n```\n> Use Task model with id & required attributes to be updated\n\n#### Get a Task\n```python\nfrom zvolv_sdk.models.task import Task\n\nresponse: Task = client.tasks.get(ID)\n```\n> ID is unique task identifier\n\n#### Search Tasks\n```python\nfrom elasticsearch_dsl import Q, Search\n\nsearch_obj = Search()\nbool_query = Q('bool', must=[Q(...)])\nsearch_obj = search_obj.query(bool_query)\n\nresponse = client.tasks.search(search_obj)\n```\n> search method support elastic queries. Generate your query with help of elasticsearch_dsl\n\n\n### Feedback\n\n---\n\nIf you get stuck, we\u2019re here to help. The following are the best ways to get assistance working through your issue:\n\nUse our [GitHub Issue Tracker][gh-issues] for reporting bugs or requesting features.\nVisit the [Zvolv Community][zvolv-community] for getting help using Zvolv Developer Kit for Python or just generally bond with your fellow Zvolv developers.\n\n<!-- Markdown links -->\n\n\n[pypi-url]: https://pypi.org/project/slack-sdk/\n[python-version]: https://img.shields.io/pypi/pyversions/slack-sdk.svg\n[build-image]: https://github.com/slackapi/python-slack-sdk/workflows/CI%20Build/badge.svg\n[build-url]: https://github.com/slackapi/python-slack-sdk/actions?query=workflow%3A%22CI+Build%22\n[codecov-image]: https://codecov.io/gh/slackapi/python-slack-sdk/branch/main/graph/badge.svg\n[codecov-url]: https://codecov.io/gh/slackapi/python-slack-sdk\n[contact-image]: https://img.shields.io/badge/contact-support-green.svg\n[contact-url]: https://slack.com/support\n[slackclientv1]: https://github.com/slackapi/python-slackclient/tree/v1\n[api-methods]: https://api.slack.com/methods\n[rtm-docs]: https://api.slack.com/rtm\n[events-docs]: https://api.slack.com/events-api\n[bolt-python]: https://github.com/slackapi/bolt-python\n[pypi]: https://pypi.org/\n[gh-issues]: https://github.com/zvolvapi/python-zvolv-sdk/issues\n[zvolv-community]: https://zvolv.com/\n[urllib]: https://docs.python.org/3/library/urllib.request.html\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "The Zvolv API Platform SDK for Python",
"version": "0.0.38",
"project_urls": {
"Download": "https://github.com/zvolvapi/python-zvolv-sdk/archive/v_01.tar.gz",
"Homepage": "https://github.com/zvolvapi/python-zvolv-sdk"
},
"split_keywords": [
"zvolv",
" zvolv-api",
" web-api",
" sdk",
" rest-api-client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "cee5666dd5360c6f8102a22988dd005215c5f34485f6f7a9985465fbcaabf1e1",
"md5": "0ab285225ea16193646bfc00ccfb9515",
"sha256": "d1609a60dc9596cfb36394912ca121e8e561418513013e7653e8151ac29d950c"
},
"downloads": -1,
"filename": "zvolv_sdk-0.0.38-py3-none-any.whl",
"has_sig": false,
"md5_digest": "0ab285225ea16193646bfc00ccfb9515",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.0",
"size": 28009,
"upload_time": "2024-10-22T06:37:51",
"upload_time_iso_8601": "2024-10-22T06:37:51.051455Z",
"url": "https://files.pythonhosted.org/packages/ce/e5/666dd5360c6f8102a22988dd005215c5f34485f6f7a9985465fbcaabf1e1/zvolv_sdk-0.0.38-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "ef5b99e7d22fac15241ab22d9f918e5b6fdc58ef5dd93e342a43a3526bf9af94",
"md5": "6986ff263384c406293b52bb1ddda081",
"sha256": "260018c16cd99214793b08603ddb474e88f3ce8d05e90cccda94019b0fdb23b2"
},
"downloads": -1,
"filename": "zvolv_sdk-0.0.38.tar.gz",
"has_sig": false,
"md5_digest": "6986ff263384c406293b52bb1ddda081",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.0",
"size": 19057,
"upload_time": "2024-10-22T06:37:52",
"upload_time_iso_8601": "2024-10-22T06:37:52.477705Z",
"url": "https://files.pythonhosted.org/packages/ef/5b/99e7d22fac15241ab22d9f918e5b6fdc58ef5dd93e342a43a3526bf9af94/zvolv_sdk-0.0.38.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-22 06:37:52",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "zvolvapi",
"github_project": "python-zvolv-sdk",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "zvolv-sdk"
}