Metadata-Version: 2.4
Name: hca-schema-validator
Version: 0.3.0
Summary: HCA schema validation for single-cell datasets
License: MIT
License-File: NOTICE
Author: Clever Canary
Author-email: dave@clevercanary.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Dist: anndata (>=0.11.0,<0.12)
Requires-Dist: cellxgene-ontology-guide (>=1.9.0,<2.0)
Requires-Dist: click (<9)
Requires-Dist: dask[array,dataframe] (>=2024.0.0)
Requires-Dist: duckdb (>=1.3.0,<1.4)
Requires-Dist: ibis-framework[duckdb] (>=10.3)
Requires-Dist: matplotlib (<4)
Requires-Dist: numpy (<3)
Requires-Dist: pandas (>2,<3)
Requires-Dist: pyarrow (>=19)
Requires-Dist: pysam (>=0.13.0)
Requires-Dist: pyyaml (<7)
Requires-Dist: scipy (<1.16)
Requires-Dist: semver (<4)
Requires-Dist: sparse (>=0.15.0,<0.16)
Requires-Dist: xxhash (<4)
Project-URL: Homepage, https://github.com/clevercanary/hca-validation-tools
Description-Content-Type: text/markdown

# HCA Schema Validator

HCA-specific extensions for cellxgene schema validation.

## Installation

### From PyPI (Recommended)

```bash
pip install hca-schema-validator
```

### From Source (Development)

```bash
# Clone the repository
git clone https://github.com/clevercanary/hca-validation-tools.git
cd hca-validation-tools/packages/hca-schema-validator

# Install Poetry if you haven't already
curl -sSL https://install.python-poetry.org | python3 -

# Install dependencies and package
poetry install

# Run tests
poetry run pytest tests/
```

## Usage

```python
from hca_schema_validator import HCAValidator

# Create validator instance
validator = HCAValidator()

# Validate an h5ad file
is_valid = validator.validate_adata("path/to/file.h5ad")

# Check results
if is_valid:
    print("✅ Validation passed!")
else:
    print("❌ Validation failed:")
    for error in validator.errors:
        print(f"  - {error}")
```

## Development Status

**Current Version: 0.1.0** - Minimal passthrough implementation

Currently a passthrough wrapper around cellxgene-schema Validator.
HCA-specific validation rules will be added incrementally.

## Testing

```bash
cd hca_schema_validator
poetry run pytest tests/
```

## Project Structure

```
hca_schema_validator/
├── src/
│   └── hca_schema_validator/
│       ├── __init__.py       # Package exports
│       └── validator.py      # HCAValidator class
├── tests/
│   └── test_validator.py # Unit tests
├── pyproject.toml        # Poetry configuration & dependencies
└── README.md            # This file
```

## License

MIT

