| ``` | |
| 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 | |
| ``` |