Skip to main content

PyPI Downloads

Ambrogio - tech debt agent

Ambrogio is an intelligent dev agent that helps tackle technical debt in your codebase. Starting with docstring improvements, it systematically enhances code quality and maintainability through automated analysis and improvements.

🎯 Mission

Our mission is to help development teams maintain high-quality codebases by automatically identifying and addressing technical debt, starting with comprehensive and accurate docstrings. Ambrogio uses advanced language models to understand your code and generate meaningful documentation.

✨ Features

Current Features

  • ✅ Smart Docstring Generation: Automatically adds clear, comprehensive docstrings to classes and methods
  • ✅ Multi-Provider Support: Works with various LLM providers through LiteLLM integration
  • ✅ Unit Test Generation (Beta): Analyzes code coverage and generates missing unit tests

🚀 Upcoming Features

  • Pre-PR test runs to prevent regressions
  • Improve existing docstrings in modified methods
  • Documentation generation for easier understanding
  • Type safety refactoring
  • Spaghetti code cleanup
  • Code formatting and best practices enforcement

📦 Installation

pip install ambrogio

🚀 Usage

Basic Usage

# Run docstring generation with default settings (uses OPENAI_API_KEY from environment)
ambrogio

# Run with custom configuration
ambrogio \
  --path /path/to/your/project \
  --api-key your-api-key \
  --model gpt-4 \
  --max-api-calls 20

# Run unit test generation (Beta)
ambrogio \
  --mode coverage \
  --max-iterations 5

⚠️ Note: The unit test generation feature is currently in beta. It must be run within your virtual environment. You need pytest installed.

Advanced Usage

# Use Azure OpenAI
ambrogio \
  --api-key your-azure-key \
  --api-base https://your-azure-deployment.openai.azure.com \
  --model gpt-4

# Use Anthropic's Claude
ambrogio \
  --api-key your-anthropic-key \
  --model claude-2

Available Options

Common Options:
--path           Path to the Python project (default: current directory)
--api-key        API key for your LLM provider (default: OPENAI_API_KEY from env)
--model          Model to use (default: gpt-4o-mini)
--api-base       Base URL for API endpoint (required for Azure, optional for others)
--mode           Mode to run in ('docstring' or 'coverage'). Default: docstring

Docstring Mode Options:
--max-api-calls  Maximum number of API calls per run (default: 12)

Coverage Mode Options:
--max-iterations Maximum number of test generation attempts per file (default: 3)

Environment Variables

  • OPENAI_API_KEY: Default API key if not provided via command line

🔧 Supported LLM Providers

Ambrogio uses LiteLLM for multi-provider support. You can use any of these providers:

  • OpenAI (GPT-3.5, GPT-4)
  • Azure OpenAI
  • Anthropic (Claude)
  • And many more! Check LiteLLM's documentation for the full list

🤝 Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests

📝 License

This project is licensed under the GPL-3.0 License - see the LICENSE file for details.

Maintainers

Metadata

Release files for ambrogio 0.1.9

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

Source distribution (sdist)

Source distribution for ambrogio 0.1.9
File Size Uploaded
ambrogio-0.1.9.tar.gz 31.3 kB Details

Built distribution (wheel)

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

Total release size: 68.0 kB

Release files / ambrogio-0.1.9.tar.gz

Download URL ambrogio-0.1.9.tar.gz
Size 31.3 kB
Tags Source
SHA-256 checksum
How to use checksums
271e54443fe517b511bc560a219005369213ce1ff643b012210d893734445a89
BLAKE2b-256 checksum
How to use checksums
1aa15f9df5e5b2066442c3f5e4ccdce86342800225538764da680f4542ddfe69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.1 Darwin/23.3.0

Release files / ambrogio-0.1.9-py3-none-any.whl

Download URL ambrogio-0.1.9-py3-none-any.whl
Size 36.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
168400d8bab13bd9bd58df8a62514205d747dcd893eb53e8f679c17474c10710
BLAKE2b-256 checksum
How to use checksums
a437d036b9a9d6e3caa9517ab598db3d188f7a44674a55177ed02e3dfef3957e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.0.1 CPython/3.13.1 Darwin/23.3.0

Release history Release notifications | RSS feed

This release

0.1.9 This release

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

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