Metadata-Version: 2.4
Name: colemen-py
Version: 0.1.1
Summary: A dot-accessible Python utility toolkit for files, directories, media, math conversions, random values, strings, validation, and external tooling.
Author: Colemen Atwood
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/r146023/colemen_py
Project-URL: Repository, https://github.com/r146023/colemen_py
Project-URL: Issues, https://github.com/r146023/colemen_py/issues
Project-URL: Documentation, https://github.com/r146023/colemen_py/tree/main/docs
Keywords: utilities,files,directories,media,metadata,math,conversion,strings,validation,automation
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Utilities
Classifier: Typing :: Typed
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: python-dateutil>=2.8.2
Provides-Extra: image
Requires-Dist: Pillow>=10; extra == "image"
Provides-Extra: audio
Requires-Dist: mutagen>=1.47; extra == "audio"
Provides-Extra: video
Requires-Dist: opencv-python>=4.8; extra == "video"
Provides-Extra: media
Requires-Dist: Pillow>=10; extra == "media"
Requires-Dist: mutagen>=1.47; extra == "media"
Requires-Dist: opencv-python>=4.8; extra == "media"
Provides-Extra: windows
Requires-Dist: win32-setctime>=1.1; platform_system == "Windows" and extra == "windows"
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-cov>=5; extra == "dev"
Requires-Dist: ruff>=0.5; extra == "dev"
Requires-Dist: mypy>=1.10; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5; extra == "dev"
Dynamic: license-file

# colemen_py

`colemen_py` is a dot-accessible Python utility toolkit rebuilt from the older `colemen_utils` ecosystem.

The public API is intentionally discoverable from a single import:

```python
import colemen_py as c

c.file.exists("notes.txt")
c.string.to_snake_case("Hello World")
c.rand.uuid()
```


## Installation

Base install:

```bash
pip install colemen-py
```

Optional feature groups:

```bash
pip install "colemen-py[image]"   # Pillow-backed image helpers
pip install "colemen-py[audio]"   # Mutagen-backed audio metadata helpers
pip install "colemen-py[video]"   # OpenCV-backed video frame scoring helpers
pip install "colemen-py[media]"   # image + audio + video optional dependencies
pip install "colemen-py[dev]"     # test/build/lint tooling
```

The import package name is still `colemen_py`:

```python
import colemen_py as c
```

## Design principles

- One installable package, many internal modules.
- Dot-accessible namespaces for IDE autocomplete.
- Pythonic `snake_case` method names, with selected compatibility aliases where useful.
- Public functions include type hints and docstrings.
- No expensive work at import time.
- `str` and `pathlib.Path` are accepted for path-based helpers.
- Generic file utilities live in `c.file`; media-specific behavior lives in `c.media`.

## Public namespaces

```python
c.array      # list/sequence utilities
c.list       # alias to c.array
c.object     # dictionary/object utilities
c.dict       # alias to c.object
c.string     # string utilities
c.file       # file utilities
c.dir        # directory utilities
c.directory  # alias to c.dir
c.console    # console output/timers
c.rand       # random values/ids
c.random     # alias to c.rand
c.time       # time/duration utilities
c.type       # type checks/coercion
c.validation # validation helpers
c.math       # math helpers
c.media      # media/binary utilities
```

## Stage 1 status

This is the foundation package. The old `colemen_utils` source has not been blindly copied in. Instead, the core utility surface has been rebuilt with clean internals and tests.

The package can use bundled binaries when present and can also fall back to compatible tools available on `PATH`. Current media wrappers may rely on external executables such as ExifTool, FFmpeg, FFprobe, `colemen_copy`, and Shredator depending on the feature being used.
