| import pandas as pd |
| from datetime import datetime, timedelta |
| import logging |
|
|
| logger = logging.getLogger(__name__) |
|
|
| def upcoming_amc_devices(df): |
| """Identify devices with upcoming AMC expiries.""" |
| logger.info("Processing AMC expiries...") |
| try: |
| df["amc_expiry"] = pd.to_datetime(df["amc_expiry"]) |
| today = datetime.now() |
| threshold = today + timedelta(days=14) |
| amc_df = df[df["amc_expiry"] <= threshold][["equipment", "amc_expiry"]] |
| logger.info(f"Found {len(amc_df)} devices with upcoming AMC expiries.") |
| return amc_df |
| except Exception as e: |
| logger.error(f"Failed to process AMC expiries: {e}") |
| raise |