Divulge
Opinionated console messaging helper for Python — coloured, prefixed
info / success / warning / error / system lines.
The PyPI name is lupaxa-divulge. The import path is lupaxa.divulge.
lupaxa is a namespace package — there is no lupaxa/__init__.py. This
is a library only: there is no console script and no python -m entry
point.
Install
pip install lupaxa-divulge
Requires Python 3.10+. Colours come from termcolor 3.0+ (installed with the package).
Usage
import lupaxa.divulge as divulge
from datetime import datetime
divulge.info("Server starting")
divulge.success("Operation completed")
divulge.warning("Disk usage high")
divulge.error("Connection failed")
divulge.system("Starting backup job")
divulge.info({"id": 1, "status": "ok"})
divulge.info(datetime.now())
divulge.Divulge("done").success()
divulge.divulge({"id": 1}).warning()
divulge.divulge("Chained").info().success()
warning and error write to stderr. The other levels write to stdout.
Empty or whitespace-only messages are skipped. Strings print as-is,
datetime values use the configured time format, and other objects are
pretty-printed.
Turn colours or prefixes off for the process. Only DivulgeConfig field
names are applied; unknown keys are ignored:
divulge.configure(use_colours=False, use_prefixes=False)
divulge.configure(info_prefix="[ NOTE ]", system_colour="light_blue")
Bold is off by default. Enable it for one call or for the process:
divulge.info("this line is bold", use_bold=True)
divulge.configure(use_bold=True)
On Divulge, warn is an alias of warning and ok is an alias of
success. Each level method returns self, so you can chain.
A walkthrough of the API is in demo.py (not shipped in the wheel):
python demo.py
Levels
| Level | Stream | Default prefix | Default colour |
|---|---|---|---|
info |
stdout | [ Info ] |
light_cyan |
success |
stdout | [ Success ] |
light_green |
warning |
stderr | [ Warning ] |
light_yellow |
error |
stderr | [ Error ] |
light_red |
system |
stdout | [ System ] |
dark_grey |
system is dark_grey on purpose so those lines sit behind the other
four. termcolor is called with force_color=True, so use_colours is
the switch that matters — output is not gated on whether stdout looks
like a TTY.
Options
Any call accepts the same knobs as configure(), plus short aliases:
| Option | Effect |
|---|---|
colour / color |
Override this call's colour |
prefix |
Override this call's prefix |
use_colours |
Enable or disable colour for this call |
use_prefixes |
Enable or disable the prefix for this call |
use_bold |
Enable or disable bold for this call (default off) |
time_format |
strftime pattern for datetime values |
Level-specific names such as info_colour still work when you pass them
explicitly. Colour names must be valid termcolor names (light_cyan,
dark_grey, …). Unknown names print uncoloured.
divulge.info(datetime.now(), time_format="%H:%M:%S", prefix="[ TIME ]")
divulge.success("saved", colour="light_green", prefix="[ OK ]")
configure() and per-call options use these DivulgeConfig fields:
| Field | Default |
|---|---|
error_colour |
"light_red" |
error_prefix |
"[ Error ]" |
warning_colour |
"light_yellow" |
warning_prefix |
"[ Warning ]" |
success_colour |
"light_green" |
success_prefix |
"[ Success ]" |
info_colour |
"light_cyan" |
info_prefix |
"[ Info ]" |
system_colour |
"dark_grey" |
system_prefix |
"[ System ]" |
use_colours |
True |
use_prefixes |
True |
use_bold |
False |
time_format |
"%Y-%m-%d %H:%M:%S %z" |
Public names from lupaxa.divulge: __version__, get_version(),
configure(), the five level functions, Divulge, divulge(),
DivulgeConfig, and DEFAULT_TIME_FORMAT.
From Source
make init
make python-install-dev
make python-check
Metadata
Release files for lupaxa-divulge 0.1.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lupaxa_divulge-0.1.6.tar.gz | 6.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lupaxa_divulge-0.1.6-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 14.6 kB
Release files / lupaxa_divulge-0.1.6.tar.gz
| Download URL | lupaxa_divulge-0.1.6.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7681f117407b807343a5c6d805c0af4e1b5d4f10da4a7d8a97f61daf496d7d87
|
|
BLAKE2b-256 checksum How to use checksums |
0d09d756635f611b5d643b6c6e8ff73edd41f7ae21c40d81dfaf655345ac207b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / lupaxa_divulge-0.1.6-py3-none-any.whl
| Download URL | lupaxa_divulge-0.1.6-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4495426e7ae66b3d74895d8da0a949b21531466e0f3fa0f411881fc1e2d89327
|
|
BLAKE2b-256 checksum How to use checksums |
86a2d9c221f322adc8c2b6adf9acc9ce90e575e0f31727c1a96d564fba6c8075
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency log