Metadata-Version: 2.3
Name: shellfish
Version: 0.7.1
Summary: shellfish ~ shell & file-system utils
Keywords: dgpy,filesystem,fs,shell,typed
Author: jesse
Author-email: jesse <jesse@dgi.com>
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Dist: aiopen>=0.8
Requires-Dist: asyncify>=0.12
Requires-Dist: funkify>=0.7
Requires-Dist: jsonbourne>=0.32
Requires-Dist: listless>=0.4
Requires-Dist: pydantic>=2.0.3
Requires-Python: >=3.11, <4.0
Description-Content-Type: text/markdown

<a href="https://github.com/dynamic-graphics-inc/dgpy-libs">
<img align="right" src="https://github.com/dynamic-graphics-inc/dgpy-libs/blob/main/docs/images/dgpy_banner.svg?raw=true" alt="drawing" height="120" width="300"/>
</a>

# shellfish

[![Wheel](https://img.shields.io/pypi/wheel/shellfish.svg)](https://img.shields.io/pypi/wheel/shellfish.svg)
[![Version](https://img.shields.io/pypi/v/shellfish.svg)](https://img.shields.io/pypi/v/shellfish.svg)
[![py_versions](https://img.shields.io/pypi/pyversions/shellfish.svg)](https://img.shields.io/pypi/pyversions/shellfish.svg)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)

**Install:** `pip install shellfish` OR `uv add shellfish`

**What:** shellfish = shell & file-system utils; async & sync

**Features:**

- Pydantic models
- Async(io) shell/file-system utils
- Type annotated

**TODO:**

- [x] Add support for acceptable return codes
- [ ] Look into breaking down shellfish.sh into smaller modules
