Metadata-Version: 2.1
Name: package-utils
Version: 0.4.3
Summary: Common utilities for Python packages
Author-email: Quinten Roets <qdr2104@columbia.edu>
License: MIT
Project-URL: Source Code, https://github.com/quintenroets/package-utils
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: typer<1,>=0.9
Provides-Extra: context
Requires-Dist: dacite<2,>=1.8.1; extra == "context"
Requires-Dist: PyYaml<7,>=6.0.1; extra == "context"
Requires-Dist: superpathlib<2,>=1.3.8; extra == "context"
Provides-Extra: dev
Requires-Dist: dacite<2,>=1.8.1; extra == "dev"
Requires-Dist: PyYaml<7,>=6.0.1; extra == "dev"
Requires-Dist: superpathlib<2,>=1.3.8; extra == "dev"
Requires-Dist: hypothesis<7,>=6.91.0; extra == "dev"
Requires-Dist: package-dev-tools<1,>=0.3.1; extra == "dev"
Requires-Dist: package-dev-utils<1,>=0.1.6; extra == "dev"

# Package Utils
[![PyPI version](https://badge.fury.io/py/package-utils.svg)](https://badge.fury.io/py/package-utils)
![Python version](https://img.shields.io/badge/python-3.10+-brightgreen)
![Operating system](https://img.shields.io/badge/os-linux%20%7c%20macOS%20%7c%20windows-brightgreen)
![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen)

## Usage

```python
from dataclasses import dataclass, field
from pathlib import Path

from package_utils.cli.entry_point import create_entry_point


@dataclass
class Options:
    debug: bool = False
    output_path: Path = field(default_factory=Path.cwd)


def main(options: Options):
    ...


entry_point = create_entry_point(main)


if __name__ == "__main__":
    entry_point()
```
see examples in [tests](https://github.com/quintenroets/package-utils/tree/main/tests) and [python-package-template](https://github.com/quintenroets/python-package-template/blob/main/src/python_package_template/cli/entry_point.py)

## Installation
```shell
pip install package-utils
```
