Skip to main content

Python bindings for Lyric: A Rust-powered secure sandbox for multi-language code execution, leveraging WebAssembly to provide high-performance runtime isolation for AI applications

Project description

Lyric

A Rust-powered secure sandbox for multi-language code execution, leveraging WebAssembly to provide high-performance runtime isolation for AI applications.

✨ Features

  • 🛡️ Secure Isolation: Sandboxed environment based on WebAssembly for reliable runtime isolation
  • 🚀 High Performance: Built with Rust to ensure optimal execution performance
  • 🌐 Multi-language Support: Run Python, JavaScript, and more in a unified environment
  • 🔌 Easy Integration: Clean Python bindings for seamless integration with existing projects
  • 🎯 AI-Optimized: Runtime environment specifically optimized for AI applications

🔧 Requirements

  • Python >= 3.8

🚀 Quick Start

Installation

Install Lyric via pip:

pip install "lyric-py>=0.1.5"

Install default Python webassembly worker:

pip install "lyric-py-worker>=0.1.5"

Install default JavaScript webassembly worker:

pip install "lyric-js-worker>=0.1.5"

Optional: Install TypeScript transpiling component:

pip install "lyric-component-ts-transpiling>=0.1.5"

Basic Usage

import asyncio
from lyric import DefaultLyricDriver

python_code = """
def add(a, b):
    return a + b
result = add(1, 2)
print(result)
"""

js_code = """
console.log('Hello from JavaScript!');
"""

async def main():
    lcd = DefaultLyricDriver(host="localhost", log_level="ERROR")
    lcd.start()

    # Load workers(default: Python, JavaScript)
    await lcd.lyric.load_default_workers()

    # Execute Python code
    py_res = await lcd.exec(python_code, "python")
    print(py_res)

    # Execute JavaScript code
    js_res = await lcd.exec(js_code, "javascript")
    print(js_res)

    # Stop the driver
    lcd.stop()

asyncio.run(main())

Function Execution

import asyncio
import json
from lyric import DefaultLyricDriver

py_func = """
def message_handler(message_dict):
    user_message = message_dict.get("user_message")
    ai_message = message_dict.get("ai_message")
    return {
        "user": user_message,
        "ai": ai_message,
        "all": [user_message, ai_message],
        "custom": "custom",
        "handler_language": "python",
    }
"""

js_func = """
function message_handler(message_dict) {
    return {
        user: message_dict.user_message,
        ai: message_dict.ai_message,
        all: [message_dict.user_message, message_dict.ai_message],
        custom: "custom",
        handler_language: "javascript",
    };
}
"""
async def main():
    lcd = DefaultLyricDriver(host="localhost", log_level="ERROR")
    lcd.start()

    # Load workers(default: Python, JavaScript)
    await lcd.lyric.load_default_workers()

    input_data = {
        "user_message": "Hello from user",
        "ai_message": "Hello from AI",
    }
    input_bytes = json.dumps(input_data).encode("utf-8")
    
    py_res = await lcd.exec1(py_func, input_bytes, "message_handler", lang="python")
    # Get the result of the function execution
    result_dict = py_res.output
    print("Python result:", result_dict)
    print(f"Full output: {py_res}")

    js_res = await lcd.exec1(js_func, input_bytes, "message_handler", lang="javascript")
    # Get the result of the function execution
    result_dict = js_res.output
    print("JavaScript result:", result_dict)
    print(f"Full output: {js_res}")

    # Stop the driver
    lcd.stop()

asyncio.run(main())

Advanced Usage

Execution With Specific Resources

import asyncio
from lyric import DefaultLyricDriver, PyTaskResourceConfig, PyTaskFsConfig, PyTaskMemoryConfig

lcd = DefaultLyricDriver(host="localhost", log_level="ERROR")
lcd.start()

python_code = """
import os

# List the files in the root directory
root = os.listdir('/tmp/')
print("Files in the root directory:", root)

# Create a new file in the home directory
with open('/home/new_file.txt', 'w') as f:
    f.write('Hello, World!')
"""

