Metadata-Version: 2.1
Name: supercontrast
Version: 0.0.2
Summary: supercontrast is a package for unifying machine learning models across providers
Home-page: https://github.com/supercontrast-ai/supercontrast
Author: supercontrast
Author-email: shravan@supercontrast.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic==2.9.2
Requires-Dist: pillow==10.4.0
Requires-Dist: black==24.10.0
Requires-Dist: isort==5.13.2
Requires-Dist: pytest==8.3.3
Requires-Dist: jiwer==3.0.4
Requires-Dist: nltk==3.9.1
Requires-Dist: num2words==0.5.13
Requires-Dist: sacrebleu==2.4.3
Requires-Dist: langchain==0.3.3
Requires-Dist: langchain_anthropic==0.2.3
Requires-Dist: langchain_openai==0.2.2
Requires-Dist: boto3==1.35.38
Requires-Dist: google-api-python-client==2.149.0
Requires-Dist: google-auth-oauthlib==1.2.1
Requires-Dist: google-auth-httplib2==0.2.0
Requires-Dist: google-auth==2.35.0
Requires-Dist: google-api-core==2.21.0
Requires-Dist: google-cloud-vision==3.7.4
Requires-Dist: google-cloud-translate==3.16.0
Requires-Dist: google-cloud-speech==2.27.0
Requires-Dist: google-cloud-language==2.14.0
Requires-Dist: msrest==0.7.1
Requires-Dist: azure-ai-textanalytics==5.3.0
Requires-Dist: azure-cognitiveservices-vision-computervision==0.9.0
Requires-Dist: azure-ai-translation-text==1.0.1
Requires-Dist: azure-core==1.31.0
Requires-Dist: azure-cognitiveservices-speech==1.41.1
Requires-Dist: openai==1.51.2

# supercontrast
<h4 align="center">
    <a href="https://pypi.org/project/supercontrast/" target="_blank">
        <img src="https://img.shields.io/pypi/v/supercontrast.svg" alt="PyPI Version">
    </a>
    <a href="https://www.ycombinator.com/companies/supercontrast">
        <img src="https://img.shields.io/badge/Y%20Combinator-F24-orange?style=flat-square" alt="Y Combinator F24">
    </a>
    <a href="https://discord.gg/R9TSAc23">
        <img src="https://img.shields.io/static/v1?label=Chat%20on&message=Discord&color=blue&logo=Discord&style=flat-square" alt="Discord">
    </a>
    <a href="https://docs.supercontrast.com/" target="_blank">
        <img src="https://img.shields.io/badge/docs-latest-blue.svg" alt="Documentation Status">
    </a>
</h4>

`supercontrast` is a package for easily running machine learning models from a variety of providers in a unified interface. We're adding more tasks and providers all the time, and would love help from the community to add more!


We currently support the following tasks:

- **OCR**
- **Sentiment Analysis**
- **Transcription**
- **Translation**

From some of the most popular providers:

- **AWS**
- **Azure**
- **GCP**
- **OpenAI**
- **Anthropic**
- **...and more!**


## Installation

```bash
pip install supercontrast
```

**NOTE:** `supercontrast` is supported on Python 3.12, it may be unstable on other versions. If you have conda installed, you can create an environment with the required packages using the `environment.yml` file:

```bash
conda env create -f environment.yml
```

## Usage

```python
from supercontrast import (
    Provider,
    SentimentAnalysisRequest,
    SuperContrastClient,
    Task,
)

# Sending a Sentiment Analysis Request to AWS
client = SuperContrastClient(task=Task.SENTIMENT_ANALYSIS, providers=[Provider.AWS])
input_text = "I love programming in Python!"
response, metadata = client.request(SentimentAnalysisRequest(text=input_text))
```

For more examples of how to use `supercontrast`, refer to [examples.py](examples/examples.py) in the [examples](examples/) folder.

## Contributing

We welcome contributions to the project! To contribute, please follow these steps:

### 1. Clone the repo

```bash
git clone https://github.com/supercontrast/supercontrast.git
```

### 2. Install package

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

### 3. Run linting

```bash
black .
isort .
```

### 4. Run tests

```bash
pytest -k <test_name>
```

### 5. Submit a PR

Submit a PR to the main branch! We will review and merge your PR.









