<!--
Copyright (c) 2022-2023 Geosiris.
SPDX-License-Identifier: Apache-2.0
-->
# Etpclient
==========
[![License](https://img.shields.io/pypi/l/etpclient)](https://github.com/geosiris-technologies/etpclient-python/blob/main/LICENSE)
[![Documentation Status](https://readthedocs.org/projects/etpclient-python/badge/?version=latest)](https://etpclient-python.readthedocs.io/en/latest/?badge=latest)
[![Python CI](https://github.com/geosiris-technologies/etpclient-python/actions/workflows/ci-tests.yml/badge.svg)](https://github.com/geosiris-technologies/etpclient-python/actions/workflows/ci-tests.yml)
![Python version](https://img.shields.io/pypi/pyversions/etpclient)
[![PyPI](https://img.shields.io/pypi/v/etpclient)](https://badge.fury.io/py/etpclient)
![Status](https://img.shields.io/pypi/status/etpclient)
[![codecov](https://codecov.io/gh/geosiris-technologies/etpclient-python/branch/main/graph/badge.svg)](https://codecov.io/gh/geosiris-technologies/etpclient-python)
## Installation :
Poetry is required to use the client. [Poetry documentation](https://python-poetry.org/docs/)
```bash
poetry update
poetry install
```
## Sample commands :
```bash
poetry run python client --host RDDMS_HOST --port 9002 -t MY_TOKEN
poetry run python client --host MY_HOST --port 80 --sub-path etp -t MY_TOKEN
poetry run python client --host 127.0.0.1 --port 17000 --sub-path etp --username login --password passwordTest
poetry run python client --host 127.0.0.1 --port 5432 --username testerlogin --password passwordtester
```
## ETP supported commands :
When the client is connected you can send your request.
This is the help menu :
```bash
[XXX] : replace XXX with your value
[XXX=Y] : replace XXX with your value, default is Y
[[XXX]] : optional parameter
Help : show this menu
Quit : hard quit (no CloseSession sent)
CloseSession : close this session
GetDataArrayMetadata [URI] [PATH_IN_RESOURCE]
GetDataArray [URI] [PATH_IN_RESOURCE]
GetDataSubArray [URI] [PATH_IN_RESOURCE] [START] [COUNT]
PutDataArray [[UUIDS]]* [DATASPACE_NAME] [EPC_FILE_PATH] [H5_FILE_PATH]
GetDataObject [URI_1] [...] [URI_N]
PutDataObject [FILE_PATH] [[DATASPACE_NAME]]
GetResources [[uri=eml:/// or notUri=DataspaceName]] [[depth=1]] [[SCOPE]]
GetDataspaces
PutDataspace [NAME]
DeleteDataspace [NAME]
```
## Configuration
It is possible to change the "capabilities" of your client in the prefilled RequestSession object in [etpclient/etp/requester.py](https://github.com/geosiris-technologies/etpclient-python/blob/main/etpclient/etp/requester.py#L180)
To add/remove supported protocols and request, modify the file [etpclient/etp/serverprotocols.py](https://github.com/geosiris-technologies/etpclient-python/blob/main/etpclient/etp/serverprotocols.py#L166). Do not forget to decorate your protocols to allow the class ETPConnection to use your protocol.
Example :
```python
@ETPConnection.on(CommunicationProtocol.CORE)
class myCoreProtocol(CoreHandler):
...
```
Raw data
{
"_id": null,
"home_page": "http://www.geosiris.com",
"name": "etpclient",
"maintainer": "Valentin Gauthier",
"docs_url": null,
"requires_python": ">=3.9,<4.0",
"maintainer_email": "valentin.gauthier@geosiris.com",
"keywords": "ETP",
"author": "Valentin Gauthier",
"author_email": "valentin.gauthier@geosiris.com",
"download_url": "https://files.pythonhosted.org/packages/64/c3/9fc595e5f0dc062dc0d004f7dd4ea67692e40e2409fb121c4fa413f079dc/etpclient-0.0.3.tar.gz",
"platform": null,
"description": "<!--\nCopyright (c) 2022-2023 Geosiris.\nSPDX-License-Identifier: Apache-2.0\n-->\n# Etpclient\n==========\n\n\n[![License](https://img.shields.io/pypi/l/etpclient)](https://github.com/geosiris-technologies/etpclient-python/blob/main/LICENSE)\n[![Documentation Status](https://readthedocs.org/projects/etpclient-python/badge/?version=latest)](https://etpclient-python.readthedocs.io/en/latest/?badge=latest)\n[![Python CI](https://github.com/geosiris-technologies/etpclient-python/actions/workflows/ci-tests.yml/badge.svg)](https://github.com/geosiris-technologies/etpclient-python/actions/workflows/ci-tests.yml)\n![Python version](https://img.shields.io/pypi/pyversions/etpclient)\n[![PyPI](https://img.shields.io/pypi/v/etpclient)](https://badge.fury.io/py/etpclient)\n![Status](https://img.shields.io/pypi/status/etpclient)\n[![codecov](https://codecov.io/gh/geosiris-technologies/etpclient-python/branch/main/graph/badge.svg)](https://codecov.io/gh/geosiris-technologies/etpclient-python)\n\n\n## Installation : \n\nPoetry is required to use the client. [Poetry documentation](https://python-poetry.org/docs/)\n\n```bash\npoetry update\npoetry install\n```\n\n## Sample commands :\n\n```bash\npoetry run python client --host RDDMS_HOST --port 9002 -t MY_TOKEN\n\npoetry run python client --host MY_HOST --port 80 --sub-path etp -t MY_TOKEN\n\npoetry run python client --host 127.0.0.1 --port 17000 --sub-path etp --username login --password passwordTest\n\npoetry run python client --host 127.0.0.1 --port 5432 --username testerlogin --password passwordtester\n```\n\n\n## ETP supported commands : \n\nWhen the client is connected you can send your request.\n\nThis is the help menu :\n```bash\n[XXX] : replace XXX with your value\n[XXX=Y] : replace XXX with your value, default is Y\n[[XXX]] : optional parameter\n\nHelp : show this menu\n\nQuit : hard quit (no CloseSession sent)\nCloseSession : close this session\n\nGetDataArrayMetadata [URI] [PATH_IN_RESOURCE]\nGetDataArray [URI] [PATH_IN_RESOURCE]\nGetDataSubArray [URI] [PATH_IN_RESOURCE] [START] [COUNT]\nPutDataArray [[UUIDS]]* [DATASPACE_NAME] [EPC_FILE_PATH] [H5_FILE_PATH]\n\nGetDataObject [URI_1] [...] [URI_N]\nPutDataObject [FILE_PATH] [[DATASPACE_NAME]]\nGetResources [[uri=eml:/// or notUri=DataspaceName]] [[depth=1]] [[SCOPE]]\n\nGetDataspaces\nPutDataspace [NAME]\nDeleteDataspace [NAME]\n```\n\n## Configuration\n\nIt is possible to change the \"capabilities\" of your client in the prefilled RequestSession object in [etpclient/etp/requester.py](https://github.com/geosiris-technologies/etpclient-python/blob/main/etpclient/etp/requester.py#L180)\n\nTo add/remove supported protocols and request, modify the file [etpclient/etp/serverprotocols.py](https://github.com/geosiris-technologies/etpclient-python/blob/main/etpclient/etp/serverprotocols.py#L166). Do not forget to decorate your protocols to allow the class ETPConnection to use your protocol.\nExample : \n```python\n@ETPConnection.on(CommunicationProtocol.CORE)\nclass myCoreProtocol(CoreHandler):\n ...\n```",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "ETP client",
"version": "0.0.3",
"project_urls": {
"Homepage": "http://www.geosiris.com",
"Repository": "https://github.com/geosiris-technologies/etpclient-python"
},
"split_keywords": [
"etp"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "fda5ccf70f0c266fdb4d3057df966ca071bfff5c67462526785d812acb659270",
"md5": "6e872a205938be9ac82ab3778a9fa6c2",
"sha256": "ab6ca73bee6486733d202475f8bda65869c4ba94bd3d9ff0cf5b3cbad2555e17"
},
"downloads": -1,
"filename": "etpclient-0.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "6e872a205938be9ac82ab3778a9fa6c2",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9,<4.0",
"size": 34566,
"upload_time": "2023-11-03T00:05:59",
"upload_time_iso_8601": "2023-11-03T00:05:59.053196Z",
"url": "https://files.pythonhosted.org/packages/fd/a5/ccf70f0c266fdb4d3057df966ca071bfff5c67462526785d812acb659270/etpclient-0.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "64c39fc595e5f0dc062dc0d004f7dd4ea67692e40e2409fb121c4fa413f079dc",
"md5": "d82ab4d8e54d5e3bb7c848ffeab7c668",
"sha256": "a0fab184830a7432b0dc386735ce946f1353b6173f58ccbe57167d589cd61852"
},
"downloads": -1,
"filename": "etpclient-0.0.3.tar.gz",
"has_sig": false,
"md5_digest": "d82ab4d8e54d5e3bb7c848ffeab7c668",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9,<4.0",
"size": 30863,
"upload_time": "2023-11-03T00:06:00",
"upload_time_iso_8601": "2023-11-03T00:06:00.665038Z",
"url": "https://files.pythonhosted.org/packages/64/c3/9fc595e5f0dc062dc0d004f7dd4ea67692e40e2409fb121c4fa413f079dc/etpclient-0.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-11-03 00:06:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "geosiris-technologies",
"github_project": "etpclient-python",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "etpclient"
}