semvec/pypi-packages huggingface dataset:
aiclubiuh 0.1.6
Thư viện hỗ trợ cho AI Club IUH
Requires Python: >=3.6

# aiclubiuh

**AI_Club - Câu lạc bộ Trí tuệ nhân tạo IUH**

## Giới thiệu

`aiclubiuh` là thư viện Python đại diện cho Câu lạc bộ Trí tuệ Nhân tạo của Trường Đại học Công nghiệp TP.HCM (IUH). 
Câu lạc bộ được thành lập từ năm 2019, tọa lạc tại phòng Data Innovation Lab H2.2. Đây là nơi dành cho các sinh viên yêu thích và đam mê nghiên cứu trong lĩnh vực Khoa học Dữ liệu (KHDL) và Khoa học Máy tính (KHMT), tạo ra một môi trường học tập năng động và sân chơi học thuật để phát triển kỹ năng và kiến thức chuyên môn.

**Hoạt động chính:**
- Tham gia các khóa học miễn phí về Lập trình, Toán học, Trí tuệ Nhân tạo.
- Nghiên cứu khoa học và tham dự hội nghị.
- Tham gia các hoạt động giải trí như văn nghệ và thể thao.

**Trang thiết bị:**
- Phòng lab hiện đại tại Data Innovation Lab H2.2, Trường Đại học Công nghiệp TP.HCM.

**Đối tượng:**
- Tất cả sinh viên đam mê AI, khoa học dữ liệu, không phân biệt ngành học.

**Lý do tham gia:**
- Học hỏi từ giảng viên, mentor và tham gia các cuộc thi lớn.
- Tham gia các workshop, seminar và các hoạt động kết nối.
- Cơ hội học hỏi kinh nghiệm từ các anh chị khóa trước.

Hãy cùng tham gia AI Club để phát triển bản thân và khám phá những tiềm năng mới!

## Liên hệ

