semvec/pypi-packages huggingface dataset:
langchain-gigachat 0.4.0b2
An integration package connecting GigaChat and LangChain
Requires Python: <4,>=3.9

<div align="center" id="top">

[![GitHub Release](https://img.shields.io/github/v/release/ai-forever/langchain-gigachat?style=flat-square)](https://github.com/ai-forever/langchain-gigachat/releases)
[![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/ai-forever/langchain-gigachat/check_diffs.yml?style=flat-square)](https://github.com/ai-forever/langchain-gigachat/actions/workflows/check_diffs.yml)
[![GitHub License](https://img.shields.io/github/license/ai-forever/langchain-gigachat?style=flat-square)](https://opensource.org/license/MIT)
[![GitHub Downloads (all assets, all releases)](https://img.shields.io/pypi/dm/langchain-gigachat?style=flat-square?style=flat-square)](https://pypistats.org/packages/langchain-gigachat)
[![GitHub Repo stars](https://img.shields.io/github/stars/ai-forever/langchain-gigachat?style=flat-square)](https://star-history.com/#ai-forever/langchain-gigachat)
[![GitHub Open Issues](https://img.shields.io/github/issues-raw/ai-forever/langchain-gigachat)](https://github.com/ai-forever/langchain-gigachat/issues)

[English](README.md) | [Русский](README-ru_RU.md)

</div>

# langchain-gigachat

This is a library integration with [GigaChat](https://giga.chat/).

## Installation

```bash
pip install -U langchain-gigachat
```

## Quickstart
Follow these simple steps to get up and running quickly.

### Installation

To install the package use following command:

```shell
pip install -U langchain-gigachat
```

### Initialization

To initialize chat model:

```python
from langchain_gigachat.chat_models import GigaChat

giga = GigaChat(credentials="YOUR_AUTHORIZATION_KEY", verify_ssl_certs=False)
```

To initialize embeddings:

```python
from langchain_gigachat.embeddings import GigaChatEmbeddings

embedding = GigaChatEmbeddings(
    credentials="YOUR_AUTHORIZATION_KEY",
    verify_ssl_certs=False
)
```

### Usage

Use the GigaChat object to generate responses:

```python
print(giga.invoke("Hello, world!"))
```

Now you can use the GigaChat object with LangChain's standard primitives to create LLM-applications.
tomly 0.1.4
A wrapper around rtoml providing tomli-compatible behavior with enhanced convenience methods for intuitive value access.
Requires Python: >=3.10

# tomly

[![PyPI version](https://img.shields.io/pypi/v/tomly.svg)](https://pypi.org/project/tomly/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python Version](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)

**tomly** is a lightweight wrapper around `rtoml`, designed to provide `tomli`/`tomllib` compatible behavior while offering enhanced convenience methods for intuitive data access.

## Key Features

-   🎯 **Dot Notation**: Access and modify nested dictionary keys as object attributes (e.g., `config.db.port`).
-   🌍 **Environment Interpolation**: Automatically expand `${VAR_NAME:default}` patterns within strings during loading.
-   🌳 **Nested Path Operations**: Safely get, set, or delete deep values using dot-separated strings or iterables.
-   🔒 **Immutability (Freeze)**: Protect your configuration from accidental runtime changes.
-   🥞 **Flattening**: Convert nested structures into a single-level dictionary for environment variables or logging.
-   ⚡ **High Performance**: Built on top of `rtoml` (Rust-powered) for rapid parsing and serialization.

## Installation

```bash
pip install tomly
```

## Quick Start

### 1. Basic Loading & Attribute Access

```python
import tomly as toml
from tomly import DataDict

toml_data = """
[server]
host = "127.0.0.1"
port = 8080
"""

# Parse and wrap into DataDict
config = DataDict(toml.loads(toml_data))

# Access via dot notation
print(config.server.host)  # "127.0.0.1"
config.server.port = 9000   # Set values like an object

```

### 2. Environment Variable Interpolation

```python
import os
from tomly import DataDict

os.environ["APP_ENV"] = "production"

# DataDict can resolve ${VAR_NAME} or ${VAR_NAME:default}
data = {"env": "${APP_ENV:dev}", "debug": "${DEBUG:false}"}
config = DataDict(data, interpolate_env=True)

print(config.env) # "production"
print(config.debug) # "false" (using default value)
```

### 3. Deep Path Manipulation

```python
from tomly import DataDict

config = DataDict()

# Set values at deep paths (auto-creates intermediate dicts)
config.set_nested("app.services.auth.timeout", 30)

# Safe retrieval without KeyErrors
timeout = config.get_nested("app.services.auth.timeout", default=60)

# Delete a nested structure
config.delete_nested("app.services.auth")
```

### 4. Read-only Configuration

```python
from tomly import DataDict

config = DataDict({"api": {"version": "v1"}})
config.freeze()

# This will raise a TypeError
config.api.version = "v2"
```