Metadata-Version: 2.4
Name: moat-util
Version: 0.64.0
Summary: Utility code for the rest of MoaT
Author-email: Matthias Urlichs <matthias@urlichs.de>
Project-URL: homepage, https://m-o-a-t.org
Project-URL: repository, https://github.com/M-o-a-T/moat
Keywords: MoaT
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Framework :: AsyncIO
Classifier: Framework :: Trio
Classifier: Framework :: AnyIO
Classifier: Development Status :: 4 - Beta
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: anyio~=4.2
Requires-Dist: asyncclick~=8.3
Requires-Dist: attrs
Requires-Dist: msgpack
Requires-Dist: outcome
Requires-Dist: ruyaml
Requires-Dist: simpleeval
Requires-Dist: moat-lib-codec~=0.4.20
Requires-Dist: moat-lib-micro~=0.3.4
Requires-Dist: moat-lib-path~=0.3.4
Requires-Dist: moat-lib-proxy~=0.1.3
Requires-Dist: moat-lib-run~=0.2.2
Requires-Dist: moat-lib-config~=0.2.2
Provides-Extra: event
Requires-Dist: attr; extra == "event"
Requires-Dist: outcome; extra == "event"
Provides-Extra: main
Requires-Dist: getpass; extra == "main"
Provides-Extra: msg
Requires-Dist: msgpack; extra == "msg"
Provides-Extra: path
Requires-Dist: simpleeval; extra == "path"
Provides-Extra: queue
Requires-Dist: outcome; extra == "queue"
Provides-Extra: systemd
Requires-Dist: systemd.daemon; extra == "systemd"
Provides-Extra: yaml
Requires-Dist: ruyaml; extra == "yaml"
Provides-Extra: time
Requires-Dist: calendar; extra == "time"
Provides-Extra: dev
Requires-Dist: flake8; extra == "dev"
Requires-Dist: isort; extra == "dev"
Dynamic: license-file

# Utilities for Python

% start synopsis
% start main

This is the MoaT's "utilities" submodule.  It contains code that the rest
of MoaT uses rather extensively but which doesn't warrant packaging into
its own subrepository.

Feel free to extend, embrace, or split off. Patches welcome.

% end synopsis

## Features

A few. Read the code and the subpackages' documentation; I didn't get
around to documenting all of that yet.

% end main

## License

No restrictions. CC0 / public domain / MIT / GPLv3 / whatever, as long as
you don't want anybody (i.e. the author(s)) to pay for the effects of any
bugs, features or "features" which this code might or might not have.

Please contribute any enhancements.

## Dependencies

A few. Notable:

- anyio, version 3. Required for `ValueEvent`, `spawn` (obviously) and
  `as_service`.
- ruyaml. This is a fork of ruamel.yaml which is a fork of pyyaml.
  Fixes some bugs and has a more reasonable API. Required for
  `yload`/`yprint`/`yformat`.
- asyncclick, required for `main_`/`wrap_main`.
- Optionally: msgpack.

MoaT does not depend on:

- cbor2. Our implementation is shared with a version running on
  MicroPython and thus needs to be minimal. Also, we want to support
  efficient async streaming.

## CBOR tags

see `ref:../common/cbor.rst`.
