0.10.0 12 March 2025
Lots of changed files for this. First experiment using AI-assisted coding.
Lots of good recommendations came from that. Really, really like having AI write my unit tests for me.
Most of the generated tests needed very little tweaking.
Changes
- Added
defaults.pyto store default values in a centralized location. - Used values from
defaults.pyin each Class init, both for typing and for value - As a way to prevent eternal loops, I added exception count tracking, with
max_exceptionsconfigurable at Class instantiation time. The default is10. Also, while-1is still supported as a way to keep trying forever, no class defaults to a-1any longer. - Added methods to report (
exception_count_msg()) and check (too_many_exceptions()) when the total count of exceptions is exceeded. Raises new exceptionExceptionCountwhen the count is exceeded. - Added more exceptions and improved their utility.
- Added
EsWaitFatalwhich is only raised whenExceptionCountis raised. - Added discrete
EsWaitTimeoutinstead of using the builtinTimeoutError.
- Added
- Removed the
Index(health) class as it was basically doing the same thing theHealthclass was doing. - Moved health report logging functions to
utils.pyas they didn't need to be in the Class - Moved function
prettystrtoutils.pyas it is a utility function that didn't need to be in the base Class - Added a bunch of new unit tests and improved existing ones. First time I think I've ever had full code coverage (only skipping
__repr__and anytypinglines) in one of my modules with just unit tests. - Updated just about every docstring there was, and added more.
- Updated docs to include new methods and functions.
- Bumped
elasticsearch8version dependency to8.17.1 - Moved
tests/conftest.pytotests/integration/conftest.pyand commented every line out (it's unused, as yet) - Switched to using f-string formatting in logging.
- If you want to follow suit, you'll need to update your pylint args accordingly (to prevent warnings).
--disable=E1205,W1203
- If you want to follow suit, you'll need to update your pylint args accordingly (to prevent warnings).
- Added Python 3.13 support and
hatchmatrix tests.
I think that's just about it. Hopefully refactoring the other projects that use this module will go smoothly