Metadata-Version: 2.4
Name: jobninja-tools
Version: 0.1.1
Summary: Shared utilities for JobNinja services.
Project-URL: Homepage, https://github.com/JobNinja/JobNinjaServer2Shared
Project-URL: Repository, https://github.com/JobNinja/JobNinjaServer2Shared
Project-URL: Issues, https://github.com/JobNinja/JobNinjaServer2Shared/issues
Author-email: JobNinja <devops@jobninja.com>
License: Proprietary
Keywords: aws,cloudwatch,jobninja
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
Requires-Python: >=3.10
Requires-Dist: boto3
Requires-Dist: botocore
Requires-Dist: python-dotenv
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == 'dev'
Requires-Dist: pre-commit>=3.7; extra == 'dev'
Requires-Dist: pytest-mock>=3.12; extra == 'dev'
Requires-Dist: pytest>=8; extra == 'dev'
Requires-Dist: ruff>=0.6; extra == 'dev'
Description-Content-Type: text/markdown

# jobninja-tools

Shared utilities for JobNinja services.

## Install

From PyPI (once published):

```bash
pip install jobninja-tools
# or
uv add jobninja-tools
```

Import name is `jn_tools`:

```python
from jn_tools.cloud_watch_client import CloudWatchClient
```

## Development

Requires Python 3.13 and [uv](https://docs.astral.sh/uv/).

```bash
uv sync --extra dev
uv run pre-commit install
uv run pytest
uv run ruff check .
uv run ruff format .
```

## Releasing

Versions are derived from git tags via `hatch-vcs`.

1. Pre-release to TestPyPI: `git tag v0.1.0rc1 && git push origin v0.1.0rc1`
2. Production release to PyPI: `git tag v0.1.0 && git push origin v0.1.0`

The `release.yml` workflow builds the sdist+wheel and publishes via PyPI Trusted Publishers (OIDC).