- **Website**: [main.aiclubiuh.com](https://main.aiclubiuh.com)
- **Blog**: [AI Wiki](https://aiwiki.github.io/)
- **Facebook**: [AI Club - Khoa Học Dữ Liệu IUH](https://www.facebook.com/aiclub.iuh)
- **Nhóm Facebook**: [Khoa Học Dữ Liệu IUH](https://www.facebook.com/groups/khdl.iuh)
- **Email**: aiclub.iuh@gmail.com

## Cài đặt

Bạn có thể cài đặt thư viện này từ Test PyPI hoặc PyPI bằng cách:

```bash
pip install aiclubiuh
```
hoặc 

```bash
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple aiclubiuh
```

## Sử dụng

```python
import aiclubiuh
```
astrbot-injector 0.1.2
基于wrapt的依赖注入库.
Requires Python: >=3.13.8

# AstrbotInjector

AstrbotInjector 是基于wrapt库的极简依赖注入库

属于Astrbot Canary的子项目


## 安装

```bash
pip install astrbot-injector

uv pip install astrbot-injector

# 添加到项目

uv add astrbot-injector

```

## 使用方法

### 1. 全局依赖注入

全局依赖可以在整个应用中共享。首先，使用 `AstrbotInjector.set()` 设置全局依赖，然后用 `@AstrbotInjector.inject` 装饰器自动注入。

```python
from astrbot_injector import AstrbotInjector

# 设置全局依赖
AstrbotInjector.set("database", "MySQL Connection")
AstrbotInjector.set("config", {"host": "localhost", "port": 3306})

# 定义一个需要注入依赖的函数
@AstrbotInjector.inject
def connect_to_db(database: str, config: dict) -> str:
    return f"Connected to {database} at {config['host']}:{config['port']}"

# 调用函数，依赖会自动注入
result = connect_to_db()
print(result)  # 输出: Connected to MySQL Connection at localhost:3306
```

如果手动提供参数，注入器不会覆盖它们：

```python
result = connect_to_db(database="PostgreSQL")
print(result)  # 输出: Connected to PostgreSQL at localhost:3306
```

### 2. 局部依赖注入

局部依赖只在特定的注入器实例中有效，适合模块级别的依赖管理。

```python
# 创建局部注入器
local_injector = AstrbotInjector("my_module")
local_injector.set("logger", "FileLogger")
local_injector.set("cache", "RedisCache")

# 使用局部注入器装饰函数
@local_injector.inject
def process_data(logger: str, cache: str, data: str = "default") -> str:
    return f"Processing {data} with {logger} and {cache}"

# 调用函数
result = process_data()
print(result)  # 输出: Processing default with FileLogger and RedisCache
```

### 3. 类属性注入

依赖注入器也可以为类属性注入值。

```python
# 设置全局依赖
AstrbotInjector.set("service", "UserService")

# 装饰类
@AstrbotInjector.inject
class MyController:
    service: str | None = None
    version: str = "1.0"

# 检查类属性
print(f"Service: {MyController.service}")  # 输出: Service: UserService
print(f"Version: {MyController.version}")  # 输出: Version: 1.0
```

### 4. 方法注入

支持类方法和静态方法的注入。

```python
# 设置依赖
AstrbotInjector.set("validator", "EmailValidator")

class UserManager:
    @classmethod
    @AstrbotInjector.inject
    def validate_user(cls, validator: str, email: str) -> str:
        return f"Validating {email} with {validator}"

    @staticmethod
    @AstrbotInjector.inject
    def send_notification(validator: str, message: str) -> str:
        return f"Sending notification: {message} via {validator}"

# 调用方法
print(UserManager.validate_user(email="user@example.com"))  # 输出: Validating user@example.com with EmailValidator
print(UserManager.send_notification(message="Welcome!"))  # 输出: Sending notification: Welcome! via EmailValidator
```

### 5. 错误处理

如果依赖不存在且未提供参数，会抛出 `TypeError`。

```python
@AstrbotInjector.inject
def risky_function(missing_dep: str) -> str:
    return f"Got {missing_dep}"

# 这会抛出 TypeError
try:
    risky_function()
except TypeError as e:
    print(f"Error: {e}")  # 输出: Error: risky_function() missing 1 required positional argument: 'missing_dep'
```

## 总结

`AstrbotInjector` 提供了一种简单的方式来管理依赖注入，支持全局和局部作用域，以及函数、方法和类属性的注入。它有助于减少代码中的硬编码依赖，提高代码的可测试性和可维护性。

更多高级用法可以参考测试文件或源码。
qbittorrent-ark 0.1.4
gui for smalk krypto testing .
Requires Python: >=3.7

# qbittorrent_ark

Helps to manipulate qbittorrent torrents without GUI, but only with the help of a special file (ark file).

Setting up qbittorrent. 
Run the program at least once; this ark file will be created.
Modify it, and run it again. 
From now on, you can change object parameters through this file. 
To sync with qbittorrent, simply run it again.

# Set up qbittorrent

Install it.

```bash
sudo apt install qbittorrent  # Debian-like
# or
sudo pacman -Sy qbittorrent  # Arch

# Also can be installed qbittorrent-nox, if needed
```

Configure it:

```bash
nano ~/.config/qBittorrent/qBittorrent.conf
# [LegalNotice]
# Accepted=true
#
# [Preferences]
# WebUI\AuthSubnetWhitelist=192.168.0.0/24
# WebUI\Port=8025
# WebUI\AuthSubnetWhitelistEnabled=false
# WebUI\UseUPnP=false
# WebUI\Address=127.0.0.1
# WebUI\Enabled=true
# WebUI\LocalHostAuth=false
# WebUI\Username=admin
# WebUI\Password_PBKDF2="@ByteArray(uVWSMZUV90kaymHPcu5EHQ==:Ueo5NCRUEQbmiH+DZyVqmaDOXLFphmlgRqVM7pDUwkuwdXgMDhkheCTmlPzf4cSi8QRDz99oHHdf2LQosvSl2w==)"  # password is "adminadmin", change it

# Or run qbittorrent and setup in Preferences -> Web UI
```

# Installation and startup

> [!WARNING]
> Just in case, backup the folders: `~/.config/qBittorrent` and `~/.local/share/qBittorrent`.

```bash
pip3 install qbittorrent_ark

qbittorrent_ark /path/to/ark/file/ark.yaml  # If /path/to/ark/file/ark.yaml does not exists, then ark yaml file template will be created.
```

It worked on `qBittorrent v5.0.3` at least.

> [!WARNING]
> Just in case, backup ark file (ark.yaml) before each use of the qbittorrent_ark.
life-cli 0.1.0
Life accountability CLI
Requires Python: <4.0,>=3.12

# life-cli

Life accountability CLI. Task tracking + ephemeral Claude personas that hold you accountable.

When you talk to `life`, you're spawning a Claude agent with your full task context and explicit behavioral rules.

Perfect for:
- Accountability that matches your ADHD, not against it
- Responding to directness, not encouragement
- Task tracking that actually works

## Quick Start

```bash
poetry install
life --help
```

## Usage

### Dashboard
```bash
# Show all tasks, momentum, and current assessment
life
```

### Task Management
```bash
# Add task (atomic strings only)
life task "thing"
life task "thing" --focus
life task "thing" --due 2025-12-01

# Add habit (daily wellness/maintenance, checkable)
life habit "hydrate"

# Add chore (recurring maintenance, checkable)
life chore "dishes"

# Mark done (fuzzy match)
life done "partial match"

# Check habit or chore (fuzzy match)
life check "partial match"

# Toggle focus (max 3 active)
life focus "partial"

# Remove task
life rm "partial"

# Set/view operational context
life context "Relationship: Crisis. Wedding: 52 days."
life context  # view current

# Direct SQL for power users
life sql "SELECT * FROM tasks WHERE focus = 1"

# List all tasks with IDs
life list
```

### Spawn Personas

When you pass a natural language message (not a known command), `life` spawns an ephemeral Claude agent with full task context and CLI access.

```bash
# Default: Roast identity (harsh accountability)
life "been coding for 8 hours straight"

# Pepper identity (optimistic enablement)
life pepper "just finished the presentation"

# Kim identity (methodical analysis)
life kim "should I refactor the auth module?"
```

Each persona has distinct behavioral constitution. See [Personas](#personas) below.

## Personas

Ephemeral Claude agents with different behavioral constitutions. See [docs/personas](docs/personas/) for details.

| Persona | Use When | Style |
|---------|----------|-------|
| **roast** | You need gatekeeping. Procrastinating on critical tasks. Hiding behind code work. | Harsh accountability. No enablement. |
| **pepper** | You're paralyzed by perfectionism. Overwhelmed. Need permission to move forward. | Optimistic catalyst. Celebrate progress. |
| **kim** | Spiraling into speculation. Need procedural clarity. Overthinking. | Methodical. Facts-based. Stable. |

## Categories

- **Task:** Project work with due dates. Mark done when complete.
- **Habit:** Daily wellness (hydrate, exercise, sleep). Checkable daily. Never "complete."
- **Chore:** Recurring maintenance (dishes, laundry). Checkable daily. Never "complete."