PyCompat β€” Python Package Compatibility Predictor

AI model that predicts whether a Python package version is compatible with a given system (OS, Python version, platform) and recommends the best compatible versions.

Model Details

  • Model Type: Random Forest (compatibility) + Gradient Boosting (error type)
  • Training Data: 5484 compatibility test records
  • Packages: 198 unique packages
  • Python Versions: 3.10, 3.11, 3.12, 3.9
  • Platforms: darwin_x86_64

Performance

Model Accuracy F1 Score
Compatibility 0.9708 0.97
Error Type 0.9836 0.9826

Usage

from pycompat_model import PyCompatModel

# Load model
model = PyCompatModel.load("./model")

# Single prediction
result = model.predict("boto3", "1.42.49", "3.12", "darwin_x86_64")
print(result)
# {'is_compatible': True, 'confidence': 0.9977, 'predicted_error_type': 'none', ...}

# Get recommendations
recs = model.recommend("alembic", "3.9")
for r in recs:
    status = "βœ…" if r["is_compatible"] else "❌"
    print(f"  v{r['version']} {status} ({r['confidence']:.0%})")

# Batch prediction
results = model.predict_batch([
    {"package": "boto3", "version": "1.42.49", "python_version": "3.12"},
    {"package": "alembic", "version": "1.18.4", "python_version": "3.9"},
])

Error Types Predicted

Error Type Description
none Fully compatible
no_wheel No compatible wheel/distribution found
import_error Installs but fails to import
abi_mismatch ABI incompatibility with dependencies
build_error Failed to build from source
timeout Network timeout during install

Training

from pycompat_model import PyCompatModel

model = PyCompatModel.train_from_data("data.json")
model.save("./model")
Downloads last month
10
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Evaluation results