Name | inv-agent JSON |
Version |
0.1.6
JSON |
| download |
home_page | None |
Summary | Clinic inventory assistant powered by LLM and inventory management tools. |
upload_time | 2025-07-23 13:11:27 |
maintainer | None |
docs_url | None |
author | pavans |
requires_python | <4.0,>=3.9 |
license | MIT |
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"
}