Skip to main content

depfix

Dependabot for APIs. Automatically detects breaking API/SDK changes, finds every affected line in your code, generates fixes, runs your tests, and opens a PR.

CI License: MIT Python 3.11+


The problem

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

Dependabot bumps version numbers. depfix fixes your code.

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 breaking changes
Scan Clones your repo, finds every call-site using the affected API, detects version drift
Plan Generates LLM-written fixes for breaking changes, version bumps for minor drift, runs your test suite to verify
Apply Applies the verified fixes and opens a pull request

Quick start

pip install depfix

# Scan a repo for OpenAI breaking changes
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

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 }}

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

  • Finds call-sites, not just version numbers. depfix traces imports to actual API usage across your codebase.
  • 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.
  • 27+ providers. Not just OpenAI and Stripe. Real coverage across the APIs developers actually use.
  • Honest confidence. Every finding has a confidence level (HIGH/MEDIUM/LOW). depfix doesn't guess.

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
DATABASE_URL SQLite (default) or Postgres DSN

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
make lint        # ruff check
make typecheck   # mypy
make eval        # deterministic eval corpus (CI gate, 91%+)

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

MIT

Metadata

Release files for depfix-ai 0.2.0

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.0
File Size Uploaded
depfix_ai-0.2.0.tar.gz 417.4 kB Details

Built distribution (wheel)

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

Total release size: 941.9 kB

Release files / depfix_ai-0.2.0.tar.gz

Download URL depfix_ai-0.2.0.tar.gz
Size 417.4 kB
Tags Source
SHA-256 checksum
How to use checksums
752253262285bd938825f97a4b179e6b78dabe6bf7274ef5d1fe6034fc5f13f0
BLAKE2b-256 checksum
How to use checksums
6ef23df280f6774c34cd631054e5f6bd4244dea9da688dc926048fcdc011f524
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.0-py3-none-any.whl

Download URL depfix_ai-0.2.0-py3-none-any.whl
Size 524.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
00d4288db7e538da4a58747a6980941b6f2fdc755665a96e37dd86b5dcee2444
BLAKE2b-256 checksum
How to use checksums
3b679949bfeef7bea668a77591ea5aa4aacea2ba959a97f86eeb229e9d340aec
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

0.2.1

2 release files

This release

0.2.0 This release

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