Metadata-Version: 2.1
Name: vrt-lss-agro
Version: 7.23.2924
Summary: VRt.Agro [AG]
Home-page: 
Author: Veeroute Support Team
Author-email: Veeroute Support Team <servicedesk@veeroute.com>
License: Proprietary
Project-URL: Repository, https://github.com/GIT_USER_ID/GIT_REPO_ID
Keywords: OpenAPI,VRt.Agro [AG]
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: lazy-imports <2,>=1
Requires-Dist: pydantic >=2
Requires-Dist: python-dateutil >=2.8.2
Requires-Dist: typing-extensions >=4.7.1
Requires-Dist: urllib3 <3.0.0,>=2.1.0

# vrt_lss_agro
Veeroute Agro API.

# Description

The service is designed to calculate the work plan of production facilities.

## Objects overview

![objects](../images/agro_objects.svg)

### Field

- produces a certain crop of a certain moisture content
- products from the field can only be moved to the Elevator or Factory

### Elevator

- consists of Gates, Dryers, short-term and long-term storage areas
- dries the grain (if the moisture content of the crop is more than acceptable)
- stores dry grain in short-term storage places (warehouses), while unloading and loading grain is allowed within one day
- stores dry grain in long-term storage places (sleeves, trenches, mounds)
- when stored in one storage, only one type of culture can be located
- sells surplus grain to the Market
- production processes inside the facility: drying, loading / unloading to a storage location, storage

### Factory

- consists of Gates, Dryers, Bunkers, Consumers
- [if drying is present] dries the grain (if the moisture content of the crop is more than allowed)
- stores dry grain in Bunkers (short-term storage tied to a specific crop)
- maintains a minimum supply of grain for consumption in the Bunkers
- Consumes grain from Bunkers
- buys the missing grain from the Market
- production processes inside the facility: drying, loading / unloading to a storage location, storage, consumption

### Market

- buys grain from elevators
- sells grain to factories

## Project

The project reflects the planned sequence of operations on agricultural crops, the types of operations are described below.

### HARVEST

Crop harvesting:

- between production facilities (Field and Elevator or Field)
- the operation takes place within one day
- on the Field there is a determination of grain moisture

|             | Object (target_key) | Subobject (target_detail_key) |
|-------------|---------------------|-------------------------------|
| Source      | Field               | -                             |
| Destination | Elevator or Factory | Gate                          |

### DRY

Drying culture:

- inside the production facility (Elevator or Field)
- duration of the operation - days
- during the drying process, the mass and type of humidity changes (WET -> DRY)
- the source indicates the mass of raw culture
- in the appointment, the resulting mass of dry culture is indicated

|             | Object (target_key) | Subobject (target_detail_key) |
|-------------|---------------------|-------------------------------|
| Source      | Elevator or Factory | Gate                          |
| Destination | Elevator or Factory | Dryer                         |

### LOAD

Loading culture from the Gate to the Storage Location (long-term, short-term, silo):

- between parts of one production facility (Elevator or Field)
- the operation takes place within one day

|             | Object (target_key) | Subobject (target_detail_key)                    |
|-------------|---------------------|--------------------------------------------------|
| Source      | Elevator or Factory | Gate or Dryer                                    |
| Destination | Elevator or Factory | Storage location (long-term, short-term, bunker) |

### UNLOAD

Unloading the culture from the storage place to the gate:

- between parts of one production facility (Elevator)
- the operation takes place within one day

|             | Object (target_key) | Subobject (target_detail_key)                    |
|-------------|---------------------|--------------------------------------------------|
| Source      | Elevator            | Storage location (long-term, short-term, bunker) |
| Destination | Elevator            | Gate                                             |

### STORE

Culture storage:

- the operation takes place within one day
- storage location does not change

|             | Object (target_key) | Subobject (target_detail_key)                    |
|-------------|---------------------|--------------------------------------------------|
| Source      | Elevator or Factory | Storage location (long-term, short-term, bunker) |
| Destination | Elevator or Factory | The same storage location                        |

### RELOCATE

Transportation between production facilities:

- between production facilities (Elevator and Field)
- the operation takes place within one day

