Skip to main content

loopgrade

Autonomous dependency upgrader powered by LangGraph and LLMs.

Upgrades your dependencies one at a time, runs your tests, reverts what breaks — without you touching anything.


The Problem

Running ncu -u or pip install --upgrade upgrades everything at once. When something breaks you have no idea which package caused it. So you don't upgrade. Deps rot. Security patches pile up.

loopgrade fixes this — one dependency at a time.


How It Works

  1. Detects all outdated dependencies
  2. Picks one, checks for version conflicts before touching any file
  3. Upgrades it, runs your tests
  4. Tests pass → keeps the change, moves to next dep
  5. Tests fail → reverts the file automatically, logs the reason
  6. Gives you a full report of what upgraded, what failed, and why

Installation

pip install loopgrade

Prerequisites:

  • Python 3.10+
  • For npm projects: npm install -g npm-check-updates
  • A Groq or Gemini API key (both have free tiers)

Quick Start

cd your-project
loopgrade init
# add your API key to .env
loopgrade run

Supported Package Managers

  • npm (package.json)
  • pip (requirements.txt)

Configuration

{
  "llm_provider": "groq",
  "model": "llama-3.3-70b-versatile",
  "max_iterations": 20,
  "max_retries_per_dep": 3,
  "package_manager": "npm",
  "test_command": "npm test",
  "skip_major_versions": false,
  "skip": []
}

Release files for loopgrade 0.1.2

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

Source distribution (sdist)

Source distribution for loopgrade 0.1.2
File Size Uploaded
loopgrade-0.1.2.tar.gz 24.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for loopgrade 0.1.2
File Interpreter ABI Platform
loopgrade-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 53.9 kB

Release files / loopgrade-0.1.2.tar.gz

Download URL loopgrade-0.1.2.tar.gz
Size 24.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c6d3ccc2ac4060b41257e083d223dc689ea77d51b00d19d6ad340ac8d698bd4c
BLAKE2b-256 checksum
How to use checksums
ee0262fb650065d6f19b32542a5768d2df427e6c1d1fd4451834b00aeb94de69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / loopgrade-0.1.2-py3-none-any.whl

Download URL loopgrade-0.1.2-py3-none-any.whl
Size 29.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b8876f7d9486e4012517c17bf611471eaf7d0b465d056371e4afec19b6b8fcc3
BLAKE2b-256 checksum
How to use checksums
64c6355037597f75f658e857bac9ebb02401f298340f0632865928389bf9ebe2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.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