{"id":26525008,"url":"https://github.com/geosiris-technologies/etpclient-python","last_synced_at":"2026-02-14T11:31:01.652Z","repository":{"id":87794254,"uuid":"541590589","full_name":"geosiris-technologies/etpclient-python","owner":"geosiris-technologies","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-10T15:45:43.000Z","size":411,"stargazers_count":1,"open_issues_count":11,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-11T12:54:16.319Z","etag":null,"topics":["client","energistics","etp","osdu","prodml","python","resqml","witsml"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geosiris-technologies.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-26T13:04:47.000Z","updated_at":"2024-12-09T21:38:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"7fbb309b-fa9c-4a4a-b04c-c51f76555ac9","html_url":"https://github.com/geosiris-technologies/etpclient-python","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/geosiris-technologies/etpclient-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geosiris-technologies%2Fetpclient-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geosiris-technologies%2Fetpclient-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geosiris-technologies%2Fetpclient-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geosiris-technologies%2Fetpclient-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geosiris-technologies","download_url":"https://codeload.github.com/geosiris-technologies/etpclient-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geosiris-technologies%2Fetpclient-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29443451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-14T10:51:12.367Z","status":"ssl_error","status_checked_at":"2026-02-14T10:50:52.088Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","energistics","etp","osdu","prodml","python","resqml","witsml"],"created_at":"2025-03-21T14:50:30.215Z","updated_at":"2026-02-14T11:31:01.637Z","avatar_url":"https://github.com/geosiris-technologies.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!--\nCopyright (c) 2022-2023 Geosiris.\nSPDX-License-Identifier: Apache-2.0\n--\u003e\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```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeosiris-technologies%2Fetpclient-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeosiris-technologies%2Fetpclient-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeosiris-technologies%2Fetpclient-python/lists"}