semvec/pypi-packages huggingface dataset:
settngs 0.11.2
A library for managing settings
License: MIT
Requires Python: >=3.10

[![CI](https://github.com/lordwelch/settngs/actions/workflows/build.yaml/badge.svg?branch=main&event=push)](https://github.com/lordwelch/settngs/actions/workflows/build.yaml)
[![GitHub release (latest by date)](https://img.shields.io/github/downloads/lordwelch/settngs/latest/total)](https://github.com/lordwelch/settngs/releases/latest)
[![PyPI](https://img.shields.io/pypi/v/settngs)](https://pypi.org/project/settngs/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/settngs)](https://pypistats.org/packages/settngs)
[![PyPI - License](https://img.shields.io/pypi/l/settngs)](https://opensource.org/licenses/MIT)

# Settngs

This library is an attempt to merge reading flags/options from the commandline (argparse) and settings from a file (json).

It is a modified argparse inspired by how [flake8] loads their settings. Note that this does not attempt to be a drop-in replacement for argparse.

Install with pip
```console
pip install settngs
```


A trivial example is included at the bottom of settngs.py with the output below (using bash). For a more complete example see [ComicTagger].
```console
$ python -m settngs
Hello world
$ python -m settngs --hello lordwelch
Hello lordwelch
$ python -m settngs --hello lordwelch -s
Hello lordwelch
Successfully saved settings to settings.json
$ python -m settngs
Hello lordwelch
$ python -m settngs -v
Hello lordwelch
merged_namespace.values.Example_Group__verbose=True
$ python -m settngs -v -s
Hello lordwelch
Successfully saved settings to settings.json
merged_namespace.values.Example_Group__verbose=True
$ python -m settngs
Hello lordwelch
merged_namespace.values.Example_Group__verbose=True
$ cat >settings.json << EOF
{
  "example": {
    "hello": "lordwelch",
    "verbose": true
  },
  "persistent": {
    "test": false,
    "hello": "world"
  }
}
EOF
$ python -m settngs --no-verbose
Hello lordwelch
$ python -m settngs --no-verbose -s
Hello lordwelch
Successfully saved settings to settings.json
$ python -m settngs --hello world --no-verbose -s
Hello world
Successfully saved settings to settings.json
$ python -m settngs
Hello world
```

settngs.json at the end:
```json
{
  "Example Group": {
    "hello": "world",
    "verbose": false
  },
  "persistent": false,
  "hello": "world"
}
```

## What happened to the 'i'?
PyPi wouldn't let me use 'settings'

[flake8]: https://github.com/PyCQA/flake8
[ComicTagger]: https://github.com/comictagger/comictagger
tmpl-cli 0.1.0
Render Jinja2 templates from the command line with JSON/YAML/env data
License: MIT
Requires Python: >=3.8
Keywords: template, jinja2, cli, render, config

# tmpl-cli

Render Jinja2 templates from the command line with JSON, YAML, environment variables, or inline values.

## Install

```bash
pip install tmpl-cli

# With YAML support:
pip install tmpl-cli[yaml]
```

## Usage

```bash
# Render a template file with a data file
tmpl render template.conf -d config.json

# Inline template with --set
tmpl render "Hello {{name}}!" --set name=World

# Multiple data sources (later overrides earlier)
tmpl render app.conf -d defaults.json -d overrides.json --set debug=true

# Use environment variables
tmpl render deploy.yaml --env
tmpl render deploy.yaml --env-prefix APP_

# List variables in a template
tmpl vars template.conf

# Validate syntax
tmpl validate template.conf

# Check template + data completeness
tmpl check template.conf -d data.json --strict
```

## Commands

| Command | Description |
|---------|-------------|
| `render` | Render a template (file, inline string, or stdin with `-`) |
| `vars` | List undeclared variables in a template |
| `validate` | Check template syntax |
| `check` | Validate template and verify all variables are provided |

## Data Sources (priority low→high)

1. `-d` / `--data` files (JSON or YAML, repeatable)
2. `--env` (all env vars) or `--env-prefix PREFIX` (filtered, prefix stripped)
3. `-s` / `--set key=value` (highest priority, repeatable)

Values in `--set` are auto-parsed as JSON when possible (`--set count=5` → int, `--set items='["a","b"]'` → list).

## For AI Agents

See [SKILL.md](SKILL.md) for agent-optimized documentation.

## License

MIT