This is a reverse search tool. Agentic Alerting
Project description
AmbiAlert
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.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Set up development environment (
make install) - Make your changes
- Run tests and checks (
make test && make check) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
071cf97b5d9404b44eabd6c7de356911a51bd0a841422c61d89c5d98118fbad6
|
|
| MD5 |
6de657e66d7132eb8993c6db3eedf44b
|
|
| BLAKE2b-256 |
16325163d6d5fa75fd45aee6c5263a9955dd7d0861719c3563fd728bb590b89b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7c5b75cd0b606eaba7a666cc7e55d1e823e9d82609a2829cd24a9164f90cccb
|
|
| MD5 |
5533207f9c11a72370ad532166f09a3b
|
|
| BLAKE2b-256 |
b37fa000849946942fe85279ce4d8adb3fbeef045b2f2ea971014903604da160
|