semvec/pypi-packages huggingface dataset:
natsext 0.4.0
Core NATS Extensions is a set of utilities providing additional features to Core NATS component of nats-py client.
Requires Python: >=3.10

# Core NATS Extensions

Core NATS Extensions is a set of utilities providing additional features to Core NATS component of nats-py client.

## Installation

```bash
uv add natsext
```

## Utilities

> see [examples.py](https://www.github.com/oliverlambson/orbit.py/blob/main/natsext/examples.py) for a runnable version of all snippets below.

### request_many

`request_many` is a utility that allows you to send a single request and await multiple responses.
This allows you to implement various patterns like scatter-gather or streaming responses.

Responses are returned in an async iterator, which you can iterate over to receive messages.
When a termination condition is met, the iterator is closed (and no error is returned).

```py
import nats
import natsext

nc = await nats.connect()

# Basic usage
async for msg in natsext.request_many(nc, "subject", b"request data"):
    print(f"Received: {msg.data}")
```

Alternatively, use `request_many_msg` to send a `Msg` request:

```py
import nats
from nats.aio.msg import Msg
import natsext

nc = await nats.connect()

msg = Msg(
    nc,
    subject="subject",
    data=b"request data",
    headers={
        "Key": "Value",
    },
)
async for response in natsext.request_many_msg(nc, msg):
    print(f"Received: {response.data}")
```

#### Configuration

You can configure the following options:

- `timeout`: Overall timeout for the request operation (float, seconds)
- `stall`: Stall timer, useful in scatter-gather scenarios where subsequent responses are expected within a certain timeframe (float, seconds)
- `max_messages`: Maximum number of messages to receive (int)
- `sentinel`: Function that stops returning responses once it returns True for a message (Callable[[Msg], bool])

```py
import nats
import natsext

nc = await nats.connect()

# With all options
async for msg in natsext.request_many(
    nc,
    "subject",
    b"request data",
    timeout=5.0,
    stall=0.1,
    max_messages=3,
    sentinel=None,  # Don't use sentinel here to show max_messages working
):
    print(f"Received: {msg.data}")
```

#### Default Sentinel

The package includes a `default_sentinel` function that stops receiving messages once a message with an empty payload is received:

```py
import nats
import natsext

nc = await nats.connect()

async for msg in natsext.request_many(
    nc, "subject", b"request", sentinel=natsext.default_sentinel
):
    print(f"Received: {msg.data}")
```
tiktok-collector 0.6.7
A Python library for collecting TikTok data
Requires Python: >=3.7

# TikTok Collector

A Python library for collecting TikTok data including hashtags and keywords.

## Installation

```bash
pip install tiktok-collector
```

## Features

- Collect TikTok posts by hashtag
- Collect TikTok posts by keyword
- Collect TikTok Comment by post link
- Configurable API settings
- Rate limiting and error handling

## Usage

### Basic Usage

```python
from tiktok_collector import TiktokHashtagCollector, SparkS3Writer

# Initialize collector
collector = TiktokHashtagCollector(api_key="your_rapidapi_key")

# Collect posts by hashtag
posts = collector.collect_by_hashtag(
    hashtag="python",
    max_posts=100,
    min_likes=1000
)

# Collect posts by keyword


### Configuration

You can configure the collector using environment variables:

```bash
export TIKTOK_API_KEY=your_rapidapi_key
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_REGION=us-east-1
```

## Requirements

- Python 3.7+
- requests
- pandas
- numpy
- python-dotenv
- boto3
- pytz
- httplib2
- sqlalchemy
- openpyxl
- pyspark
- hadoop-aws
- aws-java-sdk-bundle

## License

This project is licensed under the MIT License - see the LICENSE file for details.
fmtool 1.0.0
Cross-platform Python file manager
Requires Python: >=3.8


<h1 align="center">🚀 FmTool: Manage Files Easily Across Any OS</h1>
<p align="center">
    <a href="https://pypi.org/project/fmtool/"><img src="https://img.shields.io/pypi/v/fmtool?style=plastic" alt="PyPI - Version"></a>
    <a href="https://github.com/abbas-bachari/fmtool"><img src="https://img.shields.io/badge/Python%20-3.8+-green?style=plastic&logo=Python" alt="Python"></a>
    <a href="https://pypi.org/project/fmtool/"><img src="https://img.shields.io/pypi/l/fmtool?style=plastic" alt="License"></a>
    <a href="https://pepy.tech/project/fmtool"><img src="https://pepy.tech/badge/fmtool?style=flat-plastic" alt="Downloads"></a>
</p>

## 🛠️ Version: 1.0.1

**FmTool** is a modern Python package for managing files and directories, designed to work consistently across all operating systems (Windows, Linux, macOS).

## Features

- List files and directories with filters and search
- Read and write text and bytes
- Create, delete, and rename files and directories
- Zip and unzip directories
- Inspect file status (size, modification time, permissions)
- Compute file hashes (SHA256 and other algorithms)
- Cross-platform and easy to use in scripts and projects

## Installation

```bash
pip install fmtool
```

## Quick Start

```python
from fmtool import FileManager,Path

fm = FileManager('.')
fm.touch('example.txt')
fm.write_text('example.txt', 'Hello World!')
content = fm.read_text('example.txt')
print(content)


fm=FileManager(base = Path(__file__).parent)

print(fm.resolve('data'))


```

## Links

- [PyPI](https://pypi.org/project/fmtool/)
- [GitHub](https://github.com/yourusername/fmtool)

## License

FmTool is released under the MIT License.

## 👤 About the Author

**Abbas Bachari / عباس بچاری** – Developer & Maintainer of **FmTool**

- 📧 Telegram: [@abbas_bachari](https://t.me/abbas_bachari)  
- 🌐 GitHub: [github.com/abbas-bachari](https://github.com/abbas-bachari)
secrecy 0.1.0.dev7
A symmetric encryption utility.
Requires Python: >=3.10

# `secrecy`

A symmetric encryption utility.

## Overview

Installing the `secrecy` package from PyPI (or building
it from source, if you insist) gives you command-line access
to the `secrecy` shell command. To install the package,
you can run the following commands:

```bash
python -m venv venv       # Create a virtual environment.
source venv/bin/activate  # Activate the virtual environment.
pip install --upgrade pip # Make sure you have the latest version of `pip`.
pip install secrecy       # Download and install the `secrecy` package.
```

After installation, type `secrecy` in your terminal, and press enter.
If the installation was successful, you will see the CLI's "help" text.