Metadata-Version: 2.4
Name: litterbox-api
Version: 0.0.1
Summary: A Python async SDK that wraps the Litterbox API into a clean, type-safe interface.
Author-email: Jerry <wujr24@m.fudan.edu.cn>
License: MIT
Project-URL: Homepage, https://github.com/Jerry-Wu-GitHub/litterbox-api
Project-URL: Repository, https://github.com/Jerry-Wu-GitHub/litterbox-api.git
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx
Requires-Dist: python-dotenv
Requires-Dist: typing-extensions
Requires-Dist: yarl
Dynamic: license-file

# Litterbox API

一个轻量、异步、类型安全的 [Litterbox](https://litterbox.catbox.moe) Python SDK。

提供临时的文件上传功能。

## 安装

```bash
pip install litterbox-api
```

## 快速开始

```python
import asyncio
from litterbox_api import LitterboxClient

async def main():
    async with LitterboxClient() as client:
        with open("example.jpg", "rb") as f:
            url = await client.upload(f)
        print("下载链接:", url)

asyncio.run(main())
```

## 主要功能

- ✅ 完全异步（基于 `httpx`）
- ✅ 类型提示支持
- ✅ 自动管理 HTTP 会话（上下文管理器）
- ✅ 自定义有效期与文件名长度
- ✅ 可传入自定义 HTTP 客户端

## 配置

可以通过环境变量（`.env` 文件或系统环境）配置：

```env
LITTERBOX_BASE_URL=https://litterbox.catbox.moe
LITTERBOX_API_PATH=resources/internals/api.php
```

## 提示

如果您要上传比较大的文件，需要手动设置 `timeout` 参数：

```python
await client.upload(f, timeout=1000)
```

## 许可证

[MIT](LICENSE)
