The OSDU CLI uses the [Python Click](https://click.palletsprojects.com/en/8.0.x/) package to simplify the development experience. Code is located under the _src/osducli_ folder as follows:
| ├── crs/ <- Coordinate Reference System (CRS) service commands
| ├── dataload/ <- Data loading commands
| ├── entitlements/ <- Entitlements commands
| ├── file/ <- File commands
| ├── legal/ <- Legal commands
| ├── list/ <- List information
| ├── schema/ <- Schema commands
...
...
@@ -15,11 +23,14 @@ The OSDU CLI uses the [Python Click](https://click.palletsprojects.com/en/8.0.x/
| ├── storage/ <- Storage commands
| ├── unit/ <- Unit commands
| ├── version/ <- Version command
| ├── wellbore-ddms/ <- Wellbore ddms commands
| └── workflow/ <- Workflow commands
├── util <- Utility / helper functions
| ├── exceptions.py <- CLI specific exceptions
| ├── file.py <- File helper functions
| └── prompt.py <- Prompting for information
| ├── prompt.py <- Prompting for information
| ├── pypi.py <- Get latest version from pypi
| └── service_info.py <- Service information
├── __init__.py <- Contains the CLI version number
├── __main__.py <- Main entry point and command loading
├── click_cli.py <- Click helpers including state and command decorators
...
...
@@ -42,7 +53,7 @@ __click_command_ functions (commands) should be decorated with the following:
## Calling OSDU API's
The cliclient.py module contains the _CliOsduClient _class that simplifies interacting with the OSDU backend. _CliOsduClient _currently uses the separate osdu-sdk package which contains backend code seperated out from the original CLI. Future updates might align with a future OSDU standard SDK. Using the _CliOsduClient_ you can make HTTP REST calls direclty agains the API's. Certain API's e.g. Search have wrapper classes that simplify the API usage.
The cliclient.py module contains the _CliOsduClient _class that simplifies interacting with the OSDU backend. _CliOsduClient _currently uses the separate osdu_api package which is the OSDU forum maintained Python SDK. Using the _CliOsduClient_ you can make HTTP REST calls directly against the OSDU API's. Certain API's e.g. Search have wrapper classes that simplify the API usage.