Metadata-Version: 2.4
Name: pyfreedom
Version: 0.1.0
Summary: Spotify Connect client (protobuf 6.x compatible fork of librespot-python)
Project-URL: Homepage, https://github.com/anthropics/pyfreedom
Project-URL: Repository, https://github.com/anthropics/pyfreedom
Author: kokarare1212
Maintainer: hanle
License-Expression: Apache-2.0
License-File: LICENSE.txt
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Multimedia :: Sound/Audio
Requires-Python: >=3.10
Requires-Dist: defusedxml>=0.7.1
Requires-Dist: protobuf>=6.0
Requires-Dist: pycryptodomex>=3.22.0
Requires-Dist: pyogg>=0.6.14a.1
Requires-Dist: requests>=2.32.3
Requires-Dist: websocket-client>=1.8.0
Requires-Dist: zeroconf>=0.146.4
Description-Content-Type: text/markdown

# pyfreedom

[librespot-python](https://github.com/kokarare1212/librespot-python) 的 protobuf 6.x 兼容分支。

## 解决的问题

原版 librespot 的 `_pb2.py` 由 protoc 3.x 生成，强制依赖 `protobuf==3.20.1`。这与 pywidevine、votify 等需要 `protobuf>=6.x` 的工具冲突，无法共存于同一 Python 环境。

pyfreedom 用 protoc 33.4 重新生成了全部 35 个 proto 文件，兼容 protobuf 6.x。

## 安装

```bash
pip install pyfreedom
```

与 pywidevine 共存（不再需要独立 venv）：

```bash
pip install pyfreedom pywidevine
```

## 使用

```python
from pyfreedom.core import Session
from pyfreedom.audio.format import SuperAudioFormat
```

## 与原版的区别

| | librespot | pyfreedom |
|---|---|---|
| protobuf | ==3.20.1 | >=6.0 |
| pywidevine 共存 | 冲突 | 兼容 |
| 功能 | 相同 | 相同 |
| import name | `librespot` | `pyfreedom` |

## 许可证

Apache-2.0（继承自原项目）
