semvec/pypi-packages huggingface dataset:
chatollamaagent 0.15
A visual node-based programming system for creating and managing agent-based workflows.
Requires Python: >=3.10

# ChatOllamaAgent

[![PyPI version](https://badge.fury.io/py/chatollamaagent.svg)](https://badge.fury.io/py/chatollamaagent)

```
pip install chatollamaagent
```
A visual node-based programming system for creating and managing chat-based workflows. Design your chat flows visually, connect nodes to create logic, and execute the networks with the built-in runner.

GitHub Repository Documentation: [ChatOllamaAgent](https://github.com/SpicyMelonYT/ChatOllamaAgent)
vnrs 0.1.0
vnpy backtest module written in Rust and Python
Requires Python: >=3.8
Keywords: quant, quantitative, investment, trading

# vnpyrs 和vnpy完全兼容但更快的回测框架

vnpyrs是以提升性能为目的，部分代码用Rust语言重新实现的vnpy。已实现回测和参数调优。

## 背景

众所周知，Python生态强大，编码灵活，但是有个缺点，就是慢。2024年，我实验性的用Rust重写了vnpy的回测模块，惊喜的发现，运行速度提升了近20倍。
显然，移植到Rust这件事的价值是巨大的。但还有个问题，由于它100%是用Rust编写的，包括策略也是用Rust编写的，那用户就无法使用Python的各种库了。况且，Rust是出了名的难入门的语言。上述的两点会降低它的实用性。
因此，在2025年我重新设定了目标，该项目必须完全兼容Python生态，100%兼容已经为vnpy编写的策略，同时要提升性能。
由于用户代码是用Python编写的，那性能提升就不会像第一次用纯Rust编写时那样夸张了，但省下的时间依然不少。如果用examples文件夹里面的案例测试，在不改一行策略代码的情况下，综合速度提升了一倍。（具体提升多少和策略的具体实现紧密相关）

## 环境准备

vnpyrs对python包的依赖和vnpy几乎一样，但去掉了UI相关的包。Python版本需要3.8以上，推荐3.10以上

## 安装步骤

**Windows**

```
pip install vnrs
```

**Linux**

```
pip install vnrs
```

**Macos**

需要git clone并源码编译


## 脚本运行

vnpyrs仅支持脚本运行，在任意目录下创建run.py，写入以下示例代码：

```Python
from vnrs.backtesting import BacktestingEngine, BacktestingMode
from vnrs.trader.optimize import OptimizationSetting

#double_ma_strategy模块是vnpy自带的，复制到当前目录即可。对策略的导入必须在导入vnrs之后，除非将其中的vnpy_ctastrategy替换为vnrs
from double_ma_strategy import DoubleMaStrategy

from datetime import datetime
import time

def main():
    engine=BacktestingEngine()

    engine.set_parameters(vt_symbol="300.LOCAL",
                        interval="1m",
                        start=datetime(2009,1,5),
                        end=datetime(2020,8,18),
                        rate=2.3e-5,
                        slippage=0.2,
                        size=1,
                        pricetick=0.2,
                        capital=10000000)

    start = time.perf_counter()
    engine.add_strategy(DoubleMaStrategy,{'fast_window': 10, 'slow_window': 20})
    engine.load_data()
    engine.run_backtesting()
    df=engine.calculate_result()
    print(df)
    engine.calculate_statistics()
    engine.show_chart().show()

    setting=OptimizationSetting()
    setting.set_target("sharpe_ratio")
    setting.add_parameter("fast_window",8,12,1)
    setting.add_parameter("slow_window",12,20,1)
    engine.run_bf_optimization(setting)
    engine.run_ga_optimization(setting)
    print(time.perf_counter()-start) #这里用于统计耗时，可以看到vnpyrs耗时只有vnpy的一半

if __name__ == '__main__':
    main()
```

vnpyrs使用的数据库和json配置文件和vnpy完全一样，二者是共用数据库的。标的300.LOCAL的数据在examples下，导入300_1min_vnpy.csv到vnpy即可。
在该目录下打开CMD（按住Shift->点击鼠标右键->在此处打开命令窗口/PowerShell）后运行下列命令启动vnpyrs：
    python run.py


## 开发路线图

不会完全移植vnpy。
一个原因是vnpy用到了很多动态语言的特性，以实现插件化，这部分在静态语言上实现很困难，或者需要大量的unsafe；
另一个原因是没必要，UI和网络模块即使用Rust、C++重写，体验也不会明显变好。
但是未来会支持用Rust、C、C++写策略，这样的话回测性能提升10倍也是有可能的。
dpowers 0.1.7rc2
Unified Interface for automatic interaction
Requires Python: >=3.6

Dpowers is a python package to help you automate interactions with your 
operating system. It combines several backends into a unified interface and 
allows to pick the backend most suited to the specific use case.

For documentation and details see https://dpowers.readthedocs.io.

Supported operating systems:

- This project follows a modular approach where is is easy to add new 
components ("powers"), as well as new backends for aleady existing powers. 
This makes it cross-platform by nature. The support for a specific OS 
depends mostly on which backends have been implemented yet.

- As I am using Linux Mint myself, I make sure that all features run 
smoothly on there. Other Linux systems (particularly Debian-based) should 
already be supported by the implemented backends as well, but haven't been 
tested yet.

- Windows and Mac haven't been tested either. They should be supported via 
the pynput backend already. As of now, I don't have any plans to add more 
backends for these systems since I almost never use them.

- Termux on Android is supported as well. I have two everyday use 
  cases, where the Dpowers allow me to run the same python script on both 
  Linux desktop and my Android phone. However, Termux lacks access to many 
  Android functions, which is why I prefer Tasker for most of my Android 
  automization. Tasker allows using Termux as a plugin, so it can 
  also run python and Dpowers scripts.

If you have question about a specific part of this project, if you want to try 
it out on another OS, or add your own backends, you are welcome to post 
issues here on github.


Ideas for the future:
- Add complete support for Wayland. Keyboard and mouse support is already 
  available via the evdev backend, but window interactions are still relying 
  on the X Server.
- Add automatic detections of the OS / platform properties (e.g. wether X 
  Server or Wayland active), and automatically select the suiting backend. 
  Currently, automatic selection of backends is only supported on Linux.
- Extend the documentation. (Reference for all commands, more examples, 
  tutorials.)