eheso-api-client 0.2.1
EHESO API
Keywords: OpenAPI, OpenAPI-Generator, EHESO API

# EHESO API Client for Python

This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:

- API version: v1
- Generator version: 7.7.0
- Build package: org.openapitools.codegen.languages.PythonPydanticV1ClientCodegen

## Requirements.

Python 3.7+

# Installation & Usage
## pip install

```sh
pip install eheso-api-client
```

## Post-Installation Setup
After installing the package, you need to create a .env file in the source folder containing the API key for server access.

**Steps to Create the `.env` File:**
1. Navigate to the folder where the package is installed or the source folder of your project.
2. Create a file named `.env`.
3. Add the following line to the `.env` file:

```env
API_KEY="your_api_key_here"
```
Replace `your_api_key_here` with the actual API key provided to you.

For example:
```env
API_KEY="abcd1234efgh5678ijkl"
```
Save the `.env` file.

#### Note
- The package uses the `.env` file to securely load the API key into the application.
- Please make sure the .env file is not included in version control systems like Git (add .env to your .gitignore).

# Getting Started

The following section provides examples for the most important endpoints:

## Get All Layer Data

Retrieve all the data from a specified layer in the requested format.

For details regarding the parameters and response samples please refer to the documentation: [Get All Layer Data](https://dev.observatory.eter-project.com/api-doc/#tag/Layer-Data/operation/layerQueryGet).

```python

import json
import time
import os
import eheso_api_client
from eheso_api_client.models.format import Format
from eheso_api_client.rest import ApiException
from pprint import pprint

# See configuration.py for a list of all supported configuration parameters.
configuration = eheso_api_client.Configuration(
    host = 'https://dev.observatory.eter-project.com/api/v1'
)

# Configure API key authorization: ApiKeyAuth
configuration.api_key['ApiKeyAuth'] = os.environ['API_KEY']


# Enter a context with an instance of the API client
with eheso_api_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = eheso_api_client.LayerDataApi(api_client)
    layer_id = 'COUNTRY' # str | The ID of the layer
    format = 'flat' # Format | 

    try:
        # Get All Layer Data
        api_response = api_instance.layer_query_get(layer_id, format)
        print('The response of LayerDataApi->layer_query_get:\n')
        pprint(api_response)

        # save as json file
        with open('data.json', 'w', encoding='utf-8') as f:
            json.dump(api_response, f, ensure_ascii=False, indent=4)
    except Exception as e:
        print('Exception when calling LayerDataApi->layer_query_get: %s\n' % e)
 
```

## Query Layer Data
Retrieve data from a specified layer based on the provided parameters. This endpoint allows querying the layer for specific data, applying filters, and returning the results in the requested format.

For details regarding the parameters and response samples please refer to the documentation: [Query Layer Data](https://dev.observatory.eter-project.com/api-doc/#tag/Layer-Data/operation/layerQueryPost).

```python
import time
import os
import eheso_api_client
from eheso_api_client.models.query_post_schema import QueryPostSchema
from eheso_api_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://dev.observatory.eter-project.com/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = eheso_api_client.Configuration(
    host = "https://dev.observatory.eter-project.com/api/v1"
)


# Configure API key authorization: ApiKeyAuth
configuration.api_key["ApiKeyAuth"] = os.environ["API_KEY"]


# Enter a context with an instance of the API client
with eheso_api_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = eheso_api_client.LayerDataApi(api_client)
    layer_id = "COUNTRY" # str | The ID of the layer
    query_post_schema = {
        "format":"flat",
        "find": {
            "CY.COUNTRY.v": "AD", 
            "CY.YEAR.v": 2015
        },
        "limit":1,
        "select": [  ],
        "sort": {  }
        } # QueryPostSchema | 

    try:
        # Query Layer Data
        api_response = api_instance.layer_query_post(layer_id, query_post_schema)
        print("The response of LayerDataApi->layer_query_post:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling LayerDataApi->layer_query_post: %s\n" % e)
```

## Get Minimal Field Information
Retreive metadata for each field such as field type, name, category, and definition.

For details regarding the parameters and response samples please refer to the documentation: [Query Layer Data](https://dev.observatory.eter-project.com/api-doc/#tag/Layer-Info).

```python
import time
import os
import eheso_api_client
from eheso_api_client.models.field_info_response_inner import FieldInfoResponseInner
from eheso_api_client.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://dev.observatory.eter-project.com/api/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = eheso_api_client.Configuration(
    host = "https://dev.observatory.eter-project.com/api/v1"
)

# Configure API key authorization: ApiKeyAuth
configuration.api_key["ApiKeyAuth"] = os.environ["API_KEY"]

# Enter a context with an instance of the API client
with eheso_api_client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = eheso_api_client.LayerInfoApi(api_client)
    layer_id = "COUNTRY" # str | The ID of the layer

    try:
        # Get field information
        api_response = api_instance.field_get(layer_id)
        print("The response of LayerInfoApi->field_get:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling LayerInfoApi->field_get: %s\n" % e)
```

# License
This project is licensed under the MIT License.