OmniTools (flat API)
Exported
OmniTools.OmniTools Module
OmniToolsA comprehensive utility package providing foundational functions for data manipulation, collections management, display formatting, and type introspection.
Overview
OmniTools serves as a core utility library that provides reusable functions for common programming tasks. It is designed to be type-stable and performant.
Main Features
Array Operations
Array booleanization and masking
Matrix diagonal operations (upper, lower, off-diagonal)
Array stacking and view operations
Invalid value handling and replacement
Collections and Data Structures
Dictionary to NamedTuple conversion
NamedTuple manipulation (field dropping, combining, setting)
Table to NamedTuple conversion
List tabularization
Unique/non-unique element detection
String Utilities
String case conversion and formatting
Prefix/suffix manipulation
Number Utilities
Value clamping and validation
Invalid number detection and replacement
Fractional and cumulative sum operations
Display and Formatting
Colored terminal output with
CrayonsASCII art banners with
FIGletLogging level management
Type information display with color coding
Banner and separator display functions
Type and Method Utilities
Type introspection and hierarchy exploration
Docstring generation for types
Method manipulation utilities
Long tuple handling
Documentation Utilities
Automated docstring generation
Type documentation formatting
Purpose function integration
Dependencies
Accessors: Utilities for accessing and modifying nested data structuresCrayons: Colored terminal outputDataStructures: Data structure utilities for collectionsFIGlet: ASCII art text generationInteractiveUtils: Interactive utilities for Julia REPLLogging: Logging frameworkTypedTables: Typed table data structures
Usage Example
using OmniTools
# Convert dictionary to NamedTuple
dict = Dict(:a => 1, :b => 2)
nt = dict_to_namedtuple(dict)
# Display a banner (FIGlet)
print_figlet_banner("OmniTools")
# Work with arrays
arr = [1, 2, 3, 0, -1, 5]
bool_arr = positive_mask(arr)
# String utilities
str = to_uppercase_first("hello_world", "Time") # Returns :TimeHelloWorldNotes
Functions are designed to be type-stable for performance-critical workflows
The package provides foundational utilities intended for reuse across packages
Display utilities support both colored and plain text output
NamedTuple utilities enable efficient manipulation of structured data types
See Also
dict_to_namedtuplefor dictionary conversionprint_figlet_bannerfor ASCII art displaypositive_maskfor array maskingget_type_docstringfor type documentation generation