semvec/pypi-packages huggingface dataset:
convert-dataset 0.1.0
Tool to generate LLM prompt to easily convert dataset to a specific format
Requires Python: >=3.9.18

# Convert Dataset

A tool to generate prompts for LLM to convert datasets between formats easily. The tool analyzes the source and target datasets and generates prompt which you can use with your favourite LLM to get a Python script that can perform the conversion.

---

## Features

- Analyzes source and target datasets to describe their formats.
- Generates a prompt for an LLM to produce a Python script for dataset conversion.
- Outputs the generated prompt in the terminal for easy usage.

---

## Installation

```bash
pip install convert-dataset
```

---

## Usage

Run the `convert-dataset` command from the terminal with the paths to the source and target datasets:

```bash
convert-dataset <source_dataset_path> <target_dataset_path>
```

This will output a prompt for your favorite LLM to generate a Python script for converting the datasets.
Just copy the prompt and paste it into your LLM's interface to get the conversion script.

* Please, pay attention on TODOs in the generated script to fill in the necessary information.

---

## License

This project is licensed under the MIT License. See the `LICENSE` file for details.
pyproject-to-setup 0.1.1
Convert pyproject.toml to setup.py
Requires Python: >=3.12
Keywords: convert, pyproject, pyproject.toml, setup.py, setuptool

# pyproject-to-setup

![Python Version](https://img.shields.io/badge/python-3.12%2B-blue)
![License](https://img.shields.io/badge/license-MIT-green)

Convert `pyproject.toml` to `setup.py` based on PEP 621 specification.

## Overview

A tool to help maintainers who need to support both modern Python packaging (`pyproject.toml`) and legacy packaging (`setup.py`) simultaneously. It provides flexible conversion modes and follows the PEP 621 specification.

## Installation

```bash
pip install pyproject-to-setup
```

## Quick Start

Basic usage:

```bash
# Convert pyproject.toml in current directory
pyproject-to-setup

# Show help
pyproject-to-setup --help
```

Example conversion:

```toml
# pyproject.toml
[project]
name = "spam-eggs"
version = "2020.0.0"
dependencies = ["httpx"]
requires-python = ">=3.8"
```

```python
# Generated setup.py
import setuptools

setuptools.setup(
    name="spam-eggs",
    version="2020.0.0",
    python_requires=">=3.8",
    install_requires=["httpx"],
)
```

## Features

- Convert between `pyproject.toml` and `setup.py`
- Multiple conversion modes (full, minimal, hybrid)
- Supports PEP 621 fields
- Command line interface and Python API
- Validation of input files

## Development

Requirements:

- Python 3.12+
- Docker (optional)
- Make (optional)

Basic setup:

### Using Docker

```bash
make docker-build
make docker-up
```

### Without Docker

1. Install `uv`: <https://docs.astral.sh/uv/getting-started/installation/>

   ```bash
   uv sync
   ```

## CONTRIBUTING

For contribution guidelines, please see [CONTRIBUTING.md](CONTRIBUTING.md).

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
lala-esp-bool-parser 0.1.1
Tools for building ESP-IDF related apps.
Requires Python: >=3.7

# esp-bool-parser

`esp-bool-parser` is a package that provides a way to process boolean statements based on `soc_caps` files in the ESP-IDF.

It helps you locate `soc_headers` files in the ESP-IDF, parse them, and store the parsed values as constants, which are then used in `ChipAttr`.

When you import `esp_bool_parser`, you will gain access to the following functions:

### Key Functions

#### `parse_bool_expr(stmt: str)`

Parses a boolean expression.

- **Parameters:**
    - `stmt` (str): A string containing the boolean expression.

- **Returns:**
    - A parsed representation of the boolean expression.

- **Usage Example:**

  ```python
  stmt_string = 'IDF_TARGET == "esp32"'
  stmt = parse_bool_expr(stmt_string)
  result = stmt.get_value("esp32", "config_name")
  ```

#### `register_addition_attribute(attr: str, action: t.Callable[..., t.Any]) -> None`

Registers an additional attribute for `ChipAttr`.

You can extend the functionality of `ChipAttr` by adding custom handlers for new attributes.
Use the `register_addition_attribute` function to register additional attributes.
When these attributes are encountered, the associated handler function will be called.
Additionally, you can override existing attributes, as the newly registered handler will take priority over the original ones.

- **Parameters:**
  - `attr` (str): The name of the additional attribute.
  - `action` (Callable): A callable that processes `**kwargs`. The `target` and `config_name` parameters will be passed as `kwargs` when the attribute is detected.

- **Usage Example:**

  ```python
  def my_action(target, config_name, **kwargs):
      # Custom logic to handle the attribute
      print(f"Processing {target} with {config_name}")
      return target

  register_addition_attribute("CUSTOM_ATTR", my_action)
  ```
metasbooks 0.0.5
Python client for MetasBooks API https://metasbooks.fr
Requires Python: >=3.12

# metasbooks-client
Python client librairy for the MetasBooks api https://metasbooks.fr/

# Requirements

You need a valid account on [MetasBooks](https://metasbooks.fr) with a valid API Key.

# Installation

```bash
pip install metasbooks
```

# Usage

```python
from metasbooks import Book, MetasBooks

client = MetasBooks(api_key="My API Key")
book: Book = client.get_book(ean='9791032925430')
print(book)
```
describe-dataset 0.1.2
Add your description here
Requires Python: >=3.9.18

# DescribeDataset

A Python tool for generating human-readable descriptions of dataset structures. This tool helps you understand the organization and content of your datasets by providing a clear, textual representation that can be used with LLMs or for documentation purposes.

## Features

- 📁 Recursive folder structure exploration
- 📊 Support for multiple file formats:
  - Text files (`.txt`)
  - JSON files (`.json`)
  - YAML files (`.yaml`, `.yml`)
  - CSV files (`.csv`)
  - Images (`.jpg`, `.jpeg`, `.png`, `.gif`, `.bmp`, `.webp`)
- 🖼️ Image resolution information
- 📏 Smart list clipping for large directories
- 📝 Total item count for folders
- 🛡️ Error handling for corrupted files

## Installation

```bash
pip install describe-dataset
```

## Usage

### Command Line

```bash
python -m describe_dataset /path/to/your/dataset
```

### Python API

```python
from describe_dataset import describe_dataset
from pathlib import Path

# Get dataset description
description = describe_dataset(Path("/path/to/your/dataset"))
print(description)
```

## Example Output

```
Top level of the dataset contains:
    folder images
    folder annotations
    file config.yaml

Content of images folder:
Total items in folder: 1000 (showing first 3)
- image1.jpg (file)
  image of resolution 1920x1080
- image2.jpg (file)
  image of resolution 1280x720
- image3.jpg (file)
  image of resolution 800x600

Content of annotations folder:
- train.json (file)
{
    "version": "1.0",
    "images": [...],
    "annotations": [...]
}

Description of config.yaml file:
name: my-dataset
version: 1.0
classes:
  - car
  - pedestrian
  - bicycle
```

## Configuration

The tool has several configurable parameters:

- `DIFFERENT_FILES_LIMIT = 10`: Maximum number of different files to show in a folder
- `MIN_LIST_LENGTH = 3`: Minimum number of items to show when clipping large lists
- `LIST_SIZE_THRESHOLD_FOR_MIN_LENGTH = 20`: Threshold for when to start clipping lists

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.