semvec/pypi-packages huggingface dataset:
sdss-cerebro 1.3.3
Telemetry management and time series for SDSS-V
Requires Python: <4,>=3.10

# cerebro

![Versions](https://img.shields.io/badge/python->3.7-blue)
[![Documentation Status](https://readthedocs.org/projects/sdss-cerebro/badge/?version=latest)](https://sdss-cerebro.readthedocs.io/en/latest/?badge=latest)
[![Test Status](https://github.com/albireox/cerebro/workflows/Test/badge.svg)](https://github.com/sdss/sdss/actions)

A library to gather time-series data from different sources and store them, with focus on InfluxDB databases. Documentation and concepts are defined [here](https://sdss-cerebro.readthedocs.io/).

## Installation

In general you should be able to install `cerebro` by doing

```console
pip install sdss-cerebro
```

To build from source, use

```console
git clone git@github.com:sdss/cerebro
cd cerebro
pip install .
```

## Use

`cerebro` is meant to run as a daemon. The simplest way to run it is simply

```console
cerebro start
```

This will run all the sources and use all the observers. You can define a specific profile to use

```console
cerebro --profile lvm-lab start
```

or a series of sources

```console
cerebro --sources lvm_govee_clean_room,lvm_sens4_r1 start
```

Normally `cerebro` will run in detached/daemon mode. It's also possible to pass the flag `--debug` (`cerebro start --debug`) to run the code in the foreground.

Run `cerebro --help` to get all the options available.

## Development

`cerebro` uses [poetry](http://poetry.eustace.io/) for dependency management and packaging. To work with an editable install it's recommended that you setup `poetry` and install `cerebro` in a virtual environment by doing

```console
poetry install
```

Pip does not support editable installs with PEP-517 yet. That means that running `pip install -e .` will fail because `poetry` doesn't use a `setup.py` file. As a workaround, you can use the `create_setup.py` file to generate a temporary `setup.py` file. To install `cerebro` in editable mode without `poetry`, do

```console
pip install poetry
python create_setup.py
pip install -e .
```

The style code is [black](https://black.readthedocs.io/en/stable/).
clipboard-text-correction 0.2.21
Program that collects text from the clipboard and improves text writing
Requires Python: >=3.8
Keywords: writing, spelling

# clipboard-text-correction

Program that improves text writing.

![logo](https://raw.githubusercontent.com/trucomanx/ClipboardTextCorrection/main/src/clipboard_text_correction/icons/logo.png)

## 1. Dependencies

This program requires `meld` to be installed on your system to function correctly. `meld` is a graphical tool for comparing files and directories. How to install `meld`:

- **Install on Ubuntu:**

```bash
sudo apt-get install meld
```
- **Install on Windows:**
 You can download the Meld installer at [https://meldmerge.org](https://meldmerge.org).

## 2. Installing

### 2.1. Install from PyPI

To install the package from `PyPI`, follow the instructions below:


```bash
python -m pip install --upgrade pip
python -m pip install --upgrade supertools

pip install --upgrade clipboard-text-correction
```

Execute `pip show clipboard-text-correction` to see where it was installed.

#### Using

If the program was not added to the Linux start session, then to start, use the command below:

```bash
clipboard-text-correction-indicator
```


### 2.2. Add the program to Linux start session

Add the program to the bar indicator on Linux startup session.

```bash
clipboard-text-correction-indicator --autostart
```

## 3. LLM
The program needs an `API_KEY` to be used. This can be obtained from
https://deepinfra.com/dash/api_keys

Place the obtained `API_KEY` in the `clipboard-text-correction-indicator` program under menu `Program usage information >> Open config file`.

![open-config-file](https://raw.githubusercontent.com/trucomanx/ClipboardTextCorrection/main/images/open-config-file.lin.png)

## 4 Uninstall

```bash
pip uninstall clipboard-text-correction
```

## 5. Buy me a coffee

If you find this tool useful and would like to support its development, you can buy me a coffee!  
Your donations help keep the project running and improve future updates.  

[☕ Buy me a coffee](https://ko-fi.com/trucomanx) 

## 6. License

This project is licensed under the GPL license. See the `LICENSE` file for more details.
iflow-mcp_narphorium_mcp-memex 0.1.0
Add your description here
Requires Python: >=3.11

![memex](docs/images/memex.webp)

# Memex for Model Context Protocol

Memex is a tool for Model Context Protocol (MCP) that allows you to analyze web content and add it to your knowledge base.

The tool was inspired by the [Memex](docs/as_we_may_think.pdf) project by [Vannevar Bush](https://en.wikipedia.org/wiki/Vannevar_Bush).

## Requirements

You will need API keys for the following services:

- [Claude API](https://www.anthropic.com/en/claude)
- [FireCrawl API](https://www.firecrawl.com/)
- [Voyage API](https://voyageai.com/)

The knowledge base produced by this tool is stored as Markdown files so they can be viewed with any Markdown viewer but [Obsidian](https://obsidian.md/) is recommended.

## Installation

```bash
pip install mcp-memex
```

Add the following to your `claude_desktop_config.json` and replace the placeholders with the actual paths and API keys:

```json
{
  "mcpServers": {
    "memex": {
      "command": "uv",
      "args": [
        "--directory",
        "PATH_TO_LOCAL_MEMEX_REPO",
        "run",
        "mcp-memex",
        "--index",
        "PATH_TO_MEMEX_INDEX",
        "--workspace",
        "PATH_TO_OBSIDIAN_VAULT"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "YOUR-API-KEY",
        "FIRECRAWL_API_KEY": "YOUR-API-KEY",
        "VOYAGE_API_KEY": "YOUR-API-KEY"
      }
    }
  }
}
```

## Usage

Start by asking Claude a question with a list of URLs to reference.

```
What is the capital of France? "https://en.wikipedia.org/wiki/France"
```

Once Claude has finished analyzing the content, you will see the results in your Obsidian vault. You can then ask questions about the content and Memex will use the knowledge base to answer your questions.

```
What is the capital of France?
```

## Development

To run the tool locally, you can use the following command:

```bash
npx @modelcontextprotocol/inspector \
  uv \
  --directory PATH_TO_LOCAL_MEMEX_REPO \
  run \
  mcp-memex \
  --index PATH_TO_MEMEX_INDEX \
  --workspace PATH_TO_OBSIDIAN_VAULT
```

Then open the inspector and connect to the server.

http://localhost:5173?timeout=30000
concave-hull 0.1.2
A very fast 2D concave hull algorithm
Requires Python: >=3.7

# concave_hull

A very fast 2D concave hull algorithm.

![](docs/hull.png)

Credits goes to:

-   <https://github.com/mapbox/concaveman>
-   <https://github.com/sadaszewski/concaveman-cpp>

Online document: <https://concave-hull.readthedocs.io/en/latest/>

<!--intro-start-->

## Install

### via pip

```bash
pip install -U concave_hull
```

### from source

```bash
git clone --recursive https://github.com/cubao/concave_hull
pip install ./concave_hull
```

Or

```bash
pip install git+https://github.com/cubao/concave_hull.git
```

(you can build wheels for later reuse by ` pip wheel git+https://github.com/cubao/concave_hull.git`)

## Usage

Signature:

```python
# import
from concave_hull import concave_hull, concave_hull_indexes

# get concave hull indexes
concave_hull_indexes(
       points: Union[numpy.ndarray, List, Tuple],
       *,
       concavity: float = 2.0,
       length_threshold: float = 0.0,
       # you can just ignore "convex_hull_indexes"
       convex_hull_indexes: numpy.ndarray[numpy.int32[m, 1]] = None,
) -> numpy.ndarray[numpy.int32[m, 1]]

# get concave hull points
concave_hull(
       points: Union[numpy.ndarray, List, Tuple],
       ... # same as
) -> Union[numpy.ndarray, List, Tuple]

# P.S., we provide convex_hull (Graham scan)
from concave_hull import convex_hull, convex_hull_indexes
```

-   `concavity` is a relative measure of concavity. 1 results in a relatively
    detailed shape, Infinity results in a convex hull. You can use values lower
    than 1, but they can produce pretty crazy shapes.
-   `length_threshold`: when a segment length is under this threshold, it stops
    being considered for further detalization. Higher values result in simpler
    shapes.

(document from <https://github.com/mapbox/concaveman>)

Example (see full code in [`test.py`](test.py)):

```python
import matplotlib.pyplot as plt
import numpy as np
from scipy.spatial import ConvexHull

from concave_hull import concave_hull, concave_hull_indexes

points = []
c = np.array([250, 250])
for x in np.arange(100, 400, 5 * np.pi):
    for y in np.arange(100, 400, 5 * np.pi):
        if x > c[0] and y > c[1]:
            continue
        r = np.linalg.norm(c - [x, y])
        if r > 150:
            continue
        points.append([x, y])
points = np.array(points)
convex_hull = ConvexHull(points[:, :2])  # it's already N-by-2, I'm just emphasizing

# https://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html

plt.plot(points[:, 0], points[:, 1], "o")
for simplex in convex_hull.simplices:
    plt.plot(points[simplex, 0], points[simplex, 1], "g-", alpha=0.5)

idxes = concave_hull_indexes(
    points[:, :2],
    length_threshold=50,
)
# you can get coordinates by `points[idxes]`
assert np.all(points[idxes] == concave_hull(points, length_threshold=50))

for f, t in zip(idxes[:-1], idxes[1:]):  # noqa
    seg = points[[f, t]]
    plt.plot(seg[:, 0], seg[:, 1], "r-", alpha=0.5)
# plt.savefig('hull.png')
plt.show()
```

<!--intro-end-->

## Tests

```
make python_install
make python_test
```
iflow-mcp-pickpppcc-qbittorrent 0.1.2
Add your description here
Requires Python: >=3.11

# qBittorrent MCP 服务

qBittorrent MCP 是一个基于 FastMCP 的服务，提供了与 qBittorrent WebUI API 交互的功能接口。

## 功能列表

该服务提供了以下功能：

### 种子管理
- `add_torrent`: 添加种子文件到 qBittorrent
- `delete_torrent`: 删除指定种子（可选同时删除文件）
- `pause_torrent`: 暂停种子下载
- `resume_torrent`: 恢复种子下载
- `get_torrent_list`: 获取所有种子列表

### 跟踪器与标签
- `get_torrent_trackers`: 获取种子的跟踪器列表
- `add_trackers_to_torrent`: 向种子添加新的跟踪器
- `add_torrent_tags`: 为种子添加标签

### 速度与优先级控制
- `set_global_download_limit`: 设置全局下载速度限制
- `set_global_upload_limit`: 设置全局上传速度限制
- `set_torrent_download_limit`: 设置特定种子的下载速度限制
- `set_torrent_upload_limit`: 设置特定种子的上传速度限制
- `set_file_priority`: 设置特定文件的下载优先级

### 系统信息
- `get_application_version`: 获取qBittorrent应用程序版本

## 配置

服务使用以下配置参数：
- `DEFAULT_HOST`: qBittorrent WebUI的主机地址
- `DEFAULT_USERNAME`: qBittorrent WebUI用户名
- `DEFAULT_PASSWORD`: qBittorrent WebUI密码

## 使用方法

1. 确保已安装所需依赖：
   ```
   pip install httpx mcp
   ```

2. 运行MCP服务：
   ```
   python main.py
   ```

## 开发

服务分为两个主要文件：
- `main.py`: 定义MCP服务接口和配置参数
- `api.py`: 实现与qBittorrent WebUI的交互逻辑
```json
   "mcp_servers": [
        {
            "command": "uv",
            "args": [
                "--directory",
                "/workspace/PC-Canary/apps/qBittorrent/qbittorrent_mcp",
                "run",
                "qbittorrent.py"
            ]
        }
    ]
```
rxnemb 1.0.2
A reaction-level embedding descriptor.
Requires Python: >=3.9





![RXNEmb](static/head_banner.png)


![PyPI - Downloads](https://img.shields.io/pypi/dm/rxnemb?label=PyPI%20downloads&logo=pypi)
![Python version](https://img.shields.io/badge/python->=3.9-blue)  
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT)

**RXNEmb** is a novel reaction-level embedding descriptor generated via the pre-trained model [**RXNGraphormer**](https://github.com/licheng-xu-echo/RXNGraphormer). It captures chemical bond formation and cleavage patterns, enabling data-driven reaction classification, mechanistic interpretation, and reaction space visualization.


# 🚀 Overview

The preprint paper is available at [https://arxiv.org/pdf/2601.03689](https://arxiv.org/pdf/2601.03689) .


# 🔧 Installation 

```bash
pip install rxnemb
```


# 💡  Generate RXNEmb Descriptor

## Basic Usage
**Example 1: Generate reaction embeddings from SMILES list**

```python
from rxnemb import RXNEMB

# Initialize with CPU (default)
# To use GPU: device='cuda' or device='cuda:0'
generator = RXNEMB(device='cpu')

# prepare reaction SMILES
# here are some examples
rxn_smiles_lst = [
    "O=C(O)c1ccccc1.[Cl-]>>O=C(Cl)c1ccccc1",  
    "C1CCOC1.C1CCOC1.O.O=C(O)C(Br)c1ccccc1>>OCC(Br)c1ccccc1",
    # ... more 
]

# output
rxn_emb = generator.gen_rxn_emb(rxn_smiles_lst)
print(rxn_emb.shape) # torch.Size([2, 768])
```


## Use Customized Model

If you want to train your own model from scratch, please refer to the instructions in the  [**RXNGraphormer**](https://github.com/licheng-xu-echo/RXNGraphormer) repository.

After training is done, you can load the model by specifying the path to the directory containing your model weights and configuration file:

```python
from rxnemb import RXNEMB

generator = RXNEMB('/path/to/your/own/model')
```

# 📚 Citation

If you use RXNEmb in your research, please cite:

```bash
@misc{RXNEmb_liu2026,
      title={A Pre-trained Reaction Embedding Descriptor Capturing Bond Transformation Patterns}, 
      author={Weiqi Liu and Fenglei Cao and Yuan Qi and Li-Cheng Xu},
      date = {2026-01-07},
      eprint={2601.03689},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      doi = {10.48550/arXiv.2601.03689},
      url={https://arxiv.org/abs/2601.03689}, 
      pubstate = {prepublished},
}
```