Skip to main content

depfix

Dependabot for APIs. When a provider ships a breaking change, depfix scans your codebase, finds every affected call-site, generates verified fixes, and opens a pull request.

CI PyPI version Python 3.11+ License

pip install depfix-ai

The Problem

Over 30% of service downtime traces back to external API/package changes going unnoticed. Breaking changes ship without warning. Changelogs don't get read. Teams discover the breakage in production.

Dependabot bumps version numbers. depfix fixes your code.

[ Traditional Dependency Bumper ]
  package.json: openai@3.x  -->  openai@4.x  --> Runtime errors everywhere

[ depfix ]
  1. Detects the breaking change from provider feeds
  2. Scans your codebase for every affected call-site
  3. Generates LLM-verified code fixes
  4. Runs your test suite before and after
  5. Opens a ready-to-merge PR

How It Works

watch --> scan --> plan --> apply --> PR
Step What Happens
Watch Polls 27+ provider feeds (npm, PyPI, GitHub releases, OpenAPI diffs) for new versions and classified breaking changes
Scan Clones your repo, traces imports to actual API usage, finds every call-site with confidence scoring (HIGH/MEDIUM/LOW)
Plan Matches breaking changes to detected call-sites, generates LLM-written fixes, runs your test suite to verify each fix
Apply Applies verified fixes, composes version bump + API migration into one PR

Quick Start

Installation

pip install depfix-ai

Note: The PyPI package name is depfix-ai. The CLI command is depfix.

Basic Usage

# Initialize local database and provider feeds
depfix init

# Scan a repo for breaking changes against a specific provider
depfix scan --repo your-org/your-app --provider openai

# Generate a fix plan (no PR yet)
depfix plan your-org/your-app --provider stripe

# Apply fixes and open a PR
depfix apply your-org/your-app --provider sentry

Full Pipeline (Single Command)

# Run the full pipeline: scan + plan + apply
bash scripts/test_pipeline.sh openai:your-org/your-app

Supported Providers

27+ providers out of the box. depfix auto-discovers new providers from npm, PyPI, and RubyGems.

Category Providers
AI/ML OpenAI, Anthropic, Google Cloud AI, LangChain, Vercel AI SDK
Payments Stripe
Auth Clerk, Supabase, Auth0
Databases MongoDB, Redis, PostgreSQL, MySQL, Prisma, Elasticsearch
Observability Sentry, PostHog, Datadog, New Relic
Messaging Twilio, SendGrid, Slack, Discord
Cloud AWS S3, Firebase, Google Cloud, Cloudflare
Other Algolia, Kafka, RabbitMQ, Astro, Octokit

Supported Ecosystems

Ecosystem Scan Fix Verify
JavaScript / TypeScript (npm) Yes Yes Yes
Python (PyPI) Yes Yes Yes
Ruby (RubyGems) Yes Yes Yes
Go Yes -- --
Java, Kotlin, Rust, PHP, C#, Swift Yes -- --

What Makes depfix Different

  • Call-site detection, not just version numbers. depfix traces imports to actual API usage across your codebase. It finds the exact lines that break.
  • Verified fixes. Every generated fix runs your test suite before and after. Broken fixes never reach a PR.
  • Deterministic where possible. OpenAPI diffs and semver comparisons don't need an LLM. Only actual code rewrites use one.
  • Version drift + API migration in one PR. depfix composes package.json version bumps with code-level fixes into a single, reviewable pull request.
  • Honest confidence scoring. Every finding has a confidence level (HIGH/MEDIUM/LOW). depfix doesn't guess.

GitHub Action

Add to .github/workflows/depfix.yml:

name: depfix
on:
  schedule:
    - cron: '0 8 * * 1'  # every Monday at 8am
  workflow_dispatch:

jobs:
  depfix:
    runs-on: ubuntu-latest
    steps:
      - uses: bedilk/depfix-agents@main
        with:
          provider: openai,stripe,sentry
          mode: apply
          api-key: ${{ secrets.GOOGLE_API_KEY }}

CLI Reference

depfix init                                        # set up local database and integrations
depfix watch --once                                # poll feeds for new changes
depfix scan --repo org/app --provider stripe       # find affected call-sites
depfix plan org/app --provider stripe              # generate verified fixes
depfix apply org/app --provider stripe             # open a PR with the fixes
depfix eval --no-llm                               # run deterministic test corpus

Configuration

All config is via environment variables or .env file:

Variable Purpose
GOOGLE_API_KEY Google Generative AI key (for Gemini)
LLM_PROVIDER gemini, bedrock, or ollama
GITHUB_APP_ID GitHub App for remote repo scanning
GITHUB_APP_PRIVATE_KEY Private key for the GitHub App
DATABASE_URL SQLite (default) or Postgres connection string

See .env.example for the full list.

Self-Hosted

git clone https://github.com/bedilk/depfix-agents
cd depfix-agents
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
cp .env.example .env  # edit with your keys
depfix init

Docker:

docker compose up -d --build
docker compose exec app depfix scan --repo org/app --provider openai

Testing

make test        # 893 unit tests, no network, no LLM
make lint        # ruff check + format
make typecheck   # mypy strict
make eval        # deterministic eval corpus (CI gate, 91%+)

Architecture

src/depfix/
  cli.py              # CLI entry point (watch, scan, plan, apply)
  orchestrator/       # Pipeline runner, policy engine, upgrade plans
  scanners/           # Call-site detection, version applicability
  fixers/             # LLM-powered code rewriting
  classify/           # Breaking change classification from spec diffs
  core/               # Domain models, agent, change feeds
  storage/            # SQLAlchemy schema, migrations
  gh/                 # GitHub App integration, PR creation

Built By

Bedil Karimov and Tohir Saidzoda

We spent a year working with 50+ API vendors. The pattern was consistent: API communication is broken. Breaking changes ship with little warning. Useful features quietly launch and go unnoticed.

The infrastructure for automated code changes exists now. What was missing is the application layer connecting API providers to their customers' codebases. That's depfix.

License

Source Available - see LICENSE for details.

Metadata

Release files for depfix-ai 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for depfix-ai 0.2.1
File Size Uploaded
depfix_ai-0.2.1.tar.gz 419.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for depfix-ai 0.2.1
File Interpreter ABI Platform
depfix_ai-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 944.3 kB

Release files / depfix_ai-0.2.1.tar.gz

Download URL depfix_ai-0.2.1.tar.gz
Size 419.0 kB
Tags Source
SHA-256 checksum
How to use checksums
214468cd3acde0d87326021958b5fccbf588c907087710852dd5c0c7785e57d7
BLAKE2b-256 checksum
How to use checksums
32b4c75a6cc34de23a7b097a900ec6550be1bf63247eeacc0b162c04cbd650e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release files / depfix_ai-0.2.1-py3-none-any.whl

Download URL depfix_ai-0.2.1-py3-none-any.whl
Size 525.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1cebccd608aa4e2d6c0987a0fb623a1afa53ba91e8ba2bf1893612e72915a32a
BLAKE2b-256 checksum
How to use checksums
ff282339ba9a21500b6da2496d12184c6844b780eb40132c549cdc45d9aee160
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 15, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page