- packaging, documentation, and CI modernisation (PEP 621 hybrid, canonical CI, ruff, helper scripts);
-
- added
function()alias forfunc();
- added
- added
DOOMGram::to_mmm()andDOOMGram::to_nmmm()— compact min/mean/max duration summaries usingnanoseconds_to_string(); - updated compatibility to Python 3.18;
- added
nanoseconds_to_string();
- added top-level
__all__documenting the public API; - replaced top-level star-imports with explicit imports;
- restoring broken Python 2.7 compatibility;
- removed
testsandexamplesfrom installable package; - fixed
_str2bool()defect; - added
python_requiresfor Python 2.7 and Python 3.8+; - general tidying;
- project boilerplate;
- documentation;
- Python version compatibility claims;
- Python 3.8 compatibility;
- GitHub Actions;
- badges;
- boilerplate;
- added
asynctracefuncdecorator;
- fixed
tracefunc;
- added
tracefuncdecorator;
abort(),log(),report(),trace(),warn()now each takefileoptional parameter;warn()can take multiple strings (a la Ruby'swarn());
DOOMScopenow usestime.perf_counter_ns();
- added
DOOMGramandDOOMScope;
- ~ fix to
warn()(when logging is enabled);
- ~
enable_logging()now also takes 2-parameters (environment variable name(s), default value) as well as 1-parameter (is_enabled); - ~
enable_tracing()now also takes 2-parameters (environment variable name(s), default value) as well as 1-parameter (is_enabled);
- ~ fixed package error;
-
- added
file(),line(),func(),fileline(),filelinefunc();
- added
-
- added
dbg(),dbgfl();
- added
- ~ fixed erroneous behaviour of
trace()when used in module context
-
- added
parse_severity()
- added
-
- added
is_severity_logged()
- added
- ~ fixed filter logic
- ~ ANSI sequences on Windows 11+ (from build 22000 onwards)
-
- added missing
set_log_filterexport to top-level module
- added missing
- ~ ANSI sequences on Windows 10+
- ~ numerous changes to module names, including
diagnosticism.log=>diagnosticism.logging, to avoid name conflicts with functions (such aslog()andtrace()); - ~ scripts now all assume python3 executable, rather than python;
- ~ fixed recently introduced defect in
enable_tracing()
-
- added
set_log_filter(), which takes a severity-level as a threshold or a dictionary that controls emission of individual severity-levels
- added
-
- added more documentation and parameter assertions
- ~
log()now can take a message lamba as well as a message string
-
- added
warn()(as an analogue of Ruby'sKernel#warn())
- added
-
- added
conrep.set_default_usage_prompt()to allow a default usage prompt forabort()
- added
- ~ general improvements to documentation
- ~ changed project name from diagnosticism.Python to Diagnosticism.Python
-
- added tests/test_conrep.py
- ~
abort()now appliesstr()onmessageparam, to allow argument types such as exceptions
-
- added module
diagnosticism.log, with membersenable_logging(),is_logging_enabled(), andlog()
- added module
-
- added module
diagnosticism.severity, with membersVIOLATION,ALERT, ...DEBUG5,TRACE
- added module
- ~ fixed missing name
reportexported at top-level
-
- added module
diagnosticism.program_name, with membersget_program_name()andset_program_name()
- added module
-
- added module
diagnosticism.conrep, with membersabort()andreport()
- added module
- ~ enhancing
trace()to handle methods elegantly
-
trace()
-
- project boilerplate