Skip to main content

This is a reverse search tool. Agentic Alerting

Project description

AmbiAlert

AmbiAlert Logo

Release Build status Documentation License

AmbiAlert is a powerful web monitoring tool that helps you stay informed about topics that matter to you. Instead of constantly checking websites for updates, AmbiAlert does the work for you by monitoring relevant web pages and alerting you when meaningful changes occur.

Features

  • 🔍 Smart Query Expansion: Automatically expands your search queries to cover different aspects of your topic
  • 🌐 Intelligent Web Monitoring: Tracks relevant websites and detects meaningful changes
  • 🤖 AI-Powered Relevance Checking: Uses advanced language models to ensure changes are actually relevant to your interests
  • 📧 Flexible Alerting System: Supports email notifications with more backends coming soon
  • 💾 Persistent Monitoring: Uses SQLite to track monitored URLs and their states
  • 🔄 Automatic Retries: Handles temporary failures gracefully

Installation

Using pip

pip install ambi-alert

From Source

# Clone the repository
git clone https://github.com/prassanna-ravishankar/ambi-alert.git
cd ambi-alert

# Install dependencies and set up development environment
make install

# Run tests
make test

# Check code quality
make check

# Build documentation
make docs

Quick Start

Command Line

The simplest way to use AmbiAlert is through its command-line interface:

# Monitor news about the next iPhone (prints alerts to console)
ambi-alert "next iPhone release"

# Monitor with email alerts
ambi-alert "next iPhone release" \
    --smtp-server smtp.gmail.com \
    --smtp-port 587 \
    --smtp-username your.email@gmail.com \
    --smtp-password "your-app-password" \
    --from-email your.email@gmail.com \
    --to-email target.email@example.com

# Check more frequently (every 15 minutes)
ambi-alert "next iPhone release" --check-interval 900

Python API

You can also use AmbiAlert programmatically:

from ambi_alert import AmbiAlert
from ambi_alert.alerting import EmailAlertBackend

# Create an alert backend (optional)
alert_backend = EmailAlertBackend(
    smtp_server="smtp.gmail.com",
    smtp_port=587,
    username="your.email@gmail.com",
    password="your-app-password",
    from_email="your.email@gmail.com",
    to_email="target.email@example.com"
)

# Create and run AmbiAlert
async with AmbiAlert(alert_backend=alert_backend) as ambi:
    # Add queries to monitor
    await ambi.add_monitoring_query("next iPhone release")
    await ambi.add_monitoring_query("AI breakthrough")

    # Start monitoring
    await ambi.run_monitor()

Development

Setup Development Environment

# Install dependencies and pre-commit hooks
make install

# Run tests
make test

# Check code quality
make check

# Build and serve documentation
make docs

# Build package
make build

# Build and publish to PyPI
make build-and-publish

Running Tests

# Run all tests
make test

# Test documentation
make docs-test

Documentation

Full documentation is available at https://prassanna-ravishankar.github.io/ambi-alert/.

To build and view documentation locally:

make docs

Then open http://127.0.0.1:8000 in your browser.

Contributing

Contributions are 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.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Set up development environment (make install)
  4. Make your changes
  5. Run tests and checks (make test && make check)
  6. Commit your changes (git commit -m 'Add amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

License

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

Acknowledgments

  • Built with smolagents for intelligent web search
  • Uses DuckDuckGo for web search functionality
  • Inspired by the need for proactive information monitoring

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

ambi_alert-0.0.2.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

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

ambi_alert-0.0.2-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file ambi_alert-0.0.2.tar.gz.

File metadata

  • Download URL: ambi_alert-0.0.2.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ambi_alert-0.0.2.tar.gz
Algorithm Hash digest
SHA256 071cf97b5d9404b44eabd6c7de356911a51bd0a841422c61d89c5d98118fbad6
MD5 6de657e66d7132eb8993c6db3eedf44b
BLAKE2b-256 16325163d6d5fa75fd45aee6c5263a9955dd7d0861719c3563fd728bb590b89b

See more details on using hashes here.

File details

Details for the file ambi_alert-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: ambi_alert-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for ambi_alert-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f7c5b75cd0b606eaba7a666cc7e55d1e823e9d82609a2829cd24a9164f90cccb
MD5 5533207f9c11a72370ad532166f09a3b
BLAKE2b-256 b37fa000849946942fe85279ce4d8adb3fbeef045b2f2ea971014903604da160

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