semvec/pypi-packages huggingface dataset:
pysortlib 1.0.1
Python Sorting Library
Requires Python: >=3.13
Keywords: sorting, algorithms, data structures

# Python Sorting Library

[![PyPI](https://img.shields.io/pypi/v/pysortlib)](https://pypi.org/project/pysortlib)
[![Downloads](https://static.pepy.tech/badge/pysortlib)](https://pepy.tech/project/pysortlib)
[![Coverage](https://codecov.io/gh/slimreaper35/pysortlib/graph/badge.svg?token=S24DIT654W)](https://codecov.io/gh/slimreaper35/pysortlib)

Library of sorting algorithms with precise implementation and documentation.

## Algorithms

- Bubble sort
- Counting sort
- Cycle sort
- Heap sort
- Insert sort
- Merge sort
- Pancake sort
- Quick sort
- Radix sort
- Selection sort
- Shell sort
- Sleep sort

## Install

```bash
pip install pysortlib
```

## Usage

```python
from pysortlib import insert_sort

array = [3, 5, 2, 1, 7, 4, 6]
insert_sort(array)  # set a breakpoint and explore \o/
print(array)
```

## Development

### Virtual environment

```bash
pip install --user uv
uv venv
uv sync
```

### Pre-commit

```bash
pre-commit clean
pre-commit install --hook-type pre-commit
```

## Testing

```bash
nox
```

### Coding standards

- ~~perfectionism~~
- [ruff](https://beta.ruff.rs/docs/) - static code analysis
- [mypy](https://mypy.readthedocs.io/en/stable/) - static type checking
- [pytest](https://docs.pytest.org/en/stable/) - unit tests
astrnet 0.2.1
基于fastapi的通信网络
Requires Python: >=3.10

"""Astrnet: 集成TaskIQ和Strawberry的简单API框架

Astrnet提供了一个简单的类AstrnetApp，用于将TaskIQ分布式任务调度与Strawberry GraphQL集成，
无需网络端口（使用InMemoryBroker）。

基本用法:

```python
from astrnet import AstrnetApp

app = AstrnetApp()

@app.task
async def add_numbers(a: int, b: int) -> int:
    return a + b

@app.query
async def calculate(a: int, b: int) -> int:
    # 自动调用TaskIQ任务
    return await app.run_task("add_numbers", a, b)

schema = app.create_schema()
```

然后可以执行GraphQL查询:

```python
result = await schema.execute("{ calculate(a: 1, b: 2) }")
print(result.data)  # {'calculate': 3}
```

也可以挂载到FastAPI:

```python
from fastapi import FastAPI
from strawberry.fastapi import GraphQLRouter

fastapi_app = FastAPI()
graphql_router = app.create_graphql_router(schema)
fastapi_app.include_router(graphql_router, prefix="/graphql")
```
"""
astrbot-paths 0.2.1
提供各类路径,确保整个系统路径规范
Requires Python: >=3.10

# Astrbot Paths

- 规范化路径获取



- 默认值为：

- ~/.astrbot/

- 如果介意设置到C盘（主目录），可以按以下方法指定根目录：

- 请在当前目录下新建.env文件自定义根目录

- 或者通过环境变量指定

'''env

# astrbot根目录
ASTRBOT_ROOT = "./.astrbot"

'''

# 使用方法速览
'''python
paths = AstrbotPaths.getPaths("pypi_name") # pypi_name将会被规范化处理

print(paths.data) #模块数据目录

print(paths.config) #模块配置目录

print(paths.root) #模块自身的根

全部基于pathlib Path类

可使用以下语法糖：

paths.data / "xxx.db"


'''
astrbot-config 0.2.1
astrbot configuration 
Requires Python: >=3.10

# Astrbot Config

一个强大的 Python 配置管理库，结合 Pydantic 的类型安全和 keyring 的安全密钥存储。

## 特性

- **类型安全**：使用 Pydantic BaseModel 确保配置数据结构正确
- **自动持久化**：配置自动保存为 TOML 文件
- **安全密钥管理**：敏感信息使用系统密钥环存储，避免明文保存
- **嵌套配置支持**：支持复杂嵌套的配置结构
- **简单 API**：易用的绑定和访问接口

## 安装

```bash
uv pip install astrbot-config

安装到当前项目：
uv add astrbot-config
```

## 快速开始

### 基本配置

```python
from pathlib import Path
from pydantic import BaseModel
from astrbot_config import AstrbotConfigEntry

# 定义配置类
class MyConfig(BaseModel):
    name: str
    value: int

# 绑定配置
cfg = AstrbotConfigEntry[MyConfig].bind(
    group="my_app",
    name="settings",
    default=MyConfig(name="default", value=42),
    description="应用配置",
    cfg_dir=Path.cwd() / "config"
)

# 访问配置
print(cfg.value.name)  # default

# 修改并保存
cfg.value.name = "updated"
cfg.save()
```

### 嵌套配置

```python
class SubConfig(BaseModel):
    enabled: bool
    timeout: int

class AppConfig(BaseModel):
    host: str
    port: int
    features: SubConfig

cfg = AstrbotConfigEntry[AppConfig].bind(
    group="server",
    name="config",
    default=AppConfig(
        host="localhost",
        port=8080,
        features=SubConfig(enabled=True, timeout=30)
    ),
    description="服务器配置",
    cfg_dir=Path.cwd() / "config"
)
```

### 安全密钥管理

```python
from astrbot_config import AstrbotSecretKey
from pydantic import Field

class SecureConfig(BaseModel):
    api_key: AstrbotSecretKey = Field(default_factory=lambda: AstrbotSecretKey(key_name="my-api-key"))

cfg = AstrbotConfigEntry[SecureConfig].bind(
    group="api",
    name="secrets",
    default=SecureConfig(),
    description="API 密钥配置",
    cfg_dir=Path.cwd() / "config"
)

# 设置密钥(请勿！照猫画虎！请通过交互式/直接改文件的方式设置密钥，直接这样硬编码是不安全的！)
cfg.value.api_key.secret = "your-secret-key" # 会自动将密钥保存到不可篡改的地方（系统的密钥库内）
cfg.save() # 设置完记得保存

# 安全访问密钥
with cfg.value.api_key.ctx() as secret:
    print(f"Secret: {secret}")  # 仅在此上下文内可用

# 异步版本
async cfg.value.api_key.actx() as secret:
    ...


# 删除密钥

del cfg.value.api_key.secret


# 打印/记录到日志也无妨，防止误操作，只能通过with语句来获取secret

print(cfg.value.api_key) #安全
print(cfg.value.api_key.secret) #安全




```


## API 参考

### AstrbotConfigEntry

- `bind(group, name, default, description, cfg_dir)`: 绑定配置实例
- `save()`: 保存配置到文件
- `load()`: 从文件加载配置
- `value`: 访问配置对象

### AstrbotSecretKey

- `secret`: 属性设置/删除密钥（警告：直接访问返回 key_id）
- `ctx()`: 同步上下文管理器获取密钥
- `actx()`: 异步上下文管理器获取密钥

## 许可证

MIT License
astrbot-canary-web 0.2.1
astrbot canary web module
Requires Python: >=3.10

# Robyn bug太多

## 有缘下个模块再见

## 先官方支持这个fastapi版本的

# 响应包结构：

{
status: str | None,
message: str | None，
data : dict | list | None
}