semvec/pypi-packages huggingface dataset:
plain-client 0.0.3
A Python client for Plain GraphQL API
Requires Python: >=3.9

# Plain Client

<p align="center">
    <em>A Python client for Plain GraphQL API</em>
</p>

[![build](https://github.com/frankie567/plain-client/workflows/Build/badge.svg)](https://github.com/frankie567/plain-client/actions)
[![PyPI version](https://badge.fury.io/py/plain-client.svg)](https://badge.fury.io/py/plain-client)

---

**Documentation**: <a href="https://frankie567.github.io/plain-client/" target="_blank">https://frankie567.github.io/plain-client/</a>

**Source Code**: <a href="https://github.com/frankie567/plain-client" target="_blank">https://github.com/frankie567/plain-client</a>

---

> [!IMPORTANT]
> This client is generated **automatically** using:
> * [ariadne-codegen](https://github.com/mirumee/ariadne-codegen)
> * [Plain GraphQL Schema](https://core-api.uk.plain.com/graphql/v1/schema.graphql)
> * Fragments, mutations and queries provided by Plain in their [official TypeScript SDK](https://github.com/team-plain/typescript-sdk/tree/main/src/graphql)

## Quickstart

```bash
pip install plain-client
```

```py
from plain_client import Plain

client = Plain("https://core-api.uk.plain.com/graphql/v1", {"Authorization": "Bearer YOUR_API_KEY"})

async def get_thread():
    return await client.thread("THREAD_ID")
```

## Development

### Setup environment

We use [Hatch](https://hatch.pypa.io/latest/install/) to manage the development environment and production build. Ensure it's installed on your system.

### Generate the client

You can trigger a generation of the client with:

```bash
hatch run generate
```

It'll automatically download latest schema, fragments, mutations and queries provided by Plain.

### Run unit tests

You can run all the tests with:

```bash
hatch run test:test
```

### Publish a new version

You can bump the version, create a commit and associated tag with one command:

```bash
hatch version patch
```

```bash
hatch version minor
```

```bash
hatch version major
```

Your default Git text editor will open so you can add information about the release.

When you push the tag on GitHub, the workflow will automatically publish it on PyPi and a GitHub release will be created as draft.

## Serve the documentation

You can serve the Mkdocs documentation with:

```bash
hatch run docs-serve
```

It'll automatically watch for changes in your code.

## License

This project is licensed under the terms of the MIT license.
dirclass 0.1.0
Treat a directory like a dataclass for recursive file listing and reading.
Requires Python: >=3.10
Keywords: files, directories, dataclass, recursion, utilities

<!--
 * @Date: 2025-08-14 15:41:37
 * @LastEditors: Rongxin rongxin@u.nus.edu
 * @LastEditTime: 2025-08-14 15:43:53
 * @FilePath: /dirclass/README.md
-->
## dirclass

Treat a directory like a dataclass for ease, recursively.

### Main features
- **Simple factory**: `dirclass(path, recursive=True, file_types="*") -> dataclass`
- **List files**: `d.all()` returns a flattened list of file paths
- **Read files**: `d.read_all()` returns a flattened list of file contents
- **Filtering**: Accept glob patterns like `"*.py"` or `["*.py", "*.md"]` in constructor or per-call
- **Subfolder properties**: Immediate subfolders become attributes (e.g., `.src`, `.data`)
  - Aliases: full sanitized name, tail after last dot (e.g., `path.src` → `.path_src` and `.src`), and case-insensitive access (e.g., `.Gallery` and `.gallery`)
- **Robust reading**: Read errors are logged and skipped (continues processing)

### Install (PyPI)
```bash
pip install dirclass
```
Alternatively, 

```bash
pip install -e .
```

### Usage
```python
from dirclass import dirclass

# Create a directory wrapper
d = dirclass("/path/to/folder", recursive=True, file_types=["*.py", "*.md"])

# List all matching files
paths = d.all()                 # list[str]

# Read contents of all matching files
contents = d.read_all()         # list[str]

# Override filters per call
py_only = d.all("*.py")
md_and_txt_contents = d.read_all(["*.md", "*.txt"])

# Subfolder properties (immediate children of the root)
# If your root has folders: src, data, and Gallery
src_files = d.src               # files under /path/to/folder/src
data_files = d.data             # files under /path/to/folder/data
gallery_files = d.Gallery       # case-insensitive access also works: d.gallery

# Dotted folder names (e.g., `path.src`) expose multiple aliases
# - full sanitized name: d.path_src
# - tail alias: d.src
```

### Example
```python
from dirclass import dirclass

d = dirclass("./project", recursive=True, file_types=["*.py", "*.md"]) 

print("All files:")
for p in d.all():
    print(p)

print("\nPython files only:")
for p in d.all("*.py"):
    print(p)

print("\nSubfolder: src")
for p in d.src:  # requires a ./project/src subfolder
    print(p)

print("\nReading markdown contents:")
for content in d.read_all("*.md"):
    print(content[:80], "...")
```

Codes are generated by GPT5, thus may not be reliable in the current version for test.
json-yaml-schema-converter 0.6.0
Convert JSON API responses to YAML schema
Requires Python: >=3.7
Keywords: json yaml schema converter api openapi swagger

# JSON to YAML Schema Converter

A powerful Python tool that converts JSON API responses into YAML schema format with proper type definitions, titles, and format specifications.

## Features

- ✅ **Smart Type Detection**: Automatically detects and maps JSON types to schema types
- ✅ **Date-Time Recognition**: Identifies datetime strings and adds `format: date-time`, `format: epoch-millis`,
  `format: uuid`, `format: ip-addr`, `format: mac-addr`, `format: url`, `format: uri`
- ✅ **Nested Object Support**: Handles complex nested JSON structures
- ✅ **Array Processing**: Properly processes arrays and their item types
- ✅ **Title Generation**: Creates human-readable titles from JSON keys
- ✅ **CLI Interface**: Easy-to-use command-line interface
- ✅ **Batch Processing**: Convert multiple JSON files at once

## Your api response file should look like this e.g
All json file should be `build/output` inside the folder or response would be like below
```json
[
    {
        "id": 12345,
        "name": "test Innovations Corp",
        "legal_name": "Tech Innovations Corporation Inc.",
        "founded_date": "2020-01-15",
        "incorporation_date": "2020-01-15T09:00:00Z",
        "tax_id": "12-3456789",
        "website": "https://testinnovations.com",
        "industry": "Software Technology",
        "employee_count": 250,
        "annual_revenue": 15000000.75,
        "is_public": true,
        "stock_symbol": null
    },
    {
        "id": 4565,
        "name": "demo Innovations Corp",
        "legal_name": "demo Innovations Corporation Inc.",
        "founded_date": "2020-01-15",
        "incorporation_date": "2020-01-15T09:00:00Z",
        "tax_id": "12-3456789",
        "website": "https://testinnovations.com",
        "industry": "Software Technology",
        "employee_count": 250,
        "annual_revenue": 15000000.75,
        "is_public": true,
        "stock_symbol": null
    },
]
```
# Command Line Interface (CLI)
```bash
# Use custom input folder
json2yaml_schema --folder my_api_data_folder
```

## Python API Usage
```python
from json_yaml_schema_converter import JSONToYAMLConverter

# Initialize converter
converter = JSONToYAMLConverter("path/to/json/files")

# Convert all JSON files
converted_files = converter.process_all_json_files()
```