Metadata-Version: 2.1
Name: focus-spec-validator
Version: 0.5.2.dev1
Summary: FOCUS spec validator.
Requires-Python: >=3.8.3,<4.0.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: numpy (>=1.24,<1.25) ; python_version >= "3.8" and python_version < "3.9"
Requires-Dist: numpy (>=1.26,<1.27) ; python_version >= "3.12" and python_version < "3.13"
Requires-Dist: pandas (>=2,<3)
Requires-Dist: pandera (>=0.17.2,<0.18.0)
Requires-Dist: pyarrow
Requires-Dist: pydantic (>=2,<3)
Requires-Dist: python-magic
Requires-Dist: pytz (>=2023.3.post1,<2024.0)
Requires-Dist: pyyaml
Requires-Dist: requests
Requires-Dist: tabulate
Description-Content-Type: text/markdown

# FOCUS (FinOps Open Source Cost and Usage Specification) Validator

Validator resource for checking datasets against the [FOCUS](https://focus.finops.org) specification.

## Overview

tbd

## Environment Setup

### Prerequisites

- Python 3.8+
- Poetry (Package & Dependency Manager)

### Installation

#### 1. Install Poetry

If you haven't installed Poetry yet, you can do it by running:

```bash
curl -sSL https://install.python-poetry.org | python3 -
```

For alternative installation methods or more information about Poetry, please refer to
the [official documentation](https://python-poetry.org/docs/).

#### 2. Clone the repository

```bash
git clone https://github.com/finopsfoundation/focus-spec-validator.git
cd focus-spec-validator
```

#### 3. Install dependencies

Using Poetry, you can install the project's dependencies with:

```bash
poetry install
```

## Usage

Activate the virtual environment:

```bash
poetry shell
```

Validations can be run using cli application `focus-validator`.

For help and more options:

```bash
focus-validator --help
```

## Running Tests

If you have tests for your project, you can run them with:

```bash
poetry run pytest
```

Ensure you have `pytest` defined as a development dependency in your `pyproject.toml`.

## License

This project is licensed under the MIT License - see the `LICENSE` file for details.

