Metadata-Version: 2.5
Name: benethos-mailbox-common
Version: 0.4.0
Summary: What mailbox-service and mailbox-mcp of Mailbox share: mail as plain text, the folders of the operating system, settings from a file, the time of a log line, secrets masked in text, JSON for a hash.
Project-URL: Homepage, https://github.com/benethos-hub/mailbox/tree/main/packages/mailbox-common#readme
Project-URL: Repository, https://github.com/benethos-hub/mailbox
Project-URL: Issues, https://github.com/benethos-hub/mailbox/issues
Project-URL: Changelog, https://github.com/benethos-hub/mailbox/blob/main/CHANGELOG.md
Author: Benedikt Oswald
License-Expression: MIT
License-File: LICENSE
Keywords: email,html-to-text,logging,redaction,self-hosted
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3.15
Classifier: Topic :: Communications :: Email
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.11
Provides-Extra: all
Requires-Dist: platformdirs>=4.3; extra == 'all'
Requires-Dist: pydantic-settings>=2.10; extra == 'all'
Provides-Extra: paths
Requires-Dist: platformdirs>=4.3; extra == 'paths'
Provides-Extra: settings
Requires-Dist: pydantic-settings>=2.10; extra == 'settings'
Description-Content-Type: text/markdown

# <img src="https://raw.githubusercontent.com/benethos-hub/mailbox/main/assets/logo/icon-3d.svg" alt="" height="36" align="absmiddle"> mailbox-common

[![CI](https://github.com/benethos-hub/mailbox/actions/workflows/ci.yml/badge.svg)](https://github.com/benethos-hub/mailbox/actions/workflows/ci.yml)
[![PyPI benethos-mailbox-common](https://img.shields.io/pypi/v/benethos-mailbox-common?label=PyPI%20benethos-mailbox-common)](https://pypi.org/project/benethos-mailbox-common/)
[![Python](https://img.shields.io/pypi/pyversions/benethos-mailbox-common)](https://pypi.org/project/benethos-mailbox-common/)
[![License](https://img.shields.io/badge/license-MIT-blue)](https://github.com/benethos-hub/mailbox/blob/main/LICENSE)

> **Beta, version 0.4.0.** Usable with real accounts. A breaking change
> of the API or the configuration is announced in the changelog. Stored
> data is carried forward by migrations.

What
[`mailbox-service`](https://github.com/benethos-hub/mailbox/tree/main/packages/mailbox-service)
and
[`mailbox-mcp`](https://github.com/benethos-hub/mailbox/tree/main/packages/mailbox-mcp)
of [Mailbox](https://github.com/benethos-hub/mailbox) both need, held
once, on PyPI as `benethos-mailbox-common`. The MCP server cannot see
the service, so what both use lives here.

It is installed with them and is not meant to be used on its own. It
is built for the packages of this repository, and its modules, groups
and extras may change between versions without notice. It carries the
version of the other packages, and the service and the MCP server pin
it to their own.

Its modules are in five groups, one per concern: `mail` (addresses
and the plain text of an HTML body), `log` (the log line and the
masking of secrets), `paths` (the folders of the operating system),
`settings` (a program's settings from the environment and a file)
and `values` (secrets, sizes, text and canonical JSON).

It needs the standard library alone. The extra `paths` brings
platformdirs for the folders of the operating system, `settings`
pydantic-settings for a program's settings, and `all` brings every
extra.

It sees neither the service, nor the MCP server, nor the client.
