Metadata-Version: 2.4
Name: compatibillabuddy
Version: 0.1.0
Summary: Hardware-aware dependency compatibility framework for Python ML stacks
Project-URL: Homepage, https://github.com/jemsbhai/compatibillabuddy
Project-URL: Repository, https://github.com/jemsbhai/compatibillabuddy
Project-URL: Issues, https://github.com/jemsbhai/compatibillabuddy/issues
Author-email: Muntaser Syed <muntaser@ieee.org>
Maintainer-email: Muntaser Syed <jemsbhai@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: compatibility,cuda,dependencies,gpu,jax,machine-learning,nvidia,packaging,pytorch,tensorflow
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
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: Topic :: Software Development :: Libraries
Classifier: Topic :: System :: Systems Administration
Requires-Python: >=3.10
Requires-Dist: packaging>=24.0
Requires-Dist: pydantic>=2.0
Requires-Dist: rich>=13.0
Requires-Dist: tomli>=2.0; python_version < '3.11'
Requires-Dist: typer>=0.9
Provides-Extra: agent
Requires-Dist: google-genai>=1.0; extra == 'agent'
Provides-Extra: all
Requires-Dist: google-genai>=1.0; extra == 'all'
Requires-Dist: pytest-cov>=5.0; extra == 'all'
Requires-Dist: pytest>=8.0; extra == 'all'
Requires-Dist: ruff>=0.8; extra == 'all'
Provides-Extra: dev
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.8; extra == 'dev'
Description-Content-Type: text/markdown

# 🐾 Compatibillabuddy

**Hardware-aware dependency compatibility framework for Python ML stacks.**

[![PyPI version](https://img.shields.io/pypi/v/compatibillabuddy)](https://pypi.org/project/compatibillabuddy/)
[![Python](https://img.shields.io/pypi/pyversions/compatibillabuddy)](https://pypi.org/project/compatibillabuddy/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

---

Compatibillabuddy diagnoses and repairs dependency conflicts in Python ML environments — especially the ones that install fine but crash at runtime because of GPU drivers, CUDA mismatches, or ABI breaks.

## The Problem

```
$ pip install torch numpy pandas scikit-learn
# ✅ Successfully installed ...

$ python -c "import torch; print(torch.cuda.is_available())"
# ❌ False — wrong CUDA version for your driver

$ python -c "import sklearn"
# ❌ ImportError: numpy ABI incompatibility
```

Traditional resolvers (`pip`, `uv`, `poetry`) solve **version constraints** — but ML environments fail because of **hardware mismatches**, **ABI breaks**, and **runtime incompatibilities** that metadata alone can't capture.

## What Compatibillabuddy Does

- 🔍 **Probes your hardware** — GPU, CUDA driver, CPU features, OS — without importing heavy ML packages
- 🩺 **Diagnoses your environment** — detects known-bad combinations from a curated knowledge base
- 💡 **Explains what's wrong** — human-readable reports with exact fix commands
- 🤖 **AI Agent** — Gemini-powered assistant that can diagnose and repair your environment interactively
- 🔒 **Standards-first** — emits `pylock.toml` (PEP 751), aligns with PEP 817 wheel variants

## Installation

```bash
pip install compatibillabuddy
```

With AI agent support:

```bash
pip install "compatibillabuddy[agent]"
```

## Quick Start

```bash
# Diagnose your current environment
compatibuddy doctor

# Get a detailed explanation of issues
compatibuddy explain

# Let the AI agent fix it (requires Gemini API key)
compatibuddy agent doctor
```

## Development

```bash
git clone https://github.com/jemsbhai/compatibillabuddy.git
cd compatibillabuddy
pip install -e ".[dev]"
pytest
```

## License

MIT — see [LICENSE](LICENSE).

## Author

**Muntaser Syed** — [muntaser@ieee.org](mailto:muntaser@ieee.org)
