Metadata-Version: 2.4
Name: banal
Version: 1.1.2
Summary: Commons of banal micro-functions for Python.
Project-URL: Homepage, http://github.com/pudo/banal
Author-email: Friedrich Lindenberg <friedrich@pudo.org>
License: MIT
License-File: LICENSE
Keywords: commons,functions,utilities
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.10
Provides-Extra: dev
Requires-Dist: build; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: wheel; extra == 'dev'
Description-Content-Type: text/markdown

# banal

Commons of Python micro-functions. This basically an out-sourced, shared
utils module with a focus on functions that buffer type uncertainties in
Python (e.g. "is this a list?").

Rules:

* Functions are properly typed, library passes `mypy`.
* Cannot depend on anything but the standard library

## Functions

* ``is_listish``: check if something is list-ish
* ``is_mapping``: check if an object is dict-ish
* ``ensure_list``: make sure an argument is a list, or make it into a single-element list
* ``clean_dict``: remove null values from a dict, recursively
* ``decode_path``: decode a path name to be unicode
* ``hash_data``: generate a SHA1 from a dict of reasonable objects