Skip to content

OmniTools (flat API)

Exported

OmniTools.OmniTools Module
julia
OmniTools

A 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 Crayons

  • ASCII art banners with FIGlet

  • Logging 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 structures

  • Crayons: Colored terminal output

  • DataStructures: Data structure utilities for collections

  • FIGlet: ASCII art text generation

  • InteractiveUtils: Interactive utilities for Julia REPL

  • Logging: Logging framework

  • TypedTables: Typed table data structures

Usage Example

julia
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 :TimeHelloWorld

Notes

  • 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

Internal

OmniTools.jl - Foundational utilities for Julia development