Metadata-Version: 2.1
Name: aind-metadata-validator
Version: 0.7.5
Summary: Generated from aind-library-template
Author: Allen Institute for Neural Dynamics
License: MIT
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic
Requires-Dist: aind-data-schema
Requires-Dist: aind-data-access-api[docdb]
Requires-Dist: aind-data-access-api[rds]
Requires-Dist: pandas
Provides-Extra: dev
Requires-Dist: black ; extra == 'dev'
Requires-Dist: coverage ; extra == 'dev'
Requires-Dist: flake8 ; extra == 'dev'
Requires-Dist: interrogate ; extra == 'dev'
Requires-Dist: isort ; extra == 'dev'
Requires-Dist: Sphinx ; extra == 'dev'
Requires-Dist: furo ; extra == 'dev'

# aind-metadata-validator

This package includes helper functions for validating metadata from `aind-data-schema`, individual files in a metadata.json file, and the fields within each file.

All validation returns a `MetadataState` enum, see `utils.py`

## Metadata validation

Returns a dictionary where each key is `metadata`, a `file`, or a `file.field` and the value is the `MetadataState`.

```
from aind_metadata_validator.metadata_validator import validate_metadata

m = Metadata()

results_df = validate_metadata(m.model_dump())
```

## Redshift sync

The package also includes a function `run()` in `sync.py` that will validate the entire DocDB and push the results to redshift.

`pip install aind-metadata-validator`

```
from aind_metadata_validator.sync import run

run()
```
