Metadata-Version: 2.5
Name: wuti-py-macos
Version: 0.3.1
Summary: Clean, Pythonic utilities for macOS system operations
Project-URL: Homepage, https://github.com/wuti-labs/wuti-py-macos
Project-URL: Repository, https://github.com/wuti-labs/wuti-py-macos
Project-URL: Issues, https://github.com/wuti-labs/wuti-py-macos/issues
Author-email: Alex Qin <qinqinghai@hotmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: daemon,dock,finder,macos,pasteboard,system,utility
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
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
Requires-Python: >=3.12
Requires-Dist: wuti-py-util>=0.7.4
Description-Content-Type: text/markdown

# wuti-py-macos

[![codecov](https://codecov.io/github/wuti-labs/wuti-py-macos/graph/badge.svg?token=QA8V2OOIMV)](https://codecov.io/github/wuti-labs/wuti-py-macos)

macOS system utilities for Python (pasteboard, Finder, Dock, LaunchAgents, cleanup,
and related helpers). Depends on `wuti-py-util` >= 0.7.4.

Requirements: Python >= 3.12. [uv](https://docs.astral.sh/uv/) is recommended
for local development.

## Install

```sh
pip install wuti-py-macos
```

## Development

Development dependencies (pytest, coverage, ruff, mypy, hatchling, etc.) live in
`[dependency-groups].dev` in `pyproject.toml` — not as a published PyPI extra.
Use [uv](https://docs.astral.sh/uv/) from the repository root:

```sh
uv sync --group dev
```

Run checks through that environment:

```sh
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run mypy
```

If you intentionally use an already-active shared venv, use `--inexact` so uv
does not remove packages installed manually with `uv pip install`:

```sh
uv sync --active --inexact --group dev
uv run --active pytest
uv run --active ruff check .
uv run --active ruff format --check .
uv run --active mypy
```

## Build and publish

Version comes from `__version__` in `src/wuti/macos/__init__.py`. Bump it
before publishing — PyPI rejects duplicate versions.

```sh
uv build
uv pip install dist/wuti_py_macos-<version>.tar.gz
```

Publish to PyPI (`https://upload.pypi.org/legacy/`) with a [PyPI API
token](https://pypi.org/manage/account/token/) via `UV_PUBLISH_TOKEN` or
`--token`:

```sh
uv publish
```
