graph LR
Humanize_Core_Library["Humanize Core Library"]
Internationalization_Module["Internationalization Module"]
Number_Humanization_Module["Number Humanization Module"]
Time_Humanization_Module["Time Humanization Module"]
Humanize_Core_Library -- "imports and exposes functions from" --> Internationalization_Module
Humanize_Core_Library -- "imports and exposes functions from" --> Number_Humanization_Module
Humanize_Core_Library -- "imports and exposes functions from" --> Time_Humanization_Module
Number_Humanization_Module -- "may utilize" --> Internationalization_Module
Time_Humanization_Module -- "may utilize" --> Internationalization_Module
click Humanize_Core_Library href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Humanize_Core_Library.md" "Details"
click Number_Humanization_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Number_Humanization_Module.md" "Details"
click Time_Humanization_Module href "https://github.com/CodeBoarding/GeneratedOnBoardings/blob/main/humanize/Time_Humanization_Module.md" "Details"
The Humanize Core Library subsystem is defined by the src/humanize/__init__.py file, which acts as the main entry point, aggregating and re-exporting functionalities from its specialized sub-modules. Its boundaries encompass all modules directly contributing to the humanization functions exposed to the end-user.
Humanize Core Library [Expand]
The primary entry point and orchestrator of the humanize library. It provides a unified, user-friendly interface by importing and re-exporting humanization functions from specialized modules. This component embodies the "Functional/Procedural" pattern by centralizing access to various utility functions.
Related Classes/Methods:
Responsible for handling all internationalization (i18n) aspects of the humanization process. This includes managing locale-specific data, translations, and formatting rules to ensure humanized output is culturally appropriate. It aligns with the "Internationalization (I18n)" architectural pattern.
Related Classes/Methods:
Number Humanization Module [Expand]
Specializes in converting numerical values into more readable, human-friendly formats (e.g., "1000" to "1k", "1st", "2nd"). This module encapsulates all logic related to number formatting, adhering to the "Functional/Procedural" pattern for specific data types.
Related Classes/Methods:
Time Humanization Module [Expand]
Focuses on transforming time-related data (e.g., dates, durations) into easily understandable human language (e.g., "2 days ago", "in an hour"). This module centralizes time-specific formatting logic, following the "Functional/Procedural" pattern for time-based utilities.
Related Classes/Methods: