Metadata-Version: 2.4
Name: fairagro-middleware-shared
Version: 8.7.1.dev9
Summary: The FAIRagro advanced middleware shared components
Requires-Python: >=3.12
Requires-Dist: opentelemetry-api>=1.26.0
Requires-Dist: opentelemetry-exporter-otlp>=1.26.0
Requires-Dist: opentelemetry-instrumentation-logging>=0.47b0
Requires-Dist: opentelemetry-sdk>=1.26.0
Requires-Dist: pydantic>=2.12.5
Requires-Dist: pyyaml>=6.0.3
Description-Content-Type: text/markdown

# FAIRagro Advanced Middleware - Shared Components

This package contains shared utilities and components used across the FAIRagro Advanced Middleware system.

## Overview

The `shared` package provides:

- **Configuration Management**: Base classes and utilities for configuration handling
- **Common Models**: Pydantic models used across multiple middleware components
- **Utilities**: Helper functions and classes for common operations

## Components

### Configuration (`middleware.shared.config`)

Configuration utilities including:

- `ConfigWrapper`: Base class for configuration management
- Environment variable handling
- Configuration validation with Pydantic

### Models

Shared Pydantic models for data validation and serialization across the middleware.

## Usage

This package is used as a dependency by other middleware components:

- `api`: The main REST API
- `api_client`: Client library for API interaction
- `inspire_to_arc`: INSPIRE metadata to ARC conversion

## Dependencies

- `pydantic>=2.12.4`: Data validation and settings management

## Development

Install in development mode:

```bash
uv sync --package shared
```

Run tests:

```bash
uv run pytest middleware/shared/tests
```
