Metadata-Version: 2.4
Name: dyslexai-taxonomy
Version: 0.1.0
Summary: Shared taxonomy definitions for computer vision inspection domains
Project-URL: Homepage, https://github.com/dyslexai-cardnl/dyslexai-taxonomy
Project-URL: Repository, https://github.com/dyslexai-cardnl/dyslexai-taxonomy
Author: dyslexai-cardnl
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: building-codes,computer-vision,detection,inspection,taxonomy
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software 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
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Image Recognition
Requires-Python: >=3.10
Requires-Dist: pyyaml>=6.0
Provides-Extra: dev
Requires-Dist: black>=23.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Description-Content-Type: text/markdown

# dyslexai-taxonomy

Shared taxonomy definitions for computer vision inspection domains.

## Overview

This package provides standardized category definitions, compliance rules, and calibration data for computer vision models targeting inspection domains. Both data generation tools (kubric-stair) and runtime inference applications (spatial-vision-app) import from this shared taxonomy.

## Installation

```bash
pip install dyslexai-taxonomy
```

For development:

```bash
pip install -e ".[dev]"
```

## Usage

```python
from dyslexai_taxonomy import get_domain, list_domains

# List available domains
domains = list_domains()
# ['spatial_vision']

# Get a specific domain
domain = get_domain("spatial_vision")

# Access categories
coarse = domain.get_coarse_categories()
fine = domain.get_fine_categories()

# Get compliance rules for a category
rules = domain.get_compliance_rules("outlet")
```

### Direct imports

```python
from dyslexai_taxonomy.domains.spatial_vision import (
    COARSE_CATEGORIES,
    FINE_CATEGORIES,
    get_coarse_for_fine,
    get_compliance_rules,
    CALIBRATION_ANCHORS,
)

# Get parent category for a fine category
coarse = get_coarse_for_fine("gfci")  # Returns "outlet"

# Get standard dimensions for calibration
outlet_dims = CALIBRATION_ANCHORS["outlet"]
```

## Architecture

```
dyslexai-taxonomy (standalone)
       ↑                    ↑
       │                    │
kubric-stair          spatial-vision-app
(data generation)     (runtime inference)
```

Both projects import from dyslexai-taxonomy independently. Neither depends on the other.

## Domains

### spatial_vision

Home inspection and code compliance domain.

**Coarse Categories (15-18):**
- Wall components: outlet, switch, vent, panel, thermostat, junction_box
- Openings: door, window, cabinet_door
- Vertical transport: stair, ramp
- HVAC equipment: furnace, water_heater, ac_unit
- Safety: smoke_detector, co_detector
- Background: wall_surface, floor_surface

**Fine Categories (150+):**
Each coarse category expands to multiple fine subcategories. For example:
- outlet → duplex, gfci, usb, 240v, outdoor...
- stair → straight, l_shaped, spiral, exterior...

**Compliance Rules:**
- NEC (National Electrical Code)
- IRC (International Residential Code)
- ADA (Americans with Disabilities Act)
- NFPA (Fire safety)

## License

Apache-2.0
