Metadata-Version: 2.4
Name: nullbr
Version: 1.0.0
Summary: Python SDK for Nullbr API - 用于访问 Nullbr API 的 Python SDK
Project-URL: Homepage, https://github.com/iLay1678/nullbr_python
Project-URL: Documentation, https://github.com/iLay1678/nullbr_python/blob/main/README.md
Project-URL: Repository, https://github.com/iLay1678/nullbr_python
Project-URL: Bug Tracker, https://github.com/iLay1678/nullbr_python/issues
Author-email: iLay1678 <ifwangs400@gmail.com>
Maintainer-email: iLay1678 <ifwangs400@gmail.com>
License: MIT
License-File: LICENSE
Keywords: api,movies,nullbr,sdk,tmdb,tv
Classifier: Development Status :: 4 - Beta
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.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Multimedia :: Video
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.9
Requires-Dist: httpx[http2,socks]>=0.28.1
Requires-Dist: python-dotenv>=1.1.0
Provides-Extra: dev
Requires-Dist: black>=23.0.0; extra == 'dev'
Requires-Dist: isort>=5.12.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: twine>=4.0.0; extra == 'dev'
Description-Content-Type: text/markdown

# nullbr-python

![PyPI - Version](https://img.shields.io/pypi/v/nullbr)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)

Python SDK for Nullbr API - 用于访问 Nullbr API 的 Python SDK

## 功能特性

- 🔍 搜索电影、电视剧、合集和人物
- 🎬 获取电影详细信息和资源链接
- 📺 获取电视剧详细信息和资源链接
- 📚 获取合集信息和资源链接
- 🔗 支持115网盘、磁力链接、电驴链接等多种资源类型
- 🛠️ 命令行工具支持
- 🔒 MIT 许可证

## 安装

### 使用 uv 安装

```bash
uv add nullbr
```

### 使用 pip 安装

```bash
pip install nullbr
```

### 从源码安装

```bash
git clone https://github.com/iLay1678/nullbr-python.git
cd nullbr
uv sync
uv pip install -e .
```

## 快速开始

### 基本用法

```python
from nullbr import NullbrSDK

# 初始化SDK
sdk = NullbrSDK(
    app_id="your_app_id",
    api_key="your_api_key"  # 可选，某些操作需要
)

# 搜索电影
results = sdk.search("复仇者联盟")
for item in results.items:
    print(f"{item.title} ({item.media_type})")

# 获取电影详细信息
movie = sdk.get_movie(299536)  # 复仇者联盟4的TMDB ID
print(f"电影名称: {movie.title}")
print(f"评分: {movie.vote}")
print(f"上映日期: {movie.release_date}")

# 获取电影资源（需要API Key）
if movie.has_115:
    resources = sdk.get_movie_115(299536)
    for resource in resources.items:
        print(f"资源: {resource.title} - {resource.size}")
```

### 命令行使用

使用uv：
```bash
# 搜索
uv run python -m nullbr.cli --app-id YOUR_APP_ID search "复仇者联盟"

# 获取电影信息
uv run python -m nullbr.cli --app-id YOUR_APP_ID movie 299536

# 获取电视剧信息
uv run python -m nullbr.cli --app-id YOUR_APP_ID tv 1396
```

如果已安装为全局包：
```bash
# 搜索
nullbr --app-id YOUR_APP_ID search "复仇者联盟"

# 获取电影信息
nullbr --app-id YOUR_APP_ID movie 299536

# 获取电视剧信息
nullbr --app-id YOUR_APP_ID tv 1396
```

## API 参考

### NullbrSDK

主要的SDK类，提供所有API方法。

#### 初始化

```python
sdk = NullbrSDK(
    app_id="your_app_id",
    api_key="your_api_key",  # 可选
    base_url="https://api.nullbr.eu.org"  # 默认值
)
```

#### 方法

##### search(query, page=1)
搜索媒体内容

- `query` (str): 搜索关键词
- `page` (int): 页码，默认为1
- 返回: `SearchResponse` 对象

##### get_movie(tmdbid)
获取电影详细信息

- `tmdbid` (int): 电影的TMDB ID
- 返回: `MovieResponse` 对象

##### get_movie_115(tmdbid, page=1)
获取电影115网盘资源（需要API Key）

- `tmdbid` (int): 电影的TMDB ID
- `page` (int): 页码，默认为1
- 返回: `Movie115Response` 对象

##### get_movie_magnet(tmdbid)
获取电影磁力资源

- `tmdbid` (int): 电影的TMDB ID
- 返回: `MovieMagnetResponse` 对象

##### get_tv(tmdbid)
获取电视剧详细信息

- `tmdbid` (int): 电视剧的TMDB ID
- 返回: `TVResponse` 对象

更多方法请参考源码文档。

## 数据模型

### MediaItem
媒体项目基础信息

### SearchResponse
搜索结果响应

### MovieResponse
电影信息响应

### TVResponse
电视剧信息响应

## 开发

### 安装开发依赖

```bash
uv sync --dev
```

或者使用pip：

```bash
pip install -e ".[dev]"
```

### 代码格式化

```bash
uv run black nullbr/
uv run isort nullbr/
```

### 运行测试

```bash
uv run pytest
```

## 许可证

本项目采用 MIT 许可证。详情请见 [LICENSE](LICENSE) 文件。

## 贡献

欢迎提交Issue和Pull Request！