|             | Object (target_key) | Subobject (target_detail_key) |
|-------------|---------------------|-------------------------------|
| Source      | Elevator            | Gate                          |
| Destination | Factory             | Gate                          |

### CONSUMPTION

Field crop consumption:

- between parts of one production facility (Field)
- the operation takes place within one day
- consumption comes from the Bunker
- in addition, we can consume directly from the Gate or Dryer without laying in the Bunker

|             | Object (target_key) | Subobject (target_detail_key) |
|-------------|---------------------|-------------------------------|
| Source      | Factory             | Hopper or Gate or Dryer       |
| Destination | Factory             | Consumer                      |

### SELL

Sale of culture:

- between production facilities (Elevator and Market)
- the operation takes place within one day

|             | Object (target_key) | Subobject (target_detail_key) |
|-------------|---------------------|-------------------------------|
| Source      | Elevator            | Gate                          |
| Destination | Market              | Contract                      |

### BUY

Buying culture:

- between production facilities (Market and Factory)
- the operation takes place within one day

|             | Object (target_key) | Subobject (target_detail_key) |
|-------------|---------------------|-------------------------------|
| Source      | Market              | Contract                      |
| Destination | Factory             | Gate                          |

## Entity relationship diagram

![erd](../uml/agro.svg)


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

- API version: 7.23.2924
- Package version: 7.23.2924
- Generator version: 7.15.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen

## Requirements.

Python 3.9+

## Installation & Usage
### pip install

If the python package is hosted on a repository, you can install directly using:

```sh
pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git
```
(you may need to run `pip` with root permission: `sudo pip install git+https://github.com/GIT_USER_ID/GIT_REPO_ID.git`)

Then import the package:
```python
import vrt_lss_agro
```

### Setuptools

