semvec/pypi-packages huggingface dataset:
yaucl 0.2.0
yet another user config library...
Requires Python: >=3.10
Keywords: conf, config, env, toml, user, userconfig, xdg

# yaucl

[![PyPI - Version](https://img.shields.io/pypi/v/yaucl)](https://pypi.org/project/yaucl/)
![PyPI - License](https://img.shields.io/pypi/l/yaucl)
![PyPI - Downloads](https://img.shields.io/pypi/dm/yaucl)
![GitHub Repo stars](https://img.shields.io/github/stars/DJetelina/yaucl?style=flat&logo=github)
[![Documentation](https://img.shields.io/badge/docs-latest-blue.svg)](https://djetelina.github.io/yaucl)

...so I decided to create `yet another user config library`.

yaucl aims to provide easy-to-use and trivial to implement configuration
for your user-installed applications (such as CLIs, GUIs, TUIs, etc.).

If you need a complicated configuration handling, this might not be the correct library for you.

## Installation

```shell
$ uv add yaucl
```

Or pip, pipenv, poetry, whatever you prefer.

## Why yaucl

- Dataclass-first design
- Full type hint support
- Opinionated defaults
- No runtime template definitions needed
- TOML

### Alternatives

- Generic: [pydantic-settings](https://docs.pydantic.dev/latest/concepts/pydantic_settings/)
- User config: [confuse](https://pypi.org/project/confuse/)
- Deployed apps: [dynaconf](https://pypi.org/project/dynaconf/)

See the [Library Comparison](https://djetelina.github.io/yaucl/comparison/) page for a detailed comparison between yaucl and these alternatives.

## The workflow

- Define dataclasses with your default configuration
- Make sure those dataclasses inherit yaucl base classes
- Init the config and then do whatever you want (singleton, passing in arguments...)

## Supported configuration methods

At the moment, yaucl supports [TOML](https://toml.io/en/) and Environmental Variables
as sources for the configuration. While this is extensible (both in yaucl and DIY),
the defaults will probably not change.

Out of the box, you set the defaults; then a config file can overwrite that,
and finally, environmental variables have the last say.
hyprland-ipc 0.1.0
A modern, type-safe IPC client for Hyprland's UNIX sockets.
Requires Python: >=3.12
Keywords: hyprland, ipc, socket, wayland

<!--
SPDX-FileCopyrightText: 2025-present peppapig450 <peppapig450@pm.me>

SPDX-License-Identifier: MIT
-->

# hyprland-ipc

[![Test and Coverage](https://github.com/peppapig450/hyprland-ipc/actions/workflows/test-coverage.yml/badge.svg)](https://github.com/peppapig450/hyprland-ipc/actions/workflows/test-coverage.yml)
[![codecov](https://codecov.io/gh/peppapig450/hyprland-ipc/branch/main/graph/badge.svg)](https://codecov.io/gh/peppapig450/hyprland-ipc)
[![PyPI - Version](https://img.shields.io/pypi/v/hyprland-ipc.svg)](https://pypi.org/project/hyprland-ipc)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/hyprland-ipc.svg)](https://pypi.org/project/hyprland-ipc)

-----

## Table of Contents

- [hyprland-ipc](#hyprland-ipc)
  - [Table of Contents](#table-of-contents)
- [Installation](#installation)
  - [Usage](#usage)
  - [License](#license)

## Installation

```console
pip install hyprland-ipc
```

This package requires Python 3.12 or newer.

## Usage

```python
from hyprland_ipc import HyprlandIPC

# Discover socket paths from the environment
ipc = HyprlandIPC.from_env()

# Print two events then exit
for i, event in enumerate(ipc.events()):
    print(event)
    if i == 1:
        break
```

## License

`hyprland-ipc` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.
mdformat_gfm_alerts 2.0.0
An mdformat plugin for `gfm_alerts`.
Requires Python: >=3.9.0
Keywords: markdown, markdown-it, mdformat, mdformat_plugin_template

# mdformat-gfm-alerts

[![Build Status][ci-badge]][ci-link] [![PyPI version][pypi-badge]][pypi-link]

An [mdformat](https://github.com/executablebooks/mdformat) plugin for [GFM Alerts](https://github.com/orgs/community/discussions/16925)

## `mdformat` Usage

Add this package wherever you use `mdformat` and the plugin will be auto-recognized. No additional configuration necessary. See [additional information on `mdformat` plugins here](https://mdformat.readthedocs.io/en/stable/users/plugins.html)

### Pre-Commit

```yaml
repos:
  - repo: https://github.com/executablebooks/mdformat
    rev: 0.7.19
    hooks:
      - id: mdformat
        additional_dependencies:
          - mdformat-gfm-alerts
```

### pipx/uv

```sh
pipx install mdformat
pipx inject mdformat mdformat-gfm-alerts
```

Or with uv:

```sh
uv tool run --from mdformat-gfm-alerts mdformat
```

## HTML Rendering

To generate HTML output, `gfm_alerts_plugin` can be imported from `mdit_plugins`. For more guidance on `MarkdownIt`, see the docs: <https://markdown-it-py.readthedocs.io/en/latest/using.html#the-parser>

```py
from markdown_it import MarkdownIt

from mdformat_gfm_alerts.mdit_plugins import gfm_alerts_plugin

md = MarkdownIt()
md.use(gfm_alerts_plugin)

text = """
> [!WARNING]
> This is the warning text
"""
md.render(text)
# <div class="markdown-alert markdown-alert-warning">
# <p class="markdown-alert-title">Warning</p>
# <p>This is the warning text</p>
# </div>
```

## Contributing

See [CONTRIBUTING.md](https://github.com/kyleking/mdformat-gfm-alerts/blob/main/CONTRIBUTING.md)

[ci-badge]: https://github.com/kyleking/mdformat-gfm-alerts/workflows/CI/badge.svg?branch=main
[ci-link]: https://github.com/kyleking/mdformat-gfm-alerts/actions?query=workflow%3ACI+branch%3Amain+event%3Apush
[pypi-badge]: https://img.shields.io/pypi/v/mdformat-gfm-alerts.svg
[pypi-link]: https://pypi.org/project/mdformat-gfm-alerts