lava-lyra


Namelava-lyra JSON
Version 1.5.0 PyPI version JSON
download
home_pagehttps://github.com/ParrotXray/lava-lyra
SummaryA modern Lavalink v4 wrapper for py-cord, based on Pomice
upload_time2025-10-29 01:08:42
maintainerNone
docs_urlNone
authorParrotXray
requires_python>=3.10
licenseGPL-3.0
keywords discord lavalink py-cord music audio lavalink4 voice streaming
VCS
bugtrack_url
requirements aiohttp typing-extensions py-cord
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Lyra

[![PyPI](https://img.shields.io/pypi/v/lava-lyra.svg)](https://pypi.org/project/lava-lyra/)
[![downloads](https://img.shields.io/pypi/dm/lava-lyra.svg)](https://pypi.org/project/lava-lyra/)
[![Python](https://img.shields.io/pypi/pyversions/lava-lyra.svg)](https://pypi.org/project/lava-lyra/)
[![License](https://img.shields.io/github/license/ParrotXray/lava-lyra.svg)](https://github.com/ParrotXray/Lyra/blob/main/LICENSE)

A modern Lavalink v4 wrapper designed for py-cord, based on the excellent [Pomice](https://github.com/cloudwithax/pomice) library by cloudwithax.

## What's New in Lyra

Lyra is a complete refactor of Pomice for **Lavalink v4**, bringing significant improvements:

- **Full Lavalink v4 REST API support**
- **Server-side plugin integration** (LavaSrc, YouTube plugin, etc.)
- **Simplified setup** - No more API credentials needed in client
- **Better error handling** and plugin support  
- **Removed deprecated modules** (client-side Spotify/Apple Music parsing)
- **Optimized for py-cord** instead of discord.py
- **Improved documentation** and examples

## Key Differences from Pomice

| Feature | Pomice (v2.x) | Lyra (v1.x) |
|---------|---------------|-------------|
| Lavalink Support | v3.x & v4.x | **v4.x** |
| Discord Library | discord.py | **py-cord** |
| Spotify Support | Client-side API | **Server plugin** |
| Apple Music Support | Client-side API | **Server plugin** |
| Setup Complexity | API keys required | **Plugin configuration only** |
| Architecture | Mixed client/server | **Pure server-side** |

## Quick Start

### Installation

```bash
pip install lava_lyra
```

### Basic Usage

```python
import discord
import lava_lyra

class Bot(discord.Bot):
    def __init__(self):
        super().__init__(intents=discord.Intents.default())
        self.node = None

    async def on_ready(self):
        print(f'Logged in as {self.user}')

        # Create Lavalink nodes - much simpler than before!
        node = await lava_lyra.NodePool.create_node(
          bot=self,
          host='localhost',
          port=2333,
          password='youshallnotpass',
          identifier='MAIN',
          lyrics=False,
          lavasearch=True,  # Enable LavaSearch plugin support
          fallback=True
        )
        print(f"Created node: {node.identifier}")

bot = Bot()
bot.run('your_bot_token')
```

### Playing Music

```python
@bot.slash_command(description="Play music")
async def play(ctx, query: str):
    # Connect to voice channel
    if not ctx.author.voice:
        return await ctx.respond("You need to be in a voice channel!")
    
    player = await ctx.author.voice.channel.connect(cls=lava_lyra.Player)
    
    # Search for tracks (supports Spotify, YouTube, Apple Music via plugins!)
    results = await player.get_tracks(query)
    
    if not results:
        return await ctx.respond("No tracks found!")
    
    # Play the track
    track = results[0]
    await player.play(track)
    await ctx.respond(f"Now playing: **{track.title}**")
```

### Advanced Search with LavaSearch

LavaSearch plugin provides advanced search capabilities across tracks, albums, artists, playlists, and text suggestions.

**Important:** You must enable LavaSearch when creating the node by setting `search=True`:

```python
node = await lava_lyra.NodePool.create_node(
    bot=bot,
    host='localhost',
    port=2333,
    password='youshallnotpass',
    identifier='MAIN',
    search=True  # Enable LavaSearch support
)
```

```python
@bot.slash_command(description="Search for music")
async def search(ctx, query: str, platform: str = "youtube"):
    # Get the node
    node = lava_lyra.NodePool.get_node()

    # Map platform to search type
    search_types = {
        "youtube": lava_lyra.SearchType.ytsearch,
        "spotify": lava_lyra.SearchType.spsearch,
        "soundcloud": lava_lyra.SearchType.scsearch,
        "apple_music": lava_lyra.SearchType.amsearch,
    }

    # Search for tracks, albums, artists, playlists, and text
    result = await node.load_search(
        query=query,
        types=[
            lava_lyra.LavaSearchType.TRACK,
            lava_lyra.LavaSearchType.ALBUM,
            lava_lyra.LavaSearchType.ARTIST,
            lava_lyra.LavaSearchType.PLAYLIST,
            lava_lyra.LavaSearchType.TEXT
        ],
        search_type=search_types.get(platform, lava_lyra.SearchType.ytsearch),
        ctx=ctx
    )

    if not result:
        return await ctx.respond("No results found!")

    # Display results
    response = [f"**Search results for '{query}' on {platform}:**\n"]

    if result.tracks:
        response.append(f"**Tracks ({len(result.tracks)}):**")
        for track in result.tracks[:3]:  # Show first 3
            response.append(f"  - {track.title} by {track.author}")

    if result.albums:
        response.append(f"\n**Albums ({len(result.albums)}):**")
        for album in result.albums[:3]:
            response.append(f"  - {album.name}")

    if result.artists:
        response.append(f"\n**Artists ({len(result.artists)}):**")
        for artist in result.artists[:3]:
            response.append(f"  - {artist.name}")

    if result.playlists:
        response.append(f"\n**Playlists ({len(result.playlists)}):**")
        for playlist in result.playlists[:3]:
            response.append(f"  - {playlist.name}")

    if result.texts:
        response.append(f"\n**Suggestions:**")
        for text in result.texts[:5]:
            response.append(f"  - {text.text}")

    await ctx.respond("\n".join(response))
```

**Note:** The LavaSearch plugin must be installed on your Lavalink server for this feature to work. See the server setup section below.

## Lavalink v4 Server Setup

Lyra requires a Lavalink v4 server with plugins. Here's a basic `application.yml`:

```yaml
server:
  port: 2333
  address: 127.0.0.1

lavalink:
  plugins:
    # Required for YouTube support
    - dependency: "dev.lavalink.youtube:youtube-plugin:VERSION"
    - repository: "https://maven.lavalink.dev/releases"

    # Required for Spotify, Apple Music, Deezer, etc.
    - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:VERSION"
      repository: "https://maven.lavalink.dev/releases"

    # Optional: LavaSearch for advanced search functionality
    - dependency: "com.github.topi314.lavasearch:lavasearch-plugin:VERSION"
      repository: "https://maven.lavalink.dev/releases"

  server:
    password: "youshallnotpass"

plugins:
  youtube:
    enabled: true
    allowSearch: true

  lavasrc:
    sources:
      spotify: true
      applemusic: true
      deezer: true
    
    spotify:
      clientId: "your_spotify_client_id"
      clientSecret: "your_spotify_client_secret"
      countryCode: "US"
```

## Supported Platforms

All platforms are now supported via Lavalink server plugins:

- **YouTube** - via [YouTube](https://github.com/lavalink-devs/youtube-source) plugin
- **Spotify** - via [LavaSrc](https://github.com/topi314/LavaSrc) plugin
- **Apple Music** - via [LavaSrc](https://github.com/topi314/LavaSrc) plugin
- **Bilibili** - via [Lavabili](https://github.com/ParrotXray/lavabili-plugin) plugin
- **SoundCloud** - built-in [Lavalink](https://github.com/lavalink-devs/Lavalink)
- **And many more** via community plugins!

## LavaSearch Plugin Support

Lyra now includes full support for the [LavaSearch](https://github.com/topi314/LavaSearch) plugin, which provides advanced search capabilities:

### Features

- **Multi-type Search**: Search for tracks, albums, artists, playlists, and text suggestions in a single query
- **Rich Results**: Get comprehensive search results with detailed metadata
- **Plugin Integration**: Works seamlessly with LavaSrc and other Lavalink plugins

### Installation

Add LavaSearch to your Lavalink server's `application.yml`:

```yaml
lavalink:
  plugins:
    - dependency: "com.github.topi314.lavasearch:lavasearch-plugin:x.y.z"
      repository: "https://maven.lavalink.dev/releases"
```

Replace `x.y.z` with the [latest version](https://github.com/topi314/LavaSearch/releases).

**Example:**

```python
# Search YouTube for everything
result = await node.load_search(
    query="architects animals",
    types=[
        lava_lyra.LavaSearchType.TRACK,
        lava_lyra.LavaSearchType.ALBUM,
        lava_lyra.LavaSearchType.ARTIST,
        lava_lyra.LavaSearchType.PLAYLIST,
        lava_lyra.LavaSearchType.TEXT
    ],
    search_type=lava_lyra.SearchType.ytsearch
)

# Search Spotify for tracks and artists
result = await node.load_search(
    query="metallica",
    types=[
        lava_lyra.LavaSearchType.TRACK,
        lava_lyra.LavaSearchType.ARTIST
    ],
    search_type=lava_lyra.SearchType.spsearch
)

# Search Apple Music for albums
result = await node.load_search(
    query="taylor swift",
    types=[lava_lyra.LavaSearchType.ALBUM],
    search_type=lava_lyra.SearchType.amsearch
)
```

## Contributing

We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.

## License and Credits

### License
This project is licensed under the **GPL-3.0 License** - see the [LICENSE](LICENSE) file for details.

### Credits and Attribution

**Lyra** is based on the excellent [**Pomice**](https://github.com/cloudwithax/pomice) library:

- **Original Pomice**: Copyright (c) 2023, [cloudwithax](https://github.com/cloudwithax)
- **Lyra (Lavalink v4 refactor)**: Copyright (c) 2025, ParrotXray

We extend our heartfelt thanks to **cloudwithax** and all Pomice contributors for creating the solid foundation that made Lyra possible. This project builds upon their excellent work to provide Lavalink v4 compatibility and modern server-side plugin support.

### Key Contributors
- **cloudwithax** - Original Pomice library creator
- **ParrotXray** - Lavalink v4 refactoring and Lyra development  
- **Community contributors** - Bug reports, features, and improvements

## Links

- [PyPI Package](https://pypi.org/project/lava-lyra/)
- [GitHub Repository](https://github.com/ParrotXray/Lyra)
- [Bug Reports](https://github.com/ParrotXray/lyra/issues)
- [Original Pomice](https://github.com/cloudwithax/pomice)

### Credits and Attribution

**Lyra** is based on the excellent [**Pomice**](https://github.com/cloudwithax/pomice) library:

- **Original Pomice**: Copyright (c) 2023, [cloudwithax](https://github.com/cloudwithax)
- **Lyra (Lavalink v4 refactor)**: Copyright (c) 2025, [ParrotXray](https://github.com/ParrotXray)

We extend our heartfelt thanks to **cloudwithax** and all Pomice contributors for creating the solid foundation that made Lyra possible. This project builds upon their excellent work to provide Lavalink v4 compatibility and modern server-side plugin support.

### Key Contributors
- **cloudwithax** - Original Pomice library creator
- **ParrotXray** - Lavalink v4 refactoring and Lyra development  
- **Community contributors** - Bug reports, features, and improvements

## Star History

If you find Lyra useful, please consider giving it a star!

---

*Made with love for the Discord music bot community*

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ParrotXray/lava-lyra",
    "name": "lava-lyra",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "discord, lavalink, py-cord, music, audio, lavalink4, voice, streaming",
    "author": "ParrotXray",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/27/9e/1e10eeb9bb11e582d38c4cd4285c8561eafda0eb07cf783b17a5c819a484/lava_lyra-1.5.0.tar.gz",
    "platform": null,
    "description": "# Lyra\n\n[![PyPI](https://img.shields.io/pypi/v/lava-lyra.svg)](https://pypi.org/project/lava-lyra/)\n[![downloads](https://img.shields.io/pypi/dm/lava-lyra.svg)](https://pypi.org/project/lava-lyra/)\n[![Python](https://img.shields.io/pypi/pyversions/lava-lyra.svg)](https://pypi.org/project/lava-lyra/)\n[![License](https://img.shields.io/github/license/ParrotXray/lava-lyra.svg)](https://github.com/ParrotXray/Lyra/blob/main/LICENSE)\n\nA modern Lavalink v4 wrapper designed for py-cord, based on the excellent [Pomice](https://github.com/cloudwithax/pomice) library by cloudwithax.\n\n## What's New in Lyra\n\nLyra is a complete refactor of Pomice for **Lavalink v4**, bringing significant improvements:\n\n- **Full Lavalink v4 REST API support**\n- **Server-side plugin integration** (LavaSrc, YouTube plugin, etc.)\n- **Simplified setup** - No more API credentials needed in client\n- **Better error handling** and plugin support  \n- **Removed deprecated modules** (client-side Spotify/Apple Music parsing)\n- **Optimized for py-cord** instead of discord.py\n- **Improved documentation** and examples\n\n## Key Differences from Pomice\n\n| Feature | Pomice (v2.x) | Lyra (v1.x) |\n|---------|---------------|-------------|\n| Lavalink Support | v3.x & v4.x | **v4.x** |\n| Discord Library | discord.py | **py-cord** |\n| Spotify Support | Client-side API | **Server plugin** |\n| Apple Music Support | Client-side API | **Server plugin** |\n| Setup Complexity | API keys required | **Plugin configuration only** |\n| Architecture | Mixed client/server | **Pure server-side** |\n\n## Quick Start\n\n### Installation\n\n```bash\npip install lava_lyra\n```\n\n### Basic Usage\n\n```python\nimport discord\nimport lava_lyra\n\nclass Bot(discord.Bot):\n    def __init__(self):\n        super().__init__(intents=discord.Intents.default())\n        self.node = None\n\n    async def on_ready(self):\n        print(f'Logged in as {self.user}')\n\n        # Create Lavalink nodes - much simpler than before!\n        node = await lava_lyra.NodePool.create_node(\n          bot=self,\n          host='localhost',\n          port=2333,\n          password='youshallnotpass',\n          identifier='MAIN',\n          lyrics=False,\n          lavasearch=True,  # Enable LavaSearch plugin support\n          fallback=True\n        )\n        print(f\"Created node: {node.identifier}\")\n\nbot = Bot()\nbot.run('your_bot_token')\n```\n\n### Playing Music\n\n```python\n@bot.slash_command(description=\"Play music\")\nasync def play(ctx, query: str):\n    # Connect to voice channel\n    if not ctx.author.voice:\n        return await ctx.respond(\"You need to be in a voice channel!\")\n    \n    player = await ctx.author.voice.channel.connect(cls=lava_lyra.Player)\n    \n    # Search for tracks (supports Spotify, YouTube, Apple Music via plugins!)\n    results = await player.get_tracks(query)\n    \n    if not results:\n        return await ctx.respond(\"No tracks found!\")\n    \n    # Play the track\n    track = results[0]\n    await player.play(track)\n    await ctx.respond(f\"Now playing: **{track.title}**\")\n```\n\n### Advanced Search with LavaSearch\n\nLavaSearch plugin provides advanced search capabilities across tracks, albums, artists, playlists, and text suggestions.\n\n**Important:** You must enable LavaSearch when creating the node by setting `search=True`:\n\n```python\nnode = await lava_lyra.NodePool.create_node(\n    bot=bot,\n    host='localhost',\n    port=2333,\n    password='youshallnotpass',\n    identifier='MAIN',\n    search=True  # Enable LavaSearch support\n)\n```\n\n```python\n@bot.slash_command(description=\"Search for music\")\nasync def search(ctx, query: str, platform: str = \"youtube\"):\n    # Get the node\n    node = lava_lyra.NodePool.get_node()\n\n    # Map platform to search type\n    search_types = {\n        \"youtube\": lava_lyra.SearchType.ytsearch,\n        \"spotify\": lava_lyra.SearchType.spsearch,\n        \"soundcloud\": lava_lyra.SearchType.scsearch,\n        \"apple_music\": lava_lyra.SearchType.amsearch,\n    }\n\n    # Search for tracks, albums, artists, playlists, and text\n    result = await node.load_search(\n        query=query,\n        types=[\n            lava_lyra.LavaSearchType.TRACK,\n            lava_lyra.LavaSearchType.ALBUM,\n            lava_lyra.LavaSearchType.ARTIST,\n            lava_lyra.LavaSearchType.PLAYLIST,\n            lava_lyra.LavaSearchType.TEXT\n        ],\n        search_type=search_types.get(platform, lava_lyra.SearchType.ytsearch),\n        ctx=ctx\n    )\n\n    if not result:\n        return await ctx.respond(\"No results found!\")\n\n    # Display results\n    response = [f\"**Search results for '{query}' on {platform}:**\\n\"]\n\n    if result.tracks:\n        response.append(f\"**Tracks ({len(result.tracks)}):**\")\n        for track in result.tracks[:3]:  # Show first 3\n            response.append(f\"  - {track.title} by {track.author}\")\n\n    if result.albums:\n        response.append(f\"\\n**Albums ({len(result.albums)}):**\")\n        for album in result.albums[:3]:\n            response.append(f\"  - {album.name}\")\n\n    if result.artists:\n        response.append(f\"\\n**Artists ({len(result.artists)}):**\")\n        for artist in result.artists[:3]:\n            response.append(f\"  - {artist.name}\")\n\n    if result.playlists:\n        response.append(f\"\\n**Playlists ({len(result.playlists)}):**\")\n        for playlist in result.playlists[:3]:\n            response.append(f\"  - {playlist.name}\")\n\n    if result.texts:\n        response.append(f\"\\n**Suggestions:**\")\n        for text in result.texts[:5]:\n            response.append(f\"  - {text.text}\")\n\n    await ctx.respond(\"\\n\".join(response))\n```\n\n**Note:** The LavaSearch plugin must be installed on your Lavalink server for this feature to work. See the server setup section below.\n\n## Lavalink v4 Server Setup\n\nLyra requires a Lavalink v4 server with plugins. Here's a basic `application.yml`:\n\n```yaml\nserver:\n  port: 2333\n  address: 127.0.0.1\n\nlavalink:\n  plugins:\n    # Required for YouTube support\n    - dependency: \"dev.lavalink.youtube:youtube-plugin:VERSION\"\n    - repository: \"https://maven.lavalink.dev/releases\"\n\n    # Required for Spotify, Apple Music, Deezer, etc.\n    - dependency: \"com.github.topi314.lavasrc:lavasrc-plugin:VERSION\"\n      repository: \"https://maven.lavalink.dev/releases\"\n\n    # Optional: LavaSearch for advanced search functionality\n    - dependency: \"com.github.topi314.lavasearch:lavasearch-plugin:VERSION\"\n      repository: \"https://maven.lavalink.dev/releases\"\n\n  server:\n    password: \"youshallnotpass\"\n\nplugins:\n  youtube:\n    enabled: true\n    allowSearch: true\n\n  lavasrc:\n    sources:\n      spotify: true\n      applemusic: true\n      deezer: true\n    \n    spotify:\n      clientId: \"your_spotify_client_id\"\n      clientSecret: \"your_spotify_client_secret\"\n      countryCode: \"US\"\n```\n\n## Supported Platforms\n\nAll platforms are now supported via Lavalink server plugins:\n\n- **YouTube** - via [YouTube](https://github.com/lavalink-devs/youtube-source) plugin\n- **Spotify** - via [LavaSrc](https://github.com/topi314/LavaSrc) plugin\n- **Apple Music** - via [LavaSrc](https://github.com/topi314/LavaSrc) plugin\n- **Bilibili** - via [Lavabili](https://github.com/ParrotXray/lavabili-plugin) plugin\n- **SoundCloud** - built-in [Lavalink](https://github.com/lavalink-devs/Lavalink)\n- **And many more** via community plugins!\n\n## LavaSearch Plugin Support\n\nLyra now includes full support for the [LavaSearch](https://github.com/topi314/LavaSearch) plugin, which provides advanced search capabilities:\n\n### Features\n\n- **Multi-type Search**: Search for tracks, albums, artists, playlists, and text suggestions in a single query\n- **Rich Results**: Get comprehensive search results with detailed metadata\n- **Plugin Integration**: Works seamlessly with LavaSrc and other Lavalink plugins\n\n### Installation\n\nAdd LavaSearch to your Lavalink server's `application.yml`:\n\n```yaml\nlavalink:\n  plugins:\n    - dependency: \"com.github.topi314.lavasearch:lavasearch-plugin:x.y.z\"\n      repository: \"https://maven.lavalink.dev/releases\"\n```\n\nReplace `x.y.z` with the [latest version](https://github.com/topi314/LavaSearch/releases).\n\n**Example:**\n\n```python\n# Search YouTube for everything\nresult = await node.load_search(\n    query=\"architects animals\",\n    types=[\n        lava_lyra.LavaSearchType.TRACK,\n        lava_lyra.LavaSearchType.ALBUM,\n        lava_lyra.LavaSearchType.ARTIST,\n        lava_lyra.LavaSearchType.PLAYLIST,\n        lava_lyra.LavaSearchType.TEXT\n    ],\n    search_type=lava_lyra.SearchType.ytsearch\n)\n\n# Search Spotify for tracks and artists\nresult = await node.load_search(\n    query=\"metallica\",\n    types=[\n        lava_lyra.LavaSearchType.TRACK,\n        lava_lyra.LavaSearchType.ARTIST\n    ],\n    search_type=lava_lyra.SearchType.spsearch\n)\n\n# Search Apple Music for albums\nresult = await node.load_search(\n    query=\"taylor swift\",\n    types=[lava_lyra.LavaSearchType.ALBUM],\n    search_type=lava_lyra.SearchType.amsearch\n)\n```\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.\n\n## License and Credits\n\n### License\nThis project is licensed under the **GPL-3.0 License** - see the [LICENSE](LICENSE) file for details.\n\n### Credits and Attribution\n\n**Lyra** is based on the excellent [**Pomice**](https://github.com/cloudwithax/pomice) library:\n\n- **Original Pomice**: Copyright (c) 2023, [cloudwithax](https://github.com/cloudwithax)\n- **Lyra (Lavalink v4 refactor)**: Copyright (c) 2025, ParrotXray\n\nWe extend our heartfelt thanks to **cloudwithax** and all Pomice contributors for creating the solid foundation that made Lyra possible. This project builds upon their excellent work to provide Lavalink v4 compatibility and modern server-side plugin support.\n\n### Key Contributors\n- **cloudwithax** - Original Pomice library creator\n- **ParrotXray** - Lavalink v4 refactoring and Lyra development  \n- **Community contributors** - Bug reports, features, and improvements\n\n## Links\n\n- [PyPI Package](https://pypi.org/project/lava-lyra/)\n- [GitHub Repository](https://github.com/ParrotXray/Lyra)\n- [Bug Reports](https://github.com/ParrotXray/lyra/issues)\n- [Original Pomice](https://github.com/cloudwithax/pomice)\n\n### Credits and Attribution\n\n**Lyra** is based on the excellent [**Pomice**](https://github.com/cloudwithax/pomice) library:\n\n- **Original Pomice**: Copyright (c) 2023, [cloudwithax](https://github.com/cloudwithax)\n- **Lyra (Lavalink v4 refactor)**: Copyright (c) 2025, [ParrotXray](https://github.com/ParrotXray)\n\nWe extend our heartfelt thanks to **cloudwithax** and all Pomice contributors for creating the solid foundation that made Lyra possible. This project builds upon their excellent work to provide Lavalink v4 compatibility and modern server-side plugin support.\n\n### Key Contributors\n- **cloudwithax** - Original Pomice library creator\n- **ParrotXray** - Lavalink v4 refactoring and Lyra development  \n- **Community contributors** - Bug reports, features, and improvements\n\n## Star History\n\nIf you find Lyra useful, please consider giving it a star!\n\n---\n\n*Made with love for the Discord music bot community*\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "A modern Lavalink v4 wrapper for py-cord, based on Pomice",
    "version": "1.5.0",
    "project_urls": {
        "Changelog": "https://github.com/ParrotXray/lava-lyra/blob/main/CHANGELOG.md",
        "Homepage": "https://github.com/ParrotXray/lava-lyra",
        "Issue Tracker": "https://github.com/ParrotXray/lava-lyra/issues",
        "Original Pomice": "https://github.com/cloudwithax/pomice",
        "Repository": "https://github.com/ParrotXray/lava-lyra",
        "Source": "https://github.com/ParrotXray/lava-lyra"
    },
    "split_keywords": [
        "discord",
        " lavalink",
        " py-cord",
        " music",
        " audio",
        " lavalink4",
        " voice",
        " streaming"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4bd18330a8b7ee94806cf36c4c6bf486a4229ecd06d26c628e6274e23b0fb26a",
                "md5": "1918d1cdc775efa0c00be3f8929d10cd",
                "sha256": "352552224c1c5bcf6b0245dc1275d0e9fe3248f5212fd33506ac43c41a1b4544"
            },
            "downloads": -1,
            "filename": "lava_lyra-1.5.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1918d1cdc775efa0c00be3f8929d10cd",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 58544,
            "upload_time": "2025-10-29T01:08:40",
            "upload_time_iso_8601": "2025-10-29T01:08:40.933477Z",
            "url": "https://files.pythonhosted.org/packages/4b/d1/8330a8b7ee94806cf36c4c6bf486a4229ecd06d26c628e6274e23b0fb26a/lava_lyra-1.5.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "279e1e10eeb9bb11e582d38c4cd4285c8561eafda0eb07cf783b17a5c819a484",
                "md5": "84a10aecefe6b06d2e427d83445f3eff",
                "sha256": "3f927dfbf158d4d8b51245974708d02251f8391a48153775ef80660a7c02c37c"
            },
            "downloads": -1,
            "filename": "lava_lyra-1.5.0.tar.gz",
            "has_sig": false,
            "md5_digest": "84a10aecefe6b06d2e427d83445f3eff",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 59402,
            "upload_time": "2025-10-29T01:08:42",
            "upload_time_iso_8601": "2025-10-29T01:08:42.746769Z",
            "url": "https://files.pythonhosted.org/packages/27/9e/1e10eeb9bb11e582d38c4cd4285c8561eafda0eb07cf783b17a5c819a484/lava_lyra-1.5.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-29 01:08:42",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ParrotXray",
    "github_project": "lava-lyra",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [
        {
            "name": "aiohttp",
            "specs": []
        },
        {
            "name": "typing-extensions",
            "specs": []
        },
        {
            "name": "py-cord",
            "specs": []
        }
    ],
    "lcname": "lava-lyra"
}
        
Elapsed time: 0.83288s