xulbux is a library that contains many useful classes, types, and functions,
ranging from console logging and working with colors to file management and system operations.
The library is designed to simplify common programming tasks and improve code readability through its collection of tools.
For precise information about the library, see the library's documentation.
For the libraries latest changes and updates, see the change log.
Run the following commands in a console with administrator privileges, so the actions take effect for all users.
Install the library and all its dependencies with the command:
pip install xulbuxUpgrade the library and all its dependencies to their latest available version with the command:
pip install --upgrade xulbuxWhen the library is installed, the following commands are available in the console:
| Command | Description |
|---|---|
xulbux-lib |
Show some information about the library. |
xulbux-lib fc |
Parse and render a string's format codes as ANSI console output. |
Import the full library under the alias xx, so its modules and main classes are accessible with xx.module.Class, xx.MainClass.method():
import xulbux as xx
So you don't have to import the full library under an alias, you can also import only certain parts of the library's contents:
# LIBRARY SUB MODULES from xulbux.base.consts import COLOR, CHARS, ANSI # MODULE MAIN CLASSES from xulbux import Code, Color, Console, ... # MODULE SPECIFIC IMPORTS from xulbux.color import rgba, hsla, hexa
| Main Module | Contents | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| base |
|
||||||||
| code | Code class, which includes methods to work with code strings. |
||||||||
| color | rgba hsla hexa Color classes, which include methods to work withcolors in various formats. |
||||||||
| console | Console ProgressBar classes, which include methods for loggingand other actions within the console. |
||||||||
| data | Data class, which includes methods to work with nested data structures. |
||||||||
| env_path | EnvPath class, which includes methods to work with the PATH environment variable. |
||||||||
| path | FileSys class, which includes methods to work with the file system and directories. |
||||||||
| file | File class, which includes methods to work with files and file paths. |
||||||||
| format_codes | FormatCodes class, which includes methods to print and work with strings that containspecial formatting codes, which are then converted to ANSI codes for pretty console output. |
||||||||
| json | Json class, which includes methods to read, create and update JSON files,with support for comments inside the JSON data. |
||||||||
| regex | Regex class, which includes methods to dynamically generate complex regex patternsfor common use cases. |
||||||||
| string | String class, which includes various utility methods for string manipulation and conversion. |
||||||||
| system | System class, which includes methods to interact with the underlying operating system. |
This is what it could look like using this library for a simple but ultra good-looking color converter:
from xulbux.base.consts import COLOR, CHARS from xulbux.color import hexa from xulbux import Console def main() -> None: # LET THE USER ENTER A HEXA COLOR IN ANY HEXA FORMAT input_clr = Console.input( "[b](Enter a HEXA color in any format) > ", start="\n", placeholder="#7075FF", max_len=7, allowed_chars=CHARS.HEX_DIGITS, ) # ANNOUNCE INDEXING THE INPUT COLOR Console.log( "INDEX", "Indexing the input HEXA color...", start="\n", title_bg_color=COLOR.BLUE, ) try: # TRY TO CONVERT THE INPUT STRING INTO A hexa() OBJECT hexa_color = hexa(input_clr) except ValueError: # ANNOUNCE THE INVALID INPUT COLOR AND EXIT THE PROGRAM Console.fail( "The input HEXA color is invalid.", end="\n\n", exit=True, ) # ANNOUNCE STARTING THE CONVERSION Console.log( "CONVERT", "Converting the HEXA color into different types...", title_bg_color=COLOR.TANGERINE, ) # CONVERT THE HEXA COLOR INTO THE TWO OTHER COLOR FORMATS rgba_color = hexa_color.to_rgba() hsla_color = hexa_color.to_hsla() # ANNOUNCE THE SUCCESSFUL CONVERSION Console.done( "Successfully converted color into different types.", end="\n\n", ) # PRETTY PRINT THE COLOR IN DIFFERENT FORMATS Console.log_box_bordered( f"[b](HEXA:) [i|white]({hexa_color})", f"[b](RGBA:) [i|white]({rgba_color})", f"[b](HSLA:) [i|white]({hsla_color})", ) if __name__ == "__main__": main()