Metadata-Version: 2.3
Name: argo-metadata-validator
Version: 0.0.2
Summary: Validator for ARGO sensor metadata JSON
License: EUPL-1.2
Keywords: argo,metadata,validation
Author: Matt McCormack
Author-email: matcor@noc.ac.uk
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: European Union Public Licence 1.2 (EUPL 1.2)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: click (>=8.2.1,<9.0.0)
Requires-Dist: importlib-metadata (==7.2.1)
Requires-Dist: jsonschema (>=4.25.1,<5.0.0)
Requires-Dist: poetry-dynamic-versioning (>=1.1.0,<2.0.0)
Requires-Dist: pydantic (>=2.11.9,<3.0.0)
Requires-Dist: referencing (>=0.36.2,<0.37.0)
Requires-Dist: requests (>=2.32.5,<3.0.0)
Project-URL: Repository, https://github.com/euroargodev/argo-metadata-validator
Description-Content-Type: text/markdown

# Argo Metadata Validator

Validator for ARGO sensor metadata JSON.

Schema definitions are taken from https://github.com/euroargodev/sensor_metadata_json.

Package: https://pypi.org/project/argo-metadata-validator

## Usage

Install the package with `pip install argo-metadata-validator`.

You can validate files from the command line as follows
```
argo-validate file_1.json,file_2.json
```

To see the available CLI options you can run `argo-validate --help`.

TODO: Add Non-CLI usage example.


## Development

[Poetry](https://python-poetry.org/) is used to manage the building of this package and managing the package dependencies.

To run the script locally:
- `poetry install`
- `poetry run argo-validate`

For example, from the root of the repo
```
poetry run argo-validate tests/files/valid_sensor.json
```

To run lint/tests, first install dev dependencies ``poetry install -with dev``

- ``poetry run task lint`` - Check linting
- ``poetry run task format`` - Autofix lint errors (where possible)
- ``poetry run task test`` - Run unit tests


### Releasing a new version

This done by creating a new release in Github. Make sure the created tag follows SemVer conventions.

