inv-agent


Nameinv-agent JSON
Version 0.1.6 PyPI version JSON
download
home_pageNone
SummaryClinic inventory assistant powered by LLM and inventory management tools.
upload_time2025-07-23 13:11:27
maintainerNone
docs_urlNone
authorpavans
requires_python<4.0,>=3.9
licenseMIT
keywords inventory clinic llm assistant
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Medical Inventory Management Agent

This medical inventory management agent that uses LangGraph with Ollama for natural language processing and automated inventory operations.

## Features

- Natural language inventory management
- Medicine stock tracking and alerts
- Automated email notifications for low stock
- Restock request automation
- Expiry monitoring

## Requirements

- Python 3.8+
- Ollama running locally
- Required Python packages (install via requirements.txt)

## Installation

1. Clone the repository
2. Install dependencies:
   ```bash
   pip install -r requirements.txt
   ```

3. Set up Ollama and download a compatible model (e.g., llama3.1:latest)

4. Create a `.env` file in the project root with the following variables:
   ```
   SENDER_EMAIL=""
   SENDER_PASSWORD=""
   RECEIVER_EMAIL=""
   MANAGER_EMAIL=""
   SUPPLIER_EMAIL=""
   MANAGER_PHONE=""
   OLLAMA_URL=""
   OLLAMA_MODEL_NAME=""
   ```

## Environment Variables

