semvec/pypi-packages huggingface dataset:
pycrdt-sticky-xml 0.12.29
Python bindings for Yrs with sticky_index support for XML types
Requires Python: >=3.9
Keywords: crdt, xml, sticky-index, collaborative-editing

# pycrdt-sticky-xml

A fork of [pycrdt](https://github.com/y-crdt/pycrdt) that adds sticky_index support for XML types (XmlElement and XmlText).

## What's New

This fork extends the original pycrdt library by adding `sticky_index` functionality to XML types:

- **XmlElement.sticky_index()**: Create sticky indices for XML element children
- **XmlText.sticky_index()**: Create sticky indices within XML text content

## Installation

### From PyPI (when published)

```bash
pip install pycrdt-sticky-xml
```

### Development Installation

For development, you need Rust installed (via [rustup](https://rustup.rs/)):

```bash
# Clone the repository
git clone https://github.com/yourusername/pycrdt-sticky-xml.git
cd pycrdt-sticky-xml

# Install with uv (recommended)
uv pip install -e .

# Or build with maturin
source "$HOME/.cargo/env"  # If Rust installed via rustup
uv run maturin develop
```

**Note**: The Python module is imported as `pycrdt_sticky_xml` (with underscores), even though the package name uses hyphens.

## Usage

```python
from pycrdt_sticky_xml import Doc, XmlFragment, XmlElement, XmlText, Assoc

# Create a document with XML content
doc = Doc()
frag = doc.get("content", type=XmlFragment)

# Add XML text
text = XmlText("Hello World")
frag.children.append(text)

# Create a sticky index at position 5
idx = text.sticky_index(5, Assoc.AFTER)

# Insert text before the sticky position
text.insert(0, "Say ")

# The sticky index maintains its semantic position
print(idx.get_index())  # Now points to position 9 (after "Say Hello")
```

## Features

- All features from the original pycrdt
- Sticky indices for XmlElement children
- Sticky indices for XmlText content
- Full compatibility with Yrs collaborative editing

## Running Tests

```bash
# Install test dependencies
uv pip install pydantic pytest-mypy-testing trio

# Run tests
uv run pytest

# Run specific test file
uv run pytest tests/test_xml.py -v
```

## Original Project

This is a fork of [pycrdt](https://github.com/y-crdt/pycrdt). All credit for the core functionality goes to the original authors.

## License

MIT License (same as original pycrdt)
yta-stock-downloader 0.1.9
Youtube Autonomous stock utils are here.
Requires Python: ==3.9

# Youtube Autónomo Stock Utils

The stock software we need to interact with the *Youtube Autónomo* project.

This project needs `.env` variables:
- Variable `PEXELS_API_KEY` need to be set to be able to fetch and download Pexels videos and images.
- Variable `PIXABAY_API_KEY` need to be set to be able to fetch and download Pixabay videos and images.
awaitedreqs 0.1.1
Async requests-like HTTP client built on aiohttp with requests-compatible API
Requires Python: >=3.7
Keywords: async http requests aiohttp http-client


# aiohttprequests

An async requests-like HTTP client built on aiohttp with requests-compatible API.

## Installation

pip install aiohttprequests

text

## Usage

import aiohttprequests as requests
import asyncio

async def main():
# Simple GET
response = await requests.get('https://httpbin.org/get')
print(response.content)
print(response.text)
data = await response.json()
print(data)

text
# Using Session for persistent connection and cookies
async with requests.Session() as session:
    await session.get('https://httpbin.org/cookies/set/sessioncookie/123456789')
    r = await session.get('https://httpbin.org/cookies')
    print(await r.text)
asyncio.run(main())

text

## Features

- Fully async API, drop-in replacement for `requests` with `async/await`.
- Supports all standard HTTP methods: `get`, `post`, `put`, `delete`, etc.
- Session support with cookie persistence.
- Response object mimics `requests.Response`.
- Supports streaming, file uploads, JSON, timeout, headers, auth, and more.

## Notes

- Must call all methods with `await` inside async functions.
- Requires Python 3.7+ and aiohttp installed.

## License

MIT License