Metadata-Version: 2.4
Name: sevaht-utility
Version: 1.0.1
Summary: General-purpose utilities, including typed CSV loading.
Project-URL: Homepage, https://github.com/sevaht/sevaht-utility
Project-URL: Documentation, https://sevaht.github.io/sevaht-utility/
Project-URL: Source, https://github.com/sevaht/sevaht-utility
Project-URL: Issues, https://github.com/sevaht/sevaht-utility/issues
Author-email: Jacob McIntosh <nacitar.sevaht@gmail.com>
License-Expression: Unlicense
License-File: LICENSE
Keywords: case-conversion,csv,dataclasses,naming,type-hints,utilities
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Python: >=3.12
Description-Content-Type: text/markdown

# sevaht-utility

General-purpose utilities, including typed CSV loading.

## Documentation

Full documentation lives in `docs/` and is published to GitHub Pages:
<https://sevaht.github.io/sevaht-utility/>.

Highlights:

- **Naming** — detect the words in an identifier in any casing convention and
  convert it to another (`snake_case`, `kebab-case`, `camelCase`, `PascalCase`).
- **CSV** — stream rows into dicts or typed dataclasses, with flexible
  column-to-field mapping for awkward headers.

### Building the docs locally

```console
$ uv run --group docs sphinx-build -b html docs docs/_build/html
```

Then open `docs/_build/html/index.html`. (Publishing to GitHub Pages requires
enabling Pages with the "GitHub Actions" source in the repository settings.)
