Metadata-Version: 2.4
Name: yojip
Version: 0.1.1
Summary: Join multiple audio outputs into synchronized PipeWire combined sinks
Author-email: Ashwin S <ashsanthosh8@gmail.com>
License-Expression: MIT
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

<h1 align="center">Yojip</h1>


<p align="center">
  <a href="https://pypi.org/project/yojip/">
    <img src="https://img.shields.io/pypi/v/yojip" alt="PyPI version">
  </a>
  <a href="https://pepy.tech/project/yojip">
    <img src="https://pepy.tech/badge/yojip" alt="Downloads">
  </a>
  <a href="https://github.com/Shanwis/yojip/blob/main/LICENSE">
    <img src="https://img.shields.io/pypi/l/yojip" alt="License">
  </a>
  <a href="https://pypi.org/project/yojip/">
    <img src="https://img.shields.io/pypi/pyversions/yojip" alt="Python Versions">
  </a>
</p>

Join multiple audio outputs into synchronized PipeWire combined sinks ("parties").

Yojip is a lightweight command-line utility for Linux that lets you play audio through multiple output devices simultaneously using PipeWire. It automatically creates and manages combined sinks, making it easy to stream audio to speakers, headphones, Bluetooth devices, and other outputs at the same time.

## Features
- List available audio outputs
- Filter outputs to show only Bluetooth devices
- Create synchronized combined sinks across multiple devices
- Create parties using only Bluetooth outputs
- Automatically set the combined sink as the default output
- Remove combined sinks when no longer needed
- Simple CLI interface

## Commands

```
yojip outputs              List available audio outputs
yojip outputs -b           List only Bluetooth outputs
yojip party                Create a combined sink with all outputs (and set it as default)
yojip party create         Same as above
yojip party -b             Create a party using only Bluetooth outputs
yojip party -b create      Same as above
yojip party delete         Destroy the combined sink
```

### Options
- `-b, --bluetooth` — Filter to Bluetooth devices only (works with both `outputs` and `party`)

## Requirements

- PipeWire (with `pipewire-pulse` for `pactl`)
- Python 3.10+

## Installation

```bash
pip install yojip
```

Or run from source:

```bash
python -m yojip outputs
```

## LICENSE

This project is licensed under the MIT License. See the LICENSE file for details.