async def main():
    # Load workers(default: Python, JavaScript)
    await lcd.lyric.load_default_workers()
    
    dir_read, dir_write = 1, 2
    file_read, file_write = 3, 4
    resources = PyTaskResourceConfig(
        fs=PyTaskFsConfig(
            preopens=[
                # Mount current directory in host to "/tmp" in the sandbox with read permission
                (".", "/tmp", dir_read, file_read),
                # Mount "/tmp" in host to "/home" in the sandbox with read and write permission
                ("/tmp", "/home", dir_read | dir_write, file_read | file_write),
            ]
        ),
        memory=PyTaskMemoryConfig(
            # Set the memory limit to 30MB
            memory_limit=30 * 1024 * 1024  # 30MB in bytes
        )
    )

    py_res = await lcd.exec(python_code, "python", resources=resources)
    assert py_res.exit_code == 0, "Python code should exit with 0"

    # Stop the driver
    lcd.stop()

asyncio.run(main())

Architecture

Lyric core is built with Rust, providing a high-performance and secure runtime environment for multi-language code execution.

The following diagram illustrates the architecture of Lyric:

Lyric Architecture

Examples

  • Notebook-Qick Start: A Jupyter notebook demonstrating how to use Lyric to execute Python and JavaScript code.
  • Notebook-Sandbox Execution: A Jupyter notebook demonstrating how to use Lyric to execute Python and JavaScript code in a sandboxed environment.

Development

If you want to build your own worker, you can see How to Add Your Dependencies

Community Integrations

  • DB-GPT AI Native Data App Development framework with AWEL(Agentic Workflow Expression Language) and Agents

🤝 Contributing

We welcome Issues and Pull Requests! Please check out our Contributing Guidelines for more information.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details

⭐️ Show Your Support

