chattolib uses per-file SPDX license metadata following the REUSE specification. The canonical machine-readable licence boundary is in REUSE.toml.
The library's own code — src/chattolib/*.py (except the _pb/ subtree),
tests/, scripts/, and repository documentation — is licensed under the
Mozilla Public License 2.0 (MPL-2.0). See LICENSE for the
full text.
MPL-2.0 is a weak, file-level copyleft:
MPL-2.0 explicitly permits combination with GPL/LGPL/AGPL code via its §3.3 Secondary License mechanism.
The following paths ship under Apache License 2.0 (Apache-2.0) — they
are vendored from upstream projects that publish under Apache-2.0 by choice:
proto/chatto/** — Chatto's public .proto sources, vendored from
chattocorp/chatto. Chatto's own
REUSE.toml
places these files under Apache-2.0 precisely so that third-party client
libraries like chattolib can be built with a licence of their own choice.src/chattolib/_pb/chatto/** — the generated Python protobuf and Connect
bindings derived from those .proto files. Derivative works of Apache-2.0
input remain Apache-2.0.proto/buf/validate/** and src/chattolib/_pb/buf/** — vendored
from bufbuild/protovalidate,
also Apache-2.0 upstream.Full licence texts live in LICENSES/.
chattolib versions 0.0.1 through 0.4.9 were released under the MIT License. Those releases remain MIT-licensed forever on PyPI; anyone who obtained them under MIT keeps those rights on those versions. The MPL-2.0 relicence applies to newly published releases only.