diff --git a/hier_config/base.py b/hier_config/base.py index e36a5cf..005d687 100644 --- a/hier_config/base.py +++ b/hier_config/base.py @@ -4,6 +4,7 @@ from itertools import chain from logging import getLogger from typing import TYPE_CHECKING, Optional, TypeVar, Union +from natsort import natsorted from .children import HConfigChildren from .exceptions import DuplicateChildError @@ -109,7 +110,7 @@ def add_deep_copy_of( def all_children_sorted(self) -> Iterator[HConfigChild]: """Recursively find and yield all children sorted at each hierarchy.""" - for child in sorted(self.children): + for child in natsorted(self.children, key=lambda child: child.text): yield child yield from child.all_children_sorted()