- `SENDER_EMAIL`: Email address for sending notifications
- `SENDER_PASSWORD`: Password for sender email account
- `RECEIVER_EMAIL`: Default recipient email address
- `MANAGER_EMAIL`: Manager's email for inventory alerts
- `SUPPLIER_EMAIL`: Supplier's email for restock requests
- `MANAGER_PHONE`: Manager's phone number (optional)
- `OLLAMA_URL`: Ollama server URL (e.g., http://localhost:11434)
- `OLLAMA_MODEL_NAME`: Ollama model name (e.g., llama3.1:latest)

## Database Setup

The system automatically creates an SQLite database (`inventory.db`) on first run. If an `annual_po.json` file exists in the project directory, it will load dummy data during initialization.

## Usage

Run the main application:
```bash
python main.py
```

The system supports natural language commands for:
- Reading medicine information
- Adding new medicines
- Updating stock quantities
- Setting stock alert thresholds
- Removing medicines from inventory
- Deleting medicine entries
- Sending restock requests

## Available Operations

- **Read Medicine**: Check medicine details and stock levels
- **Add Medicine**: Add new medicines to inventory
- **Update Stock**: Increase or decrease medicine quantities
- **Set Alert**: Configure low stock alert thresholds
- **Remove Stock**: Remove specified quantities from inventory
- **Delete Medicine**: Completely remove medicine from inventory
- **Restock Request**: Send automated restock emails to suppliers

## Database Schema

The system uses a SQLite database with the following main table structure:
- `medicines`: Stores medicine information including drug ID, name, generic name, manufacturer, batch number, expiry date, quantity, unit, price, location, and alert threshold

## Logging

The system includes comprehensive logging for all operations, accessible through the logger module.

## Email Notifications

Automated email notifications are sent for:
- Low stock alerts
- Out of stock alerts
- Restock requests to suppliers
- Expiry monitor report

## File Structure

- `main.py`: Main application file with agent workflow
- `inventory_tools.py`: Database operations and tool definitions
- `send_email_utils.py`: Email notification utilities
- `logger.py`: Logging functionality
- `inventory.db`: SQLite database (auto-created)
- `annual_po.json`: Optional dummy data file
- `expiry_monitor`: Script to monitor expiring medicines
- `.env`: Environment variables configuration

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "inv-agent",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": "inventory, clinic, llm, assistant",
    "author": "pavans",
    "author_email": "pavansakireddy@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/8e/49/cc93b3dd5e1e547f29e1a2c50f27577f8b768efa26559d69ce6bec6e8f04/inv_agent-0.1.6.tar.gz",
    "platform": null,
    "description": "# Medical Inventory Management Agent\n\nThis medical inventory management agent that uses LangGraph with Ollama for natural language processing and automated inventory operations.\n\n## Features\n\n- Natural language inventory management\n- Medicine stock tracking and alerts\n- Automated email notifications for low stock\n- Restock request automation\n- Expiry monitoring\n\n## Requirements\n\n- Python 3.8+\n- Ollama running locally\n- Required Python packages (install via requirements.txt)\n\n## Installation\n\n1. Clone the repository\n2. Install dependencies:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n3. Set up Ollama and download a compatible model (e.g., llama3.1:latest)\n\n4. Create a `.env` file in the project root with the following variables:\n   ```\n   SENDER_EMAIL=\"\"\n   SENDER_PASSWORD=\"\"\n   RECEIVER_EMAIL=\"\"\n   MANAGER_EMAIL=\"\"\n   SUPPLIER_EMAIL=\"\"\n   MANAGER_PHONE=\"\"\n   OLLAMA_URL=\"\"\n   OLLAMA_MODEL_NAME=\"\"\n   ```\n\n## Environment Variables\n\n- `SENDER_EMAIL`: Email address for sending notifications\n- `SENDER_PASSWORD`: Password for sender email account\n- `RECEIVER_EMAIL`: Default recipient email address\n- `MANAGER_EMAIL`: Manager's email for inventory alerts\n- `SUPPLIER_EMAIL`: Supplier's email for restock requests\n- `MANAGER_PHONE`: Manager's phone number (optional)\n- `OLLAMA_URL`: Ollama server URL (e.g., http://localhost:11434)\n- `OLLAMA_MODEL_NAME`: Ollama model name (e.g., llama3.1:latest)\n\n## Database Setup\n\nThe system automatically creates an SQLite database (`inventory.db`) on first run. If an `annual_po.json` file exists in the project directory, it will load dummy data during initialization.\n\n## Usage\n\nRun the main application:\n```bash\npython main.py\n```\n\nThe system supports natural language commands for:\n- Reading medicine information\n- Adding new medicines\n- Updating stock quantities\n- Setting stock alert thresholds\n- Removing medicines from inventory\n- Deleting medicine entries\n- Sending restock requests\n\n## Available Operations\n\n- **Read Medicine**: Check medicine details and stock levels\n- **Add Medicine**: Add new medicines to inventory\n- **Update Stock**: Increase or decrease medicine quantities\n- **Set Alert**: Configure low stock alert thresholds\n- **Remove Stock**: Remove specified quantities from inventory\n- **Delete Medicine**: Completely remove medicine from inventory\n- **Restock Request**: Send automated restock emails to suppliers\n\n## Database Schema\n\nThe system uses a SQLite database with the following main table structure:\n- `medicines`: Stores medicine information including drug ID, name, generic name, manufacturer, batch number, expiry date, quantity, unit, price, location, and alert threshold\n\n## Logging\n\nThe system includes comprehensive logging for all operations, accessible through the logger module.\n\n## Email Notifications\n\nAutomated email notifications are sent for:\n- Low stock alerts\n- Out of stock alerts\n- Restock requests to suppliers\n- Expiry monitor report\n\n## File Structure\n\n- `main.py`: Main application file with agent workflow\n- `inventory_tools.py`: Database operations and tool definitions\n- `send_email_utils.py`: Email notification utilities\n- `logger.py`: Logging functionality\n- `inventory.db`: SQLite database (auto-created)\n- `annual_po.json`: Optional dummy data file\n- `expiry_monitor`: Script to monitor expiring medicines\n- `.env`: Environment variables configuration\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Clinic inventory assistant powered by LLM and inventory management tools.",
    "version": "0.1.6",
    "project_urls": null,
    "split_keywords": [
        "inventory",
        " clinic",
        " llm",
        " assistant"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4a165fa8c0c621fbbf99db1cbcff8ba2b92a206b5ec6b86ec9319bf63472c22a",
                "md5": "af0b67e136620d60e9264d6511225e04",
                "sha256": "677c5dcd45bb245bdaba576a3601fd785d81d629a6a608254eb5de8f796fe4a7"
            },
            "downloads": -1,
            "filename": "inv_agent-0.1.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "af0b67e136620d60e9264d6511225e04",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 15739,
            "upload_time": "2025-07-23T13:11:26",
            "upload_time_iso_8601": "2025-07-23T13:11:26.617360Z",
            "url": "https://files.pythonhosted.org/packages/4a/16/5fa8c0c621fbbf99db1cbcff8ba2b92a206b5ec6b86ec9319bf63472c22a/inv_agent-0.1.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "8e49cc93b3dd5e1e547f29e1a2c50f27577f8b768efa26559d69ce6bec6e8f04",
                "md5": "c1739955c5a27d6f68a9739a41d739ef",
                "sha256": "c6d599ac94d3e7cf82550a9faa0d29010e568c235d53c3f5de12bda14152a9ad"
            },
            "downloads": -1,
            "filename": "inv_agent-0.1.6.tar.gz",
            "has_sig": false,
            "md5_digest": "c1739955c5a27d6f68a9739a41d739ef",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 14249,
            "upload_time": "2025-07-23T13:11:27",
            "upload_time_iso_8601": "2025-07-23T13:11:27.920220Z",
            "url": "https://files.pythonhosted.org/packages/8e/49/cc93b3dd5e1e547f29e1a2c50f27577f8b768efa26559d69ce6bec6e8f04/inv_agent-0.1.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-07-23 13:11:27",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "inv-agent"
}
        
Elapsed time: 0.71558s