Install via [Setuptools](http://pypi.python.org/pypi/setuptools).

```sh
python setup.py install --user
```
(or `sudo python setup.py install` to install the package for all users)

Then import the package:
```python
import vrt_lss_agro
```

### Tests

Execute `pytest` to run the tests.

## Getting Started

Please follow the [installation procedure](#installation--usage) and then run the following:

```python

import vrt_lss_agro
from vrt_lss_agro.rest import ApiException
from pprint import pprint

# Defining the host is optional and defaults to https://api.edge7.veeroute.cloud
# See configuration.py for a list of all supported configuration parameters.
configuration = vrt_lss_agro.Configuration(
    host = "https://api.edge7.veeroute.cloud"
)

# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.

# Configure Bearer authorization (JWT): ApiKeyAuth
configuration = vrt_lss_agro.Configuration(
    access_token = os.environ["BEARER_TOKEN"]
)


# Enter a context with an instance of the API client
with vrt_lss_agro.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = vrt_lss_agro.PlanApi(api_client)
    process_code = 'process_code_example' # str | Unique process identifier.

    try:
        # Cancel calculation
        api_instance.cancel_plan_calculation(process_code)
    except ApiException as e:
        print("Exception when calling PlanApi->cancel_plan_calculation: %s\n" % e)

```

## Documentation for API Endpoints

All URIs are relative to *https://api.edge7.veeroute.cloud*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*PlanApi* | [**cancel_plan_calculation**](docs/PlanApi.md#cancel_plan_calculation) | **DELETE** /agro/plan/calculation-async/{process_code} | Cancel calculation
*PlanApi* | [**delete_plan_result**](docs/PlanApi.md#delete_plan_result) | **DELETE** /agro/plan/result/{process_code} | Result removal
*PlanApi* | [**read_plan_result**](docs/PlanApi.md#read_plan_result) | **GET** /agro/plan/result/{process_code} | Getting the result
*PlanApi* | [**read_plan_state**](docs/PlanApi.md#read_plan_state) | **GET** /agro/plan/state/{process_code} | Calculation state
*PlanApi* | [**run_plan_calculation**](docs/PlanApi.md#run_plan_calculation) | **POST** /agro/plan/calculation | Planning (SYNC)
*PlanApi* | [**run_plan_calculation_async**](docs/PlanApi.md#run_plan_calculation_async) | **POST** /agro/plan/calculation-async | Planning (ASYNC)
*PlanApi* | [**run_plan_clip**](docs/PlanApi.md#run_plan_clip) | **POST** /agro/plan/clip/{clip_key} | Clipping (SYNC)
*PlanApi* | [**run_plan_validation**](docs/PlanApi.md#run_plan_validation) | **POST** /agro/plan/validation | Data validation
*SystemApi* | [**check**](docs/SystemApi.md#check) | **GET** /agro/system/check | Checking the availability
*SystemApi* | [**file**](docs/SystemApi.md#file) | **GET** /agro/file/{filename} | Getting the documentation
*SystemApi* | [**version**](docs/SystemApi.md#version) | **GET** /agro/system/version | Getting the service version


## Documentation For Models

 - [Attribute](docs/Attribute.md)
 - [Bunker](docs/Bunker.md)
 - [CalculationAsyncResult](docs/CalculationAsyncResult.md)
 - [CalculationInfo](docs/CalculationInfo.md)
 - [CalculationSettings](docs/CalculationSettings.md)
 - [CalculationState](docs/CalculationState.md)
 - [CalculationStatus](docs/CalculationStatus.md)
 - [CapacityForecastElement](docs/CapacityForecastElement.md)
 - [Chamber](docs/Chamber.md)
 - [CheckResult](docs/CheckResult.md)
 - [Consumer](docs/Consumer.md)
 - [Contract](docs/Contract.md)
 - [ContractType](docs/ContractType.md)
 - [CostForecastElement](docs/CostForecastElement.md)
 - [Crop](docs/Crop.md)
 - [CropType](docs/CropType.md)
 - [Custom400WithErrorsAndWarnings](docs/Custom400WithErrorsAndWarnings.md)
 - [DateWindow](docs/DateWindow.md)
 - [Dryer](docs/Dryer.md)
 - [Elevator](docs/Elevator.md)
 - [EntityError](docs/EntityError.md)
 - [EntityErrorType](docs/EntityErrorType.md)
 - [EntityPath](docs/EntityPath.md)
 - [EntityType](docs/EntityType.md)
 - [EntityWarning](docs/EntityWarning.md)
 - [EntityWarningType](docs/EntityWarningType.md)
 - [Factory](docs/Factory.md)
 - [Gate](docs/Gate.md)
 - [General402](docs/General402.md)
 - [General404](docs/General404.md)
 - [General404Detail](docs/General404Detail.md)
 - [General429](docs/General429.md)
 - [General500](docs/General500.md)
 - [HumidityForecastElement](docs/HumidityForecastElement.md)
 - [Leftover](docs/Leftover.md)
 - [ManufacturingOperation](docs/ManufacturingOperation.md)
 - [Market](docs/Market.md)
 - [ModelField](docs/ModelField.md)
 - [MovementMatrixElement](docs/MovementMatrixElement.md)
 - [ObjectType](docs/ObjectType.md)
 - [OperationMeasurements](docs/OperationMeasurements.md)
 - [OperationTarget](docs/OperationTarget.md)
 - [OperationType](docs/OperationType.md)
 - [PlanResult](docs/PlanResult.md)
 - [PlanSettings](docs/PlanSettings.md)
 - [PlanStatistics](docs/PlanStatistics.md)
 - [PlanTask](docs/PlanTask.md)
 - [PriceForecastElement](docs/PriceForecastElement.md)
 - [Pricelist](docs/Pricelist.md)
 - [ProductivityForecastElement](docs/ProductivityForecastElement.md)
 - [ProjectConfiguration](docs/ProjectConfiguration.md)
 - [ProjectSettings](docs/ProjectSettings.md)
 - [SchemaError](docs/SchemaError.md)
 - [Service](docs/Service.md)
 - [Silo](docs/Silo.md)
 - [StockForecastElement](docs/StockForecastElement.md)
 - [Storage](docs/Storage.md)
 - [Tracedata](docs/Tracedata.md)
 - [UnplannedItems](docs/UnplannedItems.md)
 - [ValidateResult](docs/ValidateResult.md)
 - [VersionResult](docs/VersionResult.md)


<a id="documentation-for-authorization"></a>
## Documentation For Authorization


Authentication schemes defined for the API:
<a id="ApiKeyAuth"></a>
### ApiKeyAuth

- **Type**: Bearer authentication (JWT)


## Author

servicedesk@veeroute.com


