Metadata-Version: 2.4
Name: acidgenomics-goalie
Version: 0.2.1
Summary: Boolean check functions for defensive Python programming.
Keywords: boolean,checks,predicates
Author: Michael Steinbaugh
Author-email: Michael Steinbaugh <mike@steinbaugh.com>
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Dist: bumpver ; extra == 'develop'
Requires-Dist: coverage ; extra == 'develop'
Requires-Dist: interrogate ; extra == 'develop'
Requires-Dist: pyright[nodejs] ; extra == 'develop'
Requires-Dist: pytest ; extra == 'develop'
Requires-Dist: pytest-cov ; extra == 'develop'
Requires-Dist: ruff ; extra == 'develop'
Requires-Dist: ty ; extra == 'develop'
Requires-Dist: uv ; extra == 'develop'
Requires-Dist: myst-parser ; extra == 'docs'
Requires-Dist: numpydoc ; extra == 'docs'
Requires-Dist: sphinx ; extra == 'docs'
Requires-Python: >=3.12
Project-URL: Homepage, https://github.com/acidgenomics/py-goalie
Project-URL: Documentation, https://python.acidgenomics.com/goalie/
Project-URL: Repository, https://github.com/acidgenomics/py-goalie
Project-URL: Changelog, https://github.com/acidgenomics/py-goalie/blob/main/CHANGELOG.md
Provides-Extra: develop
Provides-Extra: docs
Description-Content-Type: text/markdown

# goalie

[![Install with Bioconda](https://img.shields.io/badge/install%20with-bioconda-brightgreen.svg)](https://bioconda.github.io/recipes/goalie/README.html) ![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)

Boolean check functions for defensive Python programming.

## Usage

Every check is a plain function that returns `True` or `False`. Raise at the
call site when a check fails:

```python
from goalie import CheckValueError, is_hex_color

def set_accent(color: str) -> None:
    if not is_hex_color(color):
        raise CheckValueError(color, "a hex color code", name="color")
```

## Installation

### [uv][] method

This is a [Python][] package hosted on [PyPI][] as `acidgenomics-goalie`.
The import name is unchanged: `goalie`.
We recommend using [uv][] to install.

```sh
uv add acidgenomics-goalie
```

Or with [pip][]:

```sh
pip install acidgenomics-goalie
```

### [Conda][] method

Configure [Conda][] to use the [Bioconda][] channels.

```sh
# Don't install recipe into base environment.
name='goalie'
conda create --name="$name" "$name"
conda activate "$name"
python -c 'import goalie'
```

## License

Apache-2.0 — Copyright 2026 Acid Genomics LLC — see [LICENSE](LICENSE).

[bioconda]: https://bioconda.github.io/
[conda]: https://docs.conda.io/
[pip]: https://pip.pypa.io/
[pypi]: https://pypi.org/project/acidgenomics-goalie/
[python]: https://www.python.org/
[uv]: https://docs.astral.sh/uv/
