Skip to main content

AI-powered agentic dependency manager that analyzes changelogs and safely upgrades packages.

Project description

Anvil - An Agentic Dependency Manager

Anvil is an AI-powered dependency upgrade system that autonomously analyzes, reasons about, and applies package updates.

Features

Autonomous upgrade analysis with AI-powered reasoning
Multi-format support: requirements.txt, poetry, uv, and conda environments
Breaking change prediction and mitigation strategies
Safe rollback on failure
Changelog forensics to understand what's changing

Installation

Recommended: Install via pipx for isolation.

pipx install anvil-py

Or with pip (not recommended as it may conflict with project dependencies):

pip install anvil-py

Configuration

Anvil requires an LLM to perform AI analysis. You have two options:

Option 1: Local Ollama (Free)

Install and run Ollama locally:

# Install Ollama, then pull a model
ollama pull llama3.2

Anvil will automatically use Ollama if it's running on localhost:11434.

Option 2: OpenAI API

Set your OpenAI API key:

export OPENAI_API_KEY="sk-..."

Anvil will use OpenAI's models for analysis when the API key is present.

Quick Start

Go to your project directory (supports pip, poetry, or uv) and run:

anvil upgrade

Anvil will:

  1. Detect your dependencies.
  2. Check for updates.
  3. Fetch changelogs & perform AI Forensic Analysis.
  4. Safely Trial Install, Test, and Commit upgrades.

Usage

Interactive Upgrade (Recommended)

The main way to use Anvil is the interactive wizard:

anvil upgrade

Analysis Only (Dry Run)

If you just want to see what packages are outdated and read their changelogs without making changes:

anvil check .

Check Version

anvil version

Development

If you want to contribute to Anvil:

Check out TODO.md for a list of planned features and improvements you can help with! Other contributions are also welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

# Run tests
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

anvil_py-0.1.0.tar.gz (86.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

anvil_py-0.1.0-py3-none-any.whl (31.0 kB view details)

Uploaded Python 3

File details

Details for the file anvil_py-0.1.0.tar.gz.

File metadata

  • Download URL: anvil_py-0.1.0.tar.gz
  • Upload date:
  • Size: 86.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for anvil_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7332d74548907b831712b8daca019f4a7e1e3c839ea7acce5ad2849d3981d10c
MD5 c4523d727cd5e94c15d32baac4c49028
BLAKE2b-256 b2b7bbe6174a077635a8480be963b8831d6a9641597452272be6f6b9ce4a580e

See more details on using hashes here.

File details

Details for the file anvil_py-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: anvil_py-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.12

File hashes

Hashes for anvil_py-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23e908fe2d1dd5dc8d1055c7e4dc35ac8189c74934333f831209bcd9512bf056
MD5 412bd72b50316b3ad4eee2e8d21a2688
BLAKE2b-256 5193d15ecde69029511599f918d568cd75e8d03dbc88490555d24f72222f3ce4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page