semvec/pypi-packages huggingface dataset:
unboil-signals 0.1.3
Lightweight, strongly-typed event and signal library for Python.
License: MIT
Requires Python: >=3.9
Keywords: async, events, python, signals, typed


# unboil-signals


Lightweight, strongly-typed event and signal library for Python.

## Installation


```bash
pip install unboil-signals
```

## Quick Start


```python
from unboil_signals import SyncSignal, AsyncSignal, SyncEvent, AsyncEvent
import asyncio

# 1. SyncSignal: listeners can return values
sig = SyncSignal[[int], str]()  # takes an int, returns str

@sig
def listener(x: int) -> str:
    return f"got {x}"

results = sig.invoke(42)  # returns ["got 42"]

# 2. AsyncSignal: async listeners with await
async_sig = AsyncSignal[[int], str]()  # takes int, returns str

@async_sig
async def async_listener(x: int) -> str:
    await asyncio.sleep(0.1)
    return f"async got {x}"

responses = await async_sig.ainvoke(7)  # sequential
all_responses = await async_sig.ginvoke(7)  # parallel with asyncio.gather

# 3. SyncEvent / AsyncEvent: no return values
evt = SyncEvent[str]()

@evt
def on_msg(msg: str) -> None:
    print(msg)

evt.invoke("Hello")

async_evt = AsyncEvent[str]()

@async_evt
async def on_async(msg: str) -> None:
    await asyncio.sleep(0.1)
    print(msg)

await async_evt.ainvoke("Hi")
```

## API

- **SyncSignal[P, T]** - register callables `Callable[P, T]`, invoke synchronously
- **AsyncSignal[P, T]** - register `Callable[P, Awaitable[T]]`, invoke with `ainvoke` or `ginvoke`
- **SyncEvent[P]** - subclass of `SyncSignal[P, None]` (ignore return)
- **AsyncEvent[P]** - subclass of `AsyncSignal[P, Awaitable[None]]`

## Contributing

Pull requests welcome. Please run tests and follow code style.

## License

MIT
tree-sitter-cst 0.1.0
CST grammar for tree-sitter
License: MIT
Requires Python: >=3.10
Keywords: incremental, parsing, tree-sitter, cst

# tree-sitter-cst

[![CI][ci]](https://github.com/tree-sitter-grammars/tree-sitter-cst/actions/workflows/ci.yml)
[![discord][discord]](https://discord.gg/w7nTvsVJhm)
[![matrix][matrix]](https://matrix.to/#/#tree-sitter-chat:matrix.org)
[![npm][npm]](https://www.npmjs.com/package/tree-sitter-cst)
[![crates][crates]](https://crates.io/crates/tree-sitter-cst)
[![pypi][pypi]](https://pypi.org/project/tree-sitter-cst/)

A Tree-sitter parser for the tree-sitter CST format.

## References

- [`cst_render_node`](https://github.com/tree-sitter/tree-sitter/blob/e749a97/crates/cli/src/parse.rs#L919)

[ci]: https://img.shields.io/github/actions/workflow/status/tree-sitter-grammars/tree-sitter-cst/ci.yml?logo=github&label=CI
[discord]: https://img.shields.io/discord/1063097320771698699?logo=discord&label=discord
[matrix]: https://img.shields.io/matrix/tree-sitter-chat%3Amatrix.org?logo=matrix&label=matrix
[npm]: https://img.shields.io/npm/v/tree-sitter-cst?logo=npm
[crates]: https://img.shields.io/crates/v/tree-sitter-cst?logo=rust
[pypi]: https://img.shields.io/pypi/v/tree-sitter-cst?logo=pypi&logoColor=ffd242
lean-server 0.1.0
A FastAPI-based server to interact with the Lean Theorem Prover.
License: MIT
Requires Python: >=3.12
Keywords: lean, lean-server, theorem prover, fastapi

# Lean Server Package

This package contains the core `lean-server` application, a FastAPI-based server that provides a REST API for interacting with the Lean prover.

## 📖 Overview

The server is designed to be run inside the Docker environment provided at the root of this monorepo. It exposes endpoints to perform proof checking and other Lean-related tasks.

The main API endpoint is:
- `POST /prove/check`: Accepts a `proof` and an optional `config` to run a proof.

## ⚙️ Configuration

The server's behavior can be configured via `config.yaml`. Key settings include:
- Server host and port.
- Lean process configuration.
- Proof checking timeouts.

## 🚀 Running the Server

This package is intended to be run within the development container.

1.  **Navigate to the Dev Container**:
    Follow the instructions in the [root README](../../README.md) to set up the development environment.

2.  **Install Dependencies**:
    In the container's terminal, install the package in editable mode:
    ```bash
    uv pip install -e .
    ```
    (Note: The root setup installs this automatically).

3.  **Start the Server**:
    The `pyproject.toml` file defines a script entry point. You can start the server with the following command:
    ```bash
    lean-server
    ```
    By default, it should be available at `http://localhost:8000`.