https://github.com/geosiris-technologies/etpclient-python
https://github.com/geosiris-technologies/etpclient-python
client energistics etp osdu prodml python resqml witsml
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/geosiris-technologies/etpclient-python
- Owner: geosiris-technologies
- License: apache-2.0
- Created: 2022-09-26T13:04:47.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-10T15:45:43.000Z (over 1 year ago)
- Last Synced: 2025-09-11T12:54:16.319Z (9 months ago)
- Topics: client, energistics, etp, osdu, prodml, python, resqml, witsml
- Language: Python
- Homepage:
- Size: 401 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Etpclient
==========
[](https://github.com/geosiris-technologies/etpclient-python/blob/main/LICENSE)
[](https://etpclient-python.readthedocs.io/en/latest/?badge=latest)
[](https://github.com/geosiris-technologies/etpclient-python/actions/workflows/ci-tests.yml)

[](https://badge.fury.io/py/etpclient)

[](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):
...
```