Metadata-Version: 2.4
Name: lyricore
Version: 0.1.4
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
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: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Rust
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Typing :: Typed
Requires-Dist: cloudpickle>=3.1.1
Requires-Dist: pympler>=1.1
Requires-Dist: typing-extensions>=4.0.0 ; python_full_version < '3.10'
Summary: 
Home-Page: https://github.com/fangyinc/lyric
License-Expression: MIT
Requires-Python: >=3.9
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Project-URL: Homepage, https://github.com/lyric-project/lyricore
Project-URL: Funding, https://github.com/lyric-project
Project-URL: Source, https://github.com/lyric-project/lyricore

# Lyricore

A foundational runtime engine designed to orchestrate and execute AI Agents with precision and harmony.

## Installation

```bash
pip install lyricore
```

## Usage

**Create an actor system:**

```python
import lyricore as lc

system = lc.ActorSystem("simple_example")
await system.start()
```

**Define an actor:**

```python
class Counter:
    def __init__(self):
        self.value = 0
    async def add(self, x):
        self.value += x
        return self.value
    async def current(self):
        return self.value
```

**Create an actor instance:**

```python
counter_ref = await system.spawn(Counter, "counter")
```

**Send a message and await the response:**

```python
result = await counter_ref.add(5)
print(result)  # Output: 5
```

**Send a message without the response:**
```python
result = await counter_ref.add.tell(5)
print(result)  # Output: None
```

