Metadata-Version: 2.2
Name: ailabel
Version: 0.1.0
Summary: A tool for creating and managing labeled datasets for AI training
Author: AILabel Contributors
License: MIT
Project-URL: Homepage, https://github.com/yourusername/ailabel
Project-URL: Bug Tracker, https://github.com/yourusername/ailabel/issues
Keywords: ai,machine-learning,labeling,datasets,classification
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Utilities
Requires-Python: >=3.13
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: google-generativeai>=0.8.3
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: requests>=2.32.3
Requires-Dist: sqlmodel>=0.0.22
Requires-Dist: typer>=0.15.1
Provides-Extra: test
Requires-Dist: pytest>=8.1.1; extra == "test"
Requires-Dist: pytest-cov>=4.1.0; extra == "test"

# AILabel

A tool for creating and managing labeled datasets for AI training.

## Features

- Create and manage topics (categories for classification)
- Label text payloads within topics
- Predict labels for new data using AI (Google Gemini)
- Fast, Unix-style CLI with streaming and batch processing support

## Installation

### From PyPI

```bash
# Install from PyPI
pip install ailabel

# For development, install test dependencies
pip install "ailabel[test]"
```

### From Source

```bash
# Clone the repository
git clone https://github.com/yourusername/ailabel.git
cd ailabel

# Install the package
pip install -e .

# For development, install test dependencies
pip install -e ".[test]"
```

## Usage

```bash
# Create a new topic
label topics new sentiment

# List all topics
label topics list

# Get information about a topic
label topics info sentiment --labels

# Label a payload
label label "This product is amazing!" --topic=sentiment --as=positive

# Label from stdin
echo "This product is amazing!" | label label - --topic=sentiment --as=positive

# Interactive labeling
label label --topic=sentiment --interactive

# JSON output format
label label "Product was great" --topic=sentiment --as=positive --json

# Predict a label for a new payload
label predict "I love this product" --topic=sentiment

# Predict from stdin and get JSON output
echo "I love this product" | label predict - --topic=sentiment --json

# Process multiple items in batch mode
cat items.txt | label predict - --topic=lang-or-animal --batch

# Show debug information
label --debug
```

## Environment Variables

Create a `.env.secret` file with the following variables:

```
GEMINI_API_KEY=your_gemini_api_key
```

## Development

### Running Tests

```bash
# Run all tests
pytest

# Run tests with coverage
pytest --cov=ailabel
```

## License

MIT 
