semvec/pypi-packages huggingface dataset:
Seance 0.1.4
A Wrapper around MLForecast.
Keywords: forecasting,time series,lightgbm,mlforecast

## SeÃ¡nce v0.0.5

A simple wrapper around Nixtla's MLForecast aimed at streamlining plug-and-play forecasting.

A general pattern is to optimize then forecast such as:

```
from mlforecast.utils import generate_daily_series
series = generate_daily_series(
    n_series=20,
    max_length=100,
    min_length=50,
    with_trend=True
)


from Seance.Optimizer import Optimize
opt = Optimize(series,
            target_column='y',
            date_column='ds',
            id_column='unique_id',
            freq='D',
            seasonal_period=7,
            test_size=10,
            # ar_lags=[list(range(1, 8))], #by default this will be done based on seasonal period
            metric='smape',
            n_trials=100)
#returns an optuna study obj
best_params, study = opt.fit(seed=1)
```
## optuna plotting
```
import optuna
optuna.visualization.matplotlib.plot_param_importances(study)
```
![alt text](https://github.com/tblume1992/Seance/blob/main/static/seance_param_imp.png?raw=true "Param Importance")
Here we can see the most important parameter is (unsurprisingly) the number of lags. Followd by decay which controls the 'forgetfulness' of the basis functions.
```
optuna.visualization.matplotlib.plot_optimization_history(study)
```
![alt text](https://github.com/tblume1992/Seance/blob/main/static/seance_study.png?raw=true "Study")
## passing off best params for forecasts
```
from Seance.Forecaster import Forecaster
seance = Forecaster()
output = seance.fit(series,
                    target_column='y',
                    date_column='ds',
                    id_column='unique_id',
                    freq='D',
                    **best_params)
predicted = seance.predict(24)
```
## quick plot of the forecasts
```
import matplotlib.pyplot as plt
plot_ser = np.append(series[series['unique_id'] == 'id_00']['y'].values,
                     predicted[predicted['unique_id'] == 'id_00']['LGBMRegressor'].values)
plt.plot(plot_ser)
plt.vlines(x=len(plot_ser) - 24, ymin=0, ymax=max(plot_ser), linestyle='dashed', color='red')
plt.show()
```
![alt text](https://github.com/tblume1992/Seance/blob/main/static/seance_forecast.png?raw=true "Forecast Results")
heatprofile 0.0.11
A simple tool for giving immediate visual feedback on the hotspots in your code.
Requires Python: >=3.8


# HeatProfile

`HeatProfile` is a Python decorator for profiling the execution time of individual lines within a function. It provides a detailed overview of the function's performance by highlighting each line's cumulative execution time, call count, and average time per call. Additionally, it uses color coding to visually represent the relative time spent on each line, making it easy to spot performance bottlenecks.

## Features

- **Line-by-Line Profiling**: Detailed execution time analysis for each line within the function.
- **Color-Coded Output**: Visual representation using colors to indicate lines with higher execution times.
- **Threshold-Based Coloring**: Lines with execution times significantly lower than the maximum are displayed with a white background, ensuring clarity in highlighting performance-critical areas.
- **Dynamic Column Widths**: Adjusts column widths based on the length of the source code lines, ensuring readability.

## Installation

To use `HeatProfile`, simply copy the `heatprofile.py` file to your project directory.

## Usage

To profile a function, import `heatprofile` from `heatprofile.py` and use it as a decorator:

```python
from heatprofile import heatprofile

@heatprofile
def your_function(args):
    # function implementation
    pass
```

Run your Python script as usual, and the profiling output will be displayed in the console.

## Output Format

- **Function Name**: Name of the profiled function.
- **Function Location**: File location of the function.
- **Total Function Time**: Total execution time of the function.
- **Line**: Line number in the source code.
- **Source Code**: The actual source code of the line.
- **Cumulative Time(s)**: Total time spent on this line across all calls.
- **Call Count**: Number of times this line was executed.
- **Time/Call(s)**: Average execution time per call for this line.

## Color Coding

- **Red**: Lines with higher relative execution times.
- **White**: Lines with negligible execution times compared to the maximum.

## Compatibility

`HeatProfile` is compatible with Python 3.x. It has been tested on various platforms with standard Python interpreters.

## Contributing

Contributions to `HeatProfile` are welcome. Please feel free to submit pull requests, report bugs, or suggest features through the GitHub issue tracker.

## License

This project is licensed under the MIT License - see the LICENSE file for details.
tatarubot2 1.0
FF14 bot Tataru
Requires Python: >=3.7.3,<4.0.0

# TataruBot2

基于NoneBot2的最终幻想14机器人塔塔露

这里是塔塔露功能作为nonebot2插件安装的指南

## 当前功能

0. 塔塔露帮帮忙：显示所有功能
1. 暖暖：本周时尚品鉴作业
2. 选门：帮你选藏宝洞的门
3. 仙人彩：帮你选每周仙人仙彩数字
4. 物品 物品名：查询物品信息，例：`物品 铁矿`
5. 价格 大区 物品名：查询板子物价，大区不写默认豆豆柴，例：`价格 陆行鸟 铁矿`、`价格 叶小妖`
6. 看看微博：获取FF微博新闻
7. 房子 服务器名 主城名 房子大小：查询空房。主城名为：森都、海都、沙都、白银、雪都。房子大小为：S、M、L。例: `房子 银泪湖 森都 S`
8. 输出 boss名 职业名 (国服) (rdps) (day2): 查询logs上对应boss和职业的dps分段，括号内为可选的参数，默认国际服、adps、截止最后一天。
例: `输出 海德林 武士`，`输出 海德林 武士 国服 day10`
9. 攻略 (副本等级) 副本名关键字 (文本)：查简单副本攻略，括号内为可选参数，默认输出图片攻略
10. 日历：获取FF近期活动日历
11. 招募 大区名：获取指定大区招募板信息
12. 抽卡：随机抽取一张FF14塔罗牌

## 依赖

1. python >= 3.7.3
2. 如果有NoneBot v1则卸载 `pip uninstall nonebot`
3. 本代码测试使用的NoneBot版本是 nonebot2==2.0.0b4

↑↑↑ 既然是作为nonebot2的插件，上面的1.2.3.你应该都已经达到了，姑且放在这里提一下

## 使用

1. 安装塔塔露机器人插件包

   ```shell
   # 为了防止出啥意外先把旧的删了吧
   pip uninstall tatarubot2
   # 如果以前装过塔塔露机器人，把配置文件也删了
   rm tatarubot2_conf.json
   
   # 安装最新插件
   pip install -U tatarubot2
   ```

2. 进入你的机器人文件夹，根据需要修改配置文件`.env.dev`，更多信息见NoneBot2官方文档

   ```shell
   # 注意配置命令起始字符
   # 我的习惯是直接纯中文作为命令，所以添加了一个空 ""，如下所示
   COMMAND_START=["/", ""]  
   ```

3. 在`bot.py`中加载插件

   ```python
   nonebot.load_builtin_plugins("tatarubot2")
   ```
   
5. 首次启动机器人，会自动在机器人文件夹内生成一个插件的配置文件`tatarubot2_conf.json`

   ```shell
   nb run
   ```

6. 根据需要选择开启哪些插件，修改`tatarubot2_conf.json`，将对应"enable"改为true


7. 启动机器人

   ```shell
   nb run
   ```

8. 使用go-cqhttp连接机器人，该部分参考go-cqhttp官方文档。需要注意的是配置中反向websocket设置参考文档https://adapter-onebot.netlify.app/docs/guide/setup

## 备注

NoneBot2官方文档：https://v2.nonebot.dev/

NoneBot2 github：https://github.com/nonebot/nonebot2

go-cqhttp连接配置：https://adapter-onebot.netlify.app/docs/guide/setup

go-cqhttp github：https://github.com/Mrs4s/go-cqhttp