semvec/pypi-packages huggingface dataset:
langgraph-checkpoint-duckdb 2.0.2
Library with a DuckDB implementation of LangGraph checkpoint saver.
License: MIT
Requires Python: <4.0.0,>=3.9.0

# LangGraph Checkpoint DuckDB

Implementation of LangGraph CheckpointSaver that uses DuckDB.

## Usage

> [!IMPORTANT]
> When using DuckDB checkpointers for the first time, make sure to call `.setup()` method on them to create required tables. See example below.

```python
from langgraph.checkpoint.duckdb import DuckDBSaver

write_config = {"configurable": {"thread_id": "1", "checkpoint_ns": ""}}
read_config = {"configurable": {"thread_id": "1"}}

with DuckDBSaver.from_conn_string(":memory:") as checkpointer:
    # call .setup() the first time you're using the checkpointer
    checkpointer.setup()
    checkpoint = {
        "v": 1,
        "ts": "2024-07-31T20:14:19.804150+00:00",
        "id": "1ef4f797-8335-6428-8001-8a1503f9b875",
        "channel_values": {
            "my_key": "meow",
            "node": "node"
        },
        "channel_versions": {
            "__start__": 2,
            "my_key": 3,
            "start:node": 3,
            "node": 3
        },
        "versions_seen": {
            "__input__": {},
            "__start__": {
            "__start__": 1
            },
            "node": {
            "start:node": 2
            }
        },
        "pending_sends": [],
    }

    # store checkpoint
    checkpointer.put(write_config, checkpoint, {}, {})

    # load checkpoint
    checkpointer.get(read_config)

    # list checkpoints
    list(checkpointer.list(read_config))
```

### Async

```python
from langgraph.checkpoint.duckdb.aio import AsyncDuckDBSaver

async with AsyncDuckDBSaver.from_conn_string(":memory:") as checkpointer:
    checkpoint = {
        "v": 1,
        "ts": "2024-07-31T20:14:19.804150+00:00",
        "id": "1ef4f797-8335-6428-8001-8a1503f9b875",
        "channel_values": {
            "my_key": "meow",
            "node": "node"
        },
        "channel_versions": {
            "__start__": 2,
            "my_key": 3,
            "start:node": 3,
            "node": 3
        },
        "versions_seen": {
            "__input__": {},
            "__start__": {
            "__start__": 1
            },
            "node": {
            "start:node": 2
            }
        },
        "pending_sends": [],
    }

    # store checkpoint
    await checkpointer.aput(write_config, checkpoint, {}, {})

    # load checkpoint
    await checkpointer.aget(read_config)

    # list checkpoints
    [c async for c in checkpointer.alist(read_config)]
```
pyeecui 12.1.4
A rough port of Node.js's EventEmitter to Python with a few tricks of its own
License: MIT
Requires Python: >=3.8
Keywords: events, emitter, node.js, node, eventemitter, event_emitter

# pyee

[![Documentation Status](https://readthedocs.org/projects/pyee/badge/?version=latest)](https://pyee.readthedocs.io/en/latest/?badge=latest)

pyee supplies a `EventEmitter` object that is similar to the
`EventEmitter` class from Node.js. It also supplies a number of subclasses
with added support for async and threaded programming in python, such as
async/await.

## Docs

Autogenerated API docs, including basic installation directions and examples,
can be found at <https://pyee.readthedocs.io>.

## Development

See [DEVELOPMENT.md](./DEVELOPMENT.md).

## Changelog

See [CHANGELOG.md](./CHANGELOG.md).

## Contributors

See [CONTRIBUTORS.md](./CONTRIBUTORS.md).

## License

MIT/X11, see [LICENSE](./LICENSE).
dnaviz 0.2.0
A package for DNA/RNA visualization
License: MIT
Requires Python: >=3.8

# DNAviz 🧬

An simple interactive DNA/RNA sequence visualization tool. Useful to check the structures or binding of complex sequences to ensure the correct pairing.

![PyPI version](https://img.shields.io/pypi/v/dnaviz)
![Python versions](https://img.shields.io/pypi/pyversions/dnaviz)

## Features

- 🧬 Interactive DNA/RNA sequence visualization
- 🔄 Real-time base pairing detection
- 🖱️ Drag-and-drop base manipulation
- 📏 Dynamic scaling with grid snapping
- 💾 Save/load visualization states
- 📸 Export as PNG

## Installation

```bash
pip install dnaviz
```

## Quick Start

```bash
# Basic DNA sequence visualization
dnaviz ATGC GCTA

# RNA sequence with specified directions
dnaviz AUGC GCAU -d 53 -d 35

# Multiple strands
dnaviz ATGC GCTA TACG -d 53 -d 35 -d 53
```

## Interactive Controls

### Mouse Controls
- **Click and Drag**: Move bases
- **Shift + Click**: Select multiple bases
- **Click and Drag Scale Bar**: Adjust visualization scale
- **Click and Drag Empty Space**: Selection box

### Keyboard Shortcuts
- **Arrow Keys**: Scroll the view
- **R**: Reset selected strand positions
- **Cmd/Ctrl + S**: Save current state
- **Shift + Cmd/Ctrl + S**: Save as PNG
- **Cmd/Ctrl + L**: Load last saved state
- **ESC**: Quit

## File Management

- Save files are stored in `~/.dna_visualizer/`
- PNG exports include timestamps
- State files are saved as JSON with timestamps

## Base Pairing Rules

- A pairs with T (DNA) or U (RNA)
- G pairs with C
- Correct pairing is shown in green
- Incorrect direction pairing is shown in orange
- Unpaired bases are shown in gray

## Examples

### Basic DNA Visualization
```bash
dnaviz ATGC GCTA
```

### RNA Sequence
```bash
dnaviz AUGC GCAU
```

### Multiple Strands with Directions
```bash
dnaviz ATGC GCTA TACG -d 53 -d 35 -d 53
```


## JavaScript Version
There is a JavaScript version of the visualizer available in the `web_visualizer.html` file. This version is not as feature-rich as the Python version, but it can be useful for quick visualizations or for sharing visualizations with others.

To use the JavaScript version, simply open the `web_visualizer.html` file in your browser. You can then enter sequences and directions, and the visualizer will update in real-time.