If you find Lyric helpful, please give us a star! It helps others discover this project.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lyric_py-0.1.7.tar.gz (156.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

lyric_py-0.1.7-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl (13.7 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

lyric_py-0.1.7-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl (13.1 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

lyric_py-0.1.7-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded PyPymanylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

lyric_py-0.1.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl (11.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

lyric_py-0.1.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

lyric_py-0.1.7-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl (13.7 MB view details)

Uploaded PyPymusllinux: musl 1.1+ x86-64

lyric_py-0.1.7-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl (13.2 MB view details)

Uploaded PyPymusllinux: musl 1.1+ ARM64

lyric_py-0.1.7-pp39-pypy39_pp73-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded PyPymanylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl (11.7 MB view details)

Uploaded PyPymacOS 11.0+ ARM64

lyric_py-0.1.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded PyPymacOS 10.12+ x86-64

lyric_py-0.1.7-pp38-pypy38_pp73-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded PyPymanylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-cp313-cp313-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.13Windows x86-64

lyric_py-0.1.7-cp313-cp313-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

lyric_py-0.1.7-cp313-cp313-macosx_11_0_arm64.whl (11.6 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

lyric_py-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

lyric_py-0.1.7-cp312-cp312-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.12Windows x86-64

lyric_py-0.1.7-cp312-cp312-musllinux_1_1_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ x86-64

lyric_py-0.1.7-cp312-cp312-musllinux_1_1_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.12musllinux: musl 1.1+ ARM64

lyric_py-0.1.7-cp312-cp312-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

lyric_py-0.1.7-cp312-cp312-macosx_11_0_arm64.whl (11.6 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

lyric_py-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

lyric_py-0.1.7-cp311-cp311-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.11Windows x86-64

lyric_py-0.1.7-cp311-cp311-musllinux_1_1_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ x86-64

lyric_py-0.1.7-cp311-cp311-musllinux_1_1_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.1+ ARM64

lyric_py-0.1.7-cp311-cp311-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

lyric_py-0.1.7-cp311-cp311-macosx_11_0_arm64.whl (11.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

lyric_py-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

lyric_py-0.1.7-cp310-cp310-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.10Windows x86-64

lyric_py-0.1.7-cp310-cp310-musllinux_1_1_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ x86-64

lyric_py-0.1.7-cp310-cp310-musllinux_1_1_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.10musllinux: musl 1.1+ ARM64

lyric_py-0.1.7-cp310-cp310-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

lyric_py-0.1.7-cp310-cp310-macosx_11_0_arm64.whl (11.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

lyric_py-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

lyric_py-0.1.7-cp39-cp39-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.9Windows x86-64

lyric_py-0.1.7-cp39-cp39-musllinux_1_1_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ x86-64

lyric_py-0.1.7-cp39-cp39-musllinux_1_1_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.9musllinux: musl 1.1+ ARM64

lyric_py-0.1.7-cp39-cp39-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

lyric_py-0.1.7-cp39-cp39-macosx_11_0_arm64.whl (11.7 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

lyric_py-0.1.7-cp39-cp39-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

lyric_py-0.1.7-cp38-cp38-win_amd64.whl (10.7 MB view details)

Uploaded CPython 3.8Windows x86-64

lyric_py-0.1.7-cp38-cp38-musllinux_1_1_x86_64.whl (13.7 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ x86-64

lyric_py-0.1.7-cp38-cp38-musllinux_1_1_aarch64.whl (13.1 MB view details)

Uploaded CPython 3.8musllinux: musl 1.1+ ARM64

lyric_py-0.1.7-cp38-cp38-manylinux_2_24_aarch64.whl (13.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.24+ ARM64

lyric_py-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (13.5 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

lyric_py-0.1.7-cp38-cp38-macosx_11_0_arm64.whl (11.6 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

lyric_py-0.1.7-cp38-cp38-macosx_10_12_x86_64.whl (12.4 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file lyric_py-0.1.7.tar.gz.

File metadata

  • Download URL: lyric_py-0.1.7.tar.gz
  • Upload date:
  • Size: 156.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.2

File hashes

Hashes for lyric_py-0.1.7.tar.gz
Algorithm Hash digest
SHA256 1a849c5395fe47843e35b2b440fe343ef7a1ea3c3527cd56067c4349364ba586
MD5 ab587ef0fb57d11e70fadf17b21f916c
BLAKE2b-256 f10a1e171f6ca212c31cecc0d06800f388822e8db543346ac7d30bc3f79e5a29

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 66ceb33a1b9882437a9b243c3f2ce949cf2b46788928c0f2f2f30237e062642c
MD5 4e389607e1a861a80f417f3f83c96f37
BLAKE2b-256 2869e2b92ed5273dcdf1346db614240d1e5e1fbb4862a6849dd99b9847e876d7

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 16b9e5619413bf79ff892a6112391046d5f08a3d51265dd45ed9564c7d898f6f
MD5 2e83959e20350878ee5cb15b06612923
BLAKE2b-256 1c43f8783142dfc0b8fc726ff4123f4bcebb99ecebb73e9cccb2832f0b6bf5c2

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp310-pypy310_pp73-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 19f778f76b1c40c69676a597624f30afcf28df3128110cd7b35b825ffe06a355
MD5 4ee4d298f599c9f41b7fc06629c8be17
BLAKE2b-256 ec711a76601c9803f2eea22bb87b259b5259258ccc27124db08d09dabfd75452

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 12cd99aa920eb1456bde6d0f5edae3d5cd4047ca45bf2205be3fc97bd9f7c5b7
MD5 655be2be199a0638189d2cb451427acd
BLAKE2b-256 7443f63ccd77985002e5ce7bddc834c1a2ad06d74c5020bc59ab4074b3648490

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp310-pypy310_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 753b5836d04d9febd8306d62c6e61cc1e8100e9d64db0a714ee411c32c6b63dd
MD5 b25c04727d0284f36d83c2061e0050df
BLAKE2b-256 befdeaff266b9f7300c27b57e7f5cb0a3a5e5f2993075622420eeac79331adf5

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp310-pypy310_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1ee2012bba3155d3d8e15de9bfc2e3434c543d1008b0693e35e79b00b1f4aaf3
MD5 009382e4eb1e5a4566adc26b3a7f9402
BLAKE2b-256 fad028837d5bb765871056b77e65c8f826b5f697777b115a26e6368b98da72e5

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 1acf6069ca3dc928851e8f04eda0ef1ccc853faf6690917c22f48012ebef5536
MD5 0738481aecd6e033258d530c28372c72
BLAKE2b-256 3ce8f03daf4fd8694f17412171a6f503490e6254c974bc384e1a02e1d65f152b

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 3db25561788c2954e909cb201fbcd9cc671c9754d560f19a2d0823e93bd0cf3e
MD5 f6b1b83eaa17a5cdbda88630bb23c499
BLAKE2b-256 ca668cc254977f21fdd4fc3830c3cc1f787fc7b545a30f0e2f39a8c7a9d8f2d5

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp39-pypy39_pp73-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp39-pypy39_pp73-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 6db9358d9d1203b29df42e20f00a9e4e9bb6813b9edd24f52598252e1f694ec6
MD5 781e8d58e723537ef64037c55e526e0d
BLAKE2b-256 b3582e68a2283f97bd1cec1b70a80e5a0df6b2a13f25223cbcc8d1280850719a

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp39-pypy39_pp73-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1f4356dbfae7e3e377bcc4b4cd2c678fa3696dd5590495edef316e6ac0ca0735
MD5 0874c6df9d1a0faa064debe520c35dbc
BLAKE2b-256 aaf8b89c7407e2ee3667c889ce888c25e47f29b1e5c80fffe1f8e9f66a56aadd

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp39-pypy39_pp73-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d554b04772bfcd9c8b8d46615dc46a779803c7306ddc613db8a723af65e20289
MD5 40ff6a571d8ea2252cfc5fdaa97c2124
BLAKE2b-256 2e1207fa69cc8455f3a45673f5218814c694304d46385f6864790912f69b6808

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-pp38-pypy38_pp73-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-pp38-pypy38_pp73-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 55534c4e01d28dc7aebb077f9834b5835232f335f96c965770683b8dde4c0eae
MD5 2db7ad846589e0c57bba2176604d1ec4
BLAKE2b-256 16351bac0575b5d37f6e5b6ed58905f83a4845e5454d92d17d40f707d6c22f92

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 187bc4388576fead5883b10b295b8ee46b20bb64e02d2f56d1d7685df22a46f9
MD5 6450bd085f9eeda9cc0bfca910100a58
BLAKE2b-256 a5e7eda1feec526711a441198c5f7e69f5c69c98111e9ddbb0efb6f78bbae6cc

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp313-cp313-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp313-cp313-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 4f3bb6b56cdaeaf9107bf3ce4e8db427d293f7b7f226e931e8a47698896a52de
MD5 e10dbfe392f7b090b474754c2dc52906
BLAKE2b-256 ce91aa7c4e39ba94530dcec7269b5826d3ba8c2487a9100f0237df5cd0c68b74

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 088c318299fc92695b9df9d21347a3adef72451c39cd6e712b91973963ead211
MD5 669c5f5cae3170efe5b32f223d357b62
BLAKE2b-256 674cb2cb0e090452025525ba6e1def7a7de54ea7ab0e42183290e0d62904b5b7

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 622b867a832da16d4d26c84022256dfc41c10a142165c9671bac7711249e7c9c
MD5 7d407797179ad8d07864b166d7b210c2
BLAKE2b-256 0a7aa98712c2863cb15a0e131e650f5cae8e5015239cc6d9dca15b75fb00c37e

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3e7de185daf1046baad7a221be2b584f4769f7f08a7425a61e8f338377921eaf
MD5 439a58d25a743f3adcb445d2ca752306
BLAKE2b-256 4c09c36154ef75cacb45f0b8ab030da10247181b55f96bd9cdb90c9f8743d85b

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 139e750b261ae054708692d76a64226ceb57ff62ed7c5696099eff04d43a700f
MD5 cf76d6adac3515e366c0f0b8fef9764a
BLAKE2b-256 4f3b13f70c57292ce6f52d0d76f3c6e3f2217974d7dcd3aa62348ab7acde7efc

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp312-cp312-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp312-cp312-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 53a4f133e9f833791cb18244bdf0d3793a8a818affd8cba367e1c1ed3bab9258
MD5 97406c127596940c7c7c589e24dede12
BLAKE2b-256 03e02bea1f74a4e4f2ce0009e1d877920ba9aec14e4b631f87d073f072b01eee

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp312-cp312-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp312-cp312-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 6df6505107390d357948e1b5c5b285247172d466d711223dc39f9ec26c19704e
MD5 ff5e9fbf041c863d754607ab1385d1fd
BLAKE2b-256 f0de25f96ca38b3604753d509ddfdb786c691bab0e2fea6365c5f48a0dfad69d

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp312-cp312-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp312-cp312-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 97cd515ad7882d23bfa4329e7fc39be9f7059411ca7965fc1660289a7d9ac88c
MD5 c9f8d9433fa749fe60cb068101d9f146
BLAKE2b-256 5eebb0f16a7c75584b9f493880d043b90676898dd88d5540cf83a9c45d124883

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4416cc119bc73bfd432781c8e723727a8b03760c980ec0113b815acf01087400
MD5 5112f695c8c414a72d80306a0fc173c3
BLAKE2b-256 b4751c048ad1812ba6fa10217ba47d491469dcdf51f5ef9490c14ab17ae389be

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8e58669260ba9bd52f78a7ebf411d48668fcc1ebf6faa556bb8195fb9bf624e5
MD5 f8a67e194a0034349633d5ab6c9be720
BLAKE2b-256 10015cb2849362654b12a397573feb8680082d358aa72352fb929fddefe30ac5

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b87c071ea24540750f1bbada717b17b0d4683f2998f88186097410f18aebaa6c
MD5 178f5b3408325bc22473063091e6f4af
BLAKE2b-256 98743f210d9d0ec6a5faafb475e152056bda990794b644e45bb73776fafc7ee4

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 14db456ff7797ad1ca638f8c3f85b3babaaaac58285105c9467727cd8bba9049
MD5 f37430d05d4c7d5d4a28132eba5ab5b5
BLAKE2b-256 0d6c4c881949052dcea213f1290c11e0a5f9558daa59b12fbf1868ab7fbf58b3

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp311-cp311-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 e135ee2418120d635e8f613a7c198242d2bb98e4dad28cff7ce490d1c8249f91
MD5 5cebc92ab4e4de85907a25a25d9a2fb3
BLAKE2b-256 ae838c4ad24361e6a4f62c120958f3ebdd24555c42745e7e4f00eb12116ea679

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp311-cp311-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp311-cp311-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 57483fc83257c949a5d1037b402478bdf292eb75c84033638e2bc6e13bd254a3
MD5 ad5a1198bd3b0942e77126e93c325465
BLAKE2b-256 30b035c2967558db3bf568a9277a318fae583642d41e96512296efbb0443c0bf

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp311-cp311-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp311-cp311-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 1b30cc4a432b1f23ced3cb5f3460bd932079af5e4802e43b3d3239af0260f524
MD5 27f8ffd836d811a8f06cfa796cc1d0c3
BLAKE2b-256 de094235cda12702553710bf842fa74b60e4b5746d42ee00df631aa49bcc0276

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6e07d6fbe4263c269576eae64f76c493edf53aa5bef8a65812ee7e9f9fdfd73f
MD5 afc61395e1562fa6574f8df875188868
BLAKE2b-256 b17450be68011ba8ecc1808257fa02281eaa17c7236c4b14b5c299fbd5712136

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 23999e0fea77ce4d540c11366e59696fc2e50124d46cbb504f4af8c9dfd62808
MD5 5f9589de3f4bc1b9cd63c21fb1984a25
BLAKE2b-256 3d76ad7258506275498b62a84e321c0031186afd417c6ff93a66281179bf8691

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d95a648765699a8fb81fc2312c3211d144ca700b0c5bf05bc1f02356167cdfa6
MD5 fbaa51439728aabdaa9df6e9edf3dadf
BLAKE2b-256 b841e481feb8d409ed5ba330a2e1e7ec12f9de5d9e91ecbd862bdd7e84e94ade

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 144a7f3525b02181ac1055eb7fe97e791bb9ee3808d51e639070190dd9823c14
MD5 cf0f8f05931b9a2e97430f2d1f6a40d5
BLAKE2b-256 0a4e44475b49f74132ebe234c764f626509505fafad8388d18a0f9f6b0ace878

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp310-cp310-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 57d8dff2fb67602a0fee73927c2f959fc0d355128929b9949ca74a4501aa7198
MD5 1bb3c70a7773f45e8773487ed7ecc4e8
BLAKE2b-256 c826a28126de7837aad8500561191a8f3e07c45d546bff877aa5deb172a98e60

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp310-cp310-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 21316fe76eb1bccefcb4eb085c69ef57d9d952bb5a622bf868cdf1753b5ec91a
MD5 4804798160798021877e7b68ac09cd17
BLAKE2b-256 2d98ab0365bbd8e187c187e125ee68739a7030bbf7ef399b48196df9ec400943

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp310-cp310-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp310-cp310-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 71b38e9e18a8575280d0689aa08809ab172eb1b6d9b9902f96dacb84779411b5
MD5 d3e865dcc8b05dbd062f9ad22fa10954
BLAKE2b-256 76aa5f2d3c68e25ce3ebb3bb1208370627bd8083b38337c158d0fa8fa0a80ba7

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 95406d45ccb44dd6975a1a779d9de15fabe55bb83fa87fd2754cae3000d12f15
MD5 2d13c02ab38e25533a6b3579f1346c3a
BLAKE2b-256 9023b48ed3b560e5d13ed0ebfc1a87aee78badb7fc0b3ac6be6341166700d901

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d55a9a0a5ff6652c0f10888ed3fb5e59753499d4bdd3380ee7831aded11ad726
MD5 3931bfaf3cdf4a7da9ed571acd4e79de
BLAKE2b-256 22d485478b5d8655f1a697707013bcbe74c4053ebce27d62fddef58550a3998d

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2cd0ce43296dff4a689675df0a220bb4559202dfe04e0edc258940648c7796c4
MD5 4486215ac12bf0feb9122f28339e4902
BLAKE2b-256 41e1bd910e29ea5f54a5e6ec0b921de3af7922a2c053c3e2409f0639e5a91bd6

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: lyric_py-0.1.7-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.2

File hashes

Hashes for lyric_py-0.1.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 070b8c0e9e964014f41cc38577e8561edb157ec72448b40d7bad38a754552512
MD5 7782a1f30172ce52c4e3423fb2165e9f
BLAKE2b-256 3d406ec2d9275539e8566495d402d38a650d887ff62b4172e40032df47fce373

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp39-cp39-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 5918a642330550929800e146c5c439cd140651148930ee98a2f6e17148627b3e
MD5 e280d6cd4bed0839f7bbac3d9cefdbf4
BLAKE2b-256 2773b6a77bd7a7ef271868d98a7b5163f8173383b66fe3625bf6f49fcf9fcb60

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp39-cp39-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 0ae8366626d47039034bcbc0ec49b3d3e80d416467ea6f96852275bbad4e6c2b
MD5 dcceb1a7da86fd1181bd64cd479cdc39
BLAKE2b-256 4526ffacee2a875820630f6201db3ffe38fd718b3c188b1fb12f8c9022702537

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp39-cp39-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp39-cp39-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 0ab9c0c334404a5f858d80cfe3bb4dff2348443d586913659bed3ed1008de2e9
MD5 73b67680e5700bd972b0e8bf7cd5185c
BLAKE2b-256 e0059a25e3c4ddbffe79367a7530b97c3472e6702dbc8d245bbef9287dc3bf81

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bdb22d6e5fcfb2a2373854620adb722b636dda6121b79742f172a662c92b538e
MD5 5c3a0bbff3e057ec024b96a05c4c807a
BLAKE2b-256 67378f3e17ddc5162d450a2feb03e5e441ef507969b482b3a8f28f9ab178b210

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9815ee510a8606507b3a273f5194ec2eb402db5e28b7f834f51679c5d90c722a
MD5 d23d919a927293e9f69ada49575b5b17
BLAKE2b-256 56a7d18be2c9c5ec1e3ee090ab60dc767a98f87f7da2bfe1d57b56117b370a62

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4d7e635fc4e9d960bc3eb19e03d1abc66140f37511ac4a8972a7a88dea88e3fa
MD5 4f267164092cc7f40aa70d6ce7c35858
BLAKE2b-256 a8c8409da3c936747f3e97232af1421dfecff91ed17937520ba229b3f132dc87

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: lyric_py-0.1.7-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.8.2

File hashes

Hashes for lyric_py-0.1.7-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 36c3cf817dcbfafc1adfbadcfef13d76f091ca34e67b2de5eecf15f2fbf8baae
MD5 ef02286b0d5143265eb8c8b607fcecc3
BLAKE2b-256 8904a77e98de216fe830ca929148f236c563d9b6acc787c4d5553670b17f3cd0

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp38-cp38-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 9bf9def053b31d508b616379515c4a2fdd660ab7ad0ff83bca1aa00938027d91
MD5 6e6ae1dc61cbc8344fb6a4cb676c0248
BLAKE2b-256 9f0ab4f75309e025b44ccdd0c53ab0ab34dcd07dee040fd9cbe8ce503b3d77f2

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp38-cp38-musllinux_1_1_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm Hash digest
SHA256 667c0805af280842230461eb2ba933ab166285eed601c4160aa20be5a67f5fa6
MD5 d59e31dc8fae8699229e3976699b527c
BLAKE2b-256 3832d5601e2ac946fd328317628758d150445bc69dac407e2f8844767cc01402

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp38-cp38-manylinux_2_24_aarch64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp38-cp38-manylinux_2_24_aarch64.whl
Algorithm Hash digest
SHA256 e45858f27b6cd12d47b20688eb3f220a83bb042885aea407f88c5db079673afa
MD5 1e6ef67c657d64e14b8e0547141bf18d
BLAKE2b-256 edc4180c168ec9a1855e7b35615d85f1b25520d3590e447f16144c4a1c65c9e1

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e993c8fe4bef27d23f89253af21fd87299bd76171ff4f21d1005098c37d18ecc
MD5 c91426faba962943d5dc180bda99e5e8
BLAKE2b-256 048ad68abd11e2ee4b6755eff4c2fde908060a4d477a55562ddd78f42b4a1fb5

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4e21156a3e592daab11c5c14616f1e8be0c0d95178ad09d6022d42b34f971e84
MD5 82866ffe8c0b2d3664b68cc9382f13d7
BLAKE2b-256 7a09c6ec19c09b1ad138e63f546f43c9a5c75ce9662b668ba426f30ad1659096

See more details on using hashes here.

File details

Details for the file lyric_py-0.1.7-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for lyric_py-0.1.7-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c89535007728f582054729963c86bdce1e6d183943092d39e1505adcea5f62d4
MD5 83534abc0a633492a1f16830ce50c4be
BLAKE2b-256 a88399289268baf19d21befe180bbdc834646fb9fd1657342f44c50fe39039d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page