semvec/pypi-packages huggingface dataset:
autosarimax 0.1.1
Using the River and Optuna packages to provide an automatically optimized ARIMA-derived model with the possibility of online updates.
Requires Python: >=3.9

# AutoSNARIMAX

Using the River and Optuna packages to provide an automatically optimized ARIMA-derived model with the possibility of online updates.

## Overview

`AutoSNARIMAX` is a Python class for automatic hyperparameter optimization of SNARIMAX models using **Optuna** and the **River** library. It supports:

- Automatic hyperparameter tuning for SNARIMAX models.
- Incorporation of additional features, including holidays.
- Online updates: the model can be updated incrementally with new observations.
- Forecasting with uncertainty intervals.

## Installation

```bash
pip install autosarimax
````

## Usage

```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from autosarimax import AutoSNARIMAX, add_holiday_feature

# 1️⃣ Create example DataFrame
dates = pd.date_range(start='2025-01-01', periods=30, freq='D')
np.random.seed(42)
y = np.random.randint(50, 150, size=len(dates))
X = pd.DataFrame({'date': dates, 'feature1': np.random.randn(len(dates))})

# 2️⃣ Add holiday feature
X = add_holiday_feature(X, country='BR', date_col='date')
X = X.drop(columns=['date'])

# 3️⃣ Initialize and fit model
model = AutoSNARIMAX(n_trials=5, horizon=1)
model.fit(X, y)

# 4️⃣ Make incremental predictions
pred_df = model.predict(X, force=False)

# 5️⃣ Plot real vs predicted values
plt.figure(figsize=(12, 6))
plt.plot(dates, y, label='Real', marker='o')
plt.plot(dates, pred_df['pred'], label='Predicted', marker='x')
plt.fill_between(dates, pred_df['lower'], pred_df['upper'], color='gray', alpha=0.3, label='Uncertainty')
plt.xlabel('Date')
plt.ylabel('Value')
plt.title('AutoSNARIMAX Forecast vs Real')
plt.legend()
plt.grid(True)
plt.show()
```

## Features

* **`add_holiday_feature(df, country, date_col)`**: Adds a binary column `is_holiday` indicating whether a date is a holiday.
* **`fit(X, y)`**: Optimizes hyperparameters and trains the SNARIMAX model.
* **`update(X, y)`**: Updates the model incrementally with new observations.
* **`predict(X, horizon, force)`**: Makes forecasts.

  * `force=True`: forecasts the full horizon without updating the model.
  * `force=False`: forecasts incrementally and updates the model using the predicted values.

## License

MIT License

[GitHub](https://github.com/danttis/autosarimax)
mcp-chatbot 0.1.0
Add your description here
Requires Python: >=3.13

# MCP ChatBot项目
能够实现MCP调用的对话机器人

## 接口梳理

- [x] 创建MCP Server
- [x] 删除MCP Server
- [x] 更新MCP Server
- [x] 查询 MCP Server列表
- [x] 查询 MCP Server的详情
- [x] 启用/停用MCP Server(让大模型更加精准的找到需要调用的函数)
- [x] 刷新MCP Server的在线状态（相当于重启或重新连接MCP Server）
- [x] 查询MCP Server的tools列表（直接通过配置获取）
- [x] 调用MCP Server的tool

> 支持 stdio + sse + stremable http


## 服务部署

### 命令行运行(对stdio友好)

```
uv pip install -e .
mcp-chatbot
```

### 容器部署（对sse和streamable http友好）

构建镜像
```
docker build -t mcp-chatbot:v1 .
```

启动容器
```
docker run -d --name mcp-chatbot --restart always \
-p8088:8000 \
-v/Users/morris/Desktop/coding/mcp-chatbot/mcp_chatbot.db:/app/mcp_chatbot.db \
mcp-chatbot:v1
```