Metadata-Version: 2.4
Name: plyrfm
Version: 0.0.1a8
Summary: python sdk for plyr.fm - music streaming on AT Protocol
Author-email: zzstoatzz <thrast36@gmail.com>
License-Expression: MIT
Keywords: atproto,audio,bluesky,music,plyr,streaming
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Multimedia :: Sound/Audio
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27
Requires-Dist: pydantic-settings>=2.7.0
Requires-Dist: rich>=13.0.0
Description-Content-Type: text/markdown

# plyrfm

python sdk for [plyr.fm](https://plyr.fm) - music on atproto.

## install

```bash
pip install plyrfm
# or
uv add plyrfm
```

## usage

```python
from plyrfm import PlyrClient

# public operations (no auth needed)
client = PlyrClient()
tracks = client.list_tracks()
track = client.get_track(42)

# authenticated operations
client = PlyrClient(token="your_token")
my_tracks = client.my_tracks()
client.upload("song.mp3", "My Song")
client.download(42)
```

## CLI

```bash
# set token once
export PLYR_TOKEN="your_token"

# list public tracks
plyrfm list

# list your tracks
plyrfm my-tracks

# upload
plyrfm upload track.mp3 "Song Title"

# download
plyrfm download 42
```

## auth

get a developer token at [plyr.fm/portal](https://plyr.fm/portal) -> "developer tokens"
