formatting-library


Nameformatting-library JSON
Version 1.2.5.1 PyPI version JSON
download
home_pageNone
SummaryA Python library for terminal text formatting, colors, and ASCII art
upload_time2025-10-06 21:33:57
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseMIT License Copyright (c) 2025 Kundaliel Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
keywords c ansi ascii colors formatting terminal
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Kundaliel's Formatting Library

[![PyPI version](https://badge.fury.io/py/formatting-library.svg)](https://badge.fury.io/py/formatting-library)
[![Python versions](https://img.shields.io/pypi/pyversions/formatting-library.svg)](https://pypi.org/project/formatting-library/)

A Python library for terminal text formatting, colors, and ASCII art rendering.

## Features

- RGB color support for foreground and background
- Rainbow text effects
- Image to ASCII art conversion
- Animated/slow printing
- Text color codes
- Terminal cursor control and manipulation
- C library integration for performance-critical operations
- Esoteric programming language execution (Befunge, LOLCODE)

## Installation

```bash
pip install formatting-library
```

## Quick Start

```python
from formatting_library import rainbow_text, slow_print, img_to_ascii

# Rainbow text
print(rainbow_text("Hello, World!"))

# Slow printing with custom speed
slow_print("This text appears slowly...", speed=20)

# Convert image to ASCII art
ascii_art = img_to_ascii("path/to/image.jpg")
print(ascii_art)
```

## Documentation

### Color Functions

```python
from formatting_library import rgb_fore, rgb_back, RGB, RESET

# Using RGB values directly
print(f"{rgb_fore([255, 0, 0])}Red text{RESET}")

# Using RGB class
red = RGB(255, 0, 0)
print(f"{red.to_foreground()}Red text{RESET}")

# Background colors
print(f"{rgb_back([0, 255, 0])}Green background{RESET}")
```

### Rainbow Text

```python
from formatting_library import rainbow_text

# Foreground rainbow
print(rainbow_text("This text has rainbow colors!"))

# Background rainbow
print(rainbow_text("Rainbow background!", background=True))
```

### Terminal Control

```python
from formatting_library import clear_screen, set_cursor_position, Terminal

# Clear the screen
clear_screen()

# Move cursor to specific position
set_cursor_position(10, 5)  # Move cursor to row 10, column 5

# Replace current line
Terminal.replace_current_line("New text on this line")
```

### Text Formatting

```python
from formatting_library import align, substitute

# Text alignment
text = "Hello World"
print(align(text, 20, "center"))   # Center align in 20 characters
print(align(text, 20, "right"))    # Right align
print(align(text, 20, "left"))     # Left align

# Text substitution
original = "Hello World"
modified = substitute(original, "Python", 6)  # Replace from position 6
print(modified)  # Output: "Hello Python"
```

### Slow Printing

```python
from formatting_library import slow_print, PrintOptions, RGB

# Basic slow print
slow_print("This appears character by character!")

# Custom options
options = PrintOptions(
    speed=15.0,  # Characters per second
    text_color=[255, 100, 50],  # Orange text
    background_color=[0, 0, 0],  # Black background
    newline_delay=1.0  # Pause at newlines
)
slow_print("Customized slow text!", options)
```

### Text Color Codes

```python
from formatting_library import formatted

# Use text color codes
text = "&cRed &aGreen &9Blue &lBold &nUnderline &rReset"
print(formatted(text))

# Available codes:
# &0-&f: Colors (0=black, f=white, etc.)
# &l: Bold
# &n: Underline  
# &o: Italic
# &r: Reset
```

### Image to ASCII Art

```python
from formatting_library import img_to_ascii

# Convert any image to colorful ASCII art
ascii_art = img_to_ascii("photo.jpg")
print(ascii_art)

# Works with various image formats: JPG, PNG, GIF, etc.
```

### Print Boxes

```python
from formatting_library import ccb_gen

# Create decorative text boxes
ccb_gen("Important Message")
# Output:
# # ================= #
# # Important Message #
# # ================= #
```

## Advanced Usage

### Custom RGB Colors

```python
from formatting_library import RGB, ColorFuncs

# Create RGB color objects
red = RGB(255, 0, 0)
green = RGB(0, 255, 0)
blue = RGB(0, 0, 255)

# Use in dual colors (background + foreground)
print(f"{red.to_dual(blue)}Red background, blue text{RESET}")

# Static methods
print(f"{ColorFuncs.rgb_fore([128, 64, 192])}Custom purple{RESET}")
```

### Terminal Manipulation

```python
from formatting_library import Terminal

# Terminal control
Terminal.scroll_cursor(-3)  # Move cursor up 3 lines
Terminal.replace_line(5, "New content for line 5")
Terminal.set_cursor_position(1, 1)  # Top-left corner
```

### Esoteric Programming Languages

Execute esoteric programming languages directly from Python:

```python
from formatting_library import Esoteric, runBefunge, runLOLCODE

# Run Befunge programs
Esoteric.runBefunge("hello.bf")

# Run LOLCODE programs
Esoteric.runLOLCODE("hello.lol")

# Or use the convenient aliases
runBefunge("program.bf")
runLOLCODE("script.lol")
```

**Supported Languages:**
- **Befunge**: A two-dimensional esoteric programming language
  - Supported platforms: Linux, macOS
- **LOLCODE**: An esoteric language based on lolspeak
  - Supported platforms: Linux, macOS, Windows

**Requirements:**
- Language interpreters are included in the package under `_bin/` directory
- Executables are platform-specific and selected automatically

**Example Befunge Program (hello.bf):**
```befunge
"!dlroW ,olleH">:#,_@
```

**Example LOLCODE Program (hello.lol):**
```lolcode
HAI 1.2
  VISIBLE "Hello, World!"
KTHXBYE
```

### C Library Integration

⚠️ **Security Warning**: The CBuilder class uses `os.system()` to compile C code and creates directories on your filesystem. Only use with trusted C source files and in secure environments. The build process will:
- Execute GCC compiler commands via shell
- Create a `build/` directory in the specified location
- Generate `.so` shared library files
- Overwrite existing files with the same name

For performance-critical operations, you can compile and use C libraries:

```c
// main.c
#include <stdio.h>
#include <stdint.h>

void say(char *input) {
    printf("%s\n", input);
}

int fast_multiply(int a, int b) {
    return a * b;
}
```

```python
# main.py
from formatting_library import CBuilder
import ctypes

# Build the C library
builder = CBuilder(".", "main")

# Define functions with proper types
say = builder.define_function("say", [ctypes.c_char_p])
multiply = builder.define_function("fast_multiply", 
                                 [ctypes.c_int, ctypes.c_int], 
                                 ctypes.c_int)

# Use the functions
say(b"Hello from C!")
result = multiply(42, 24)
print(f"42 * 24 = {result}")
```

## Color Reference

### Rainbow Colors
The built-in rainbow uses these RGB values:
- Light Red: `(255, 179, 179)`
- Light Orange: `(255, 217, 179)`
- Light Yellow: `(255, 255, 179)`
- Light Green: `(179, 255, 179)`
- Light Blue: `(179, 179, 255)`
- Light Purple: `(217, 179, 255)`

### Text Color Codes
- `&0` - Black
- `&1` - Dark Blue
- `&2` - Dark Green
- `&3` - Dark Aqua
- `&4` - Dark Red
- `&5` - Dark Purple
- `&6` - Gold
- `&7` - Gray
- `&8` - Dark Gray
- `&9` - Blue
- `&a` - Green
- `&b` - Aqua
- `&c` - Red
- `&d` - Light Purple
- `&e` - Yellow
- `&f` - White
- `&l` - Bold
- `&n` - Underline
- `&o` - Italic
- `&r` - Reset

## Requirements

- Python 3.8+
- Pillow (for image processing)
- GCC (for C library compilation)
- Platform-specific esoteric language interpreters (included in package)

## Examples

### Create a Colorful Banner

```python
from formatting_library import rainbow_text, ccb_gen, clear_screen

clear_screen()
ccb_gen("WELCOME")
print()
print(rainbow_text("- Terminal Formatter Demo -"))
print(rainbow_text("=" * 50))
```

### Animated Greeting

```python
from formatting_library import slow_print, PrintOptions, clear_screen

clear_screen()
options = PrintOptions(speed=10, text_color=[0, 255, 0])
slow_print("Hello! Welcome to Terminal Formatter!", options)
```

### Image Gallery

```python
from formatting_library import img_to_ascii
import os

for filename in os.listdir("images/"):
    if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
        print(f"\n--- {filename} ---")
        print(img_to_ascii(f"images/{filename}"))
```

### Esoteric Language Runner

```python
from formatting_library import runBefunge, runLOLCODE

# Create a simple Befunge program
with open("hello.bf", "w") as f:
    f.write("""\
>                                            v
@,*25,++:*:*:+111,,,,,,,,,,,,,"Hello Befunge"<
    """)

# Run it
print("Running Befunge greeting:")
runBefunge("hello.bf")

# Create a LOLCODE program
with open("greeting.lol", "w") as f:
    f.write("""
HAI 1.4
  VISIBLE "O HAI, can I haz cheezburger?"
KTHXBYE
""")

# Run it
print("\nRunning LOLCODE greeting:")
runLOLCODE("greeting.lol")
```

### Performance Comparison

```python
from formatting_library import CBuilder, ctypes
import time

# Python version
def python_factorial(n):
    if n <= 1:
        return 1
    return n * python_factorial(n - 1)

# C version (factorial.c)
builder = CBuilder(".", "factorial")
c_factorial = builder.define_function("factorial", [ctypes.c_int], ctypes.c_int)

# Benchmark
start = time.time()
python_result = python_factorial(20)
python_time = time.time() - start

start = time.time()
c_result = c_factorial(20)
c_time = time.time() - start

print(f"Python: {python_result} ({python_time:.6f}s)")
print(f"C: {c_result} ({c_time:.6f}s)")
```

## License

MIT License - see LICENSE file for details.

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request.
            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "formatting-library",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "C, ansi, ascii, colors, formatting, terminal",
    "author": null,
    "author_email": "Kundaliel <kundaliel.official@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/03/97/fce5e9f4c40ad8950676a39df3e5ef3b185ace3e0106993d89432dd39f83/formatting_library-1.2.5.1.tar.gz",
    "platform": null,
    "description": "# Kundaliel's Formatting Library\n\n[![PyPI version](https://badge.fury.io/py/formatting-library.svg)](https://badge.fury.io/py/formatting-library)\n[![Python versions](https://img.shields.io/pypi/pyversions/formatting-library.svg)](https://pypi.org/project/formatting-library/)\n\nA Python library for terminal text formatting, colors, and ASCII art rendering.\n\n## Features\n\n- RGB color support for foreground and background\n- Rainbow text effects\n- Image to ASCII art conversion\n- Animated/slow printing\n- Text color codes\n- Terminal cursor control and manipulation\n- C library integration for performance-critical operations\n- Esoteric programming language execution (Befunge, LOLCODE)\n\n## Installation\n\n```bash\npip install formatting-library\n```\n\n## Quick Start\n\n```python\nfrom formatting_library import rainbow_text, slow_print, img_to_ascii\n\n# Rainbow text\nprint(rainbow_text(\"Hello, World!\"))\n\n# Slow printing with custom speed\nslow_print(\"This text appears slowly...\", speed=20)\n\n# Convert image to ASCII art\nascii_art = img_to_ascii(\"path/to/image.jpg\")\nprint(ascii_art)\n```\n\n## Documentation\n\n### Color Functions\n\n```python\nfrom formatting_library import rgb_fore, rgb_back, RGB, RESET\n\n# Using RGB values directly\nprint(f\"{rgb_fore([255, 0, 0])}Red text{RESET}\")\n\n# Using RGB class\nred = RGB(255, 0, 0)\nprint(f\"{red.to_foreground()}Red text{RESET}\")\n\n# Background colors\nprint(f\"{rgb_back([0, 255, 0])}Green background{RESET}\")\n```\n\n### Rainbow Text\n\n```python\nfrom formatting_library import rainbow_text\n\n# Foreground rainbow\nprint(rainbow_text(\"This text has rainbow colors!\"))\n\n# Background rainbow\nprint(rainbow_text(\"Rainbow background!\", background=True))\n```\n\n### Terminal Control\n\n```python\nfrom formatting_library import clear_screen, set_cursor_position, Terminal\n\n# Clear the screen\nclear_screen()\n\n# Move cursor to specific position\nset_cursor_position(10, 5)  # Move cursor to row 10, column 5\n\n# Replace current line\nTerminal.replace_current_line(\"New text on this line\")\n```\n\n### Text Formatting\n\n```python\nfrom formatting_library import align, substitute\n\n# Text alignment\ntext = \"Hello World\"\nprint(align(text, 20, \"center\"))   # Center align in 20 characters\nprint(align(text, 20, \"right\"))    # Right align\nprint(align(text, 20, \"left\"))     # Left align\n\n# Text substitution\noriginal = \"Hello World\"\nmodified = substitute(original, \"Python\", 6)  # Replace from position 6\nprint(modified)  # Output: \"Hello Python\"\n```\n\n### Slow Printing\n\n```python\nfrom formatting_library import slow_print, PrintOptions, RGB\n\n# Basic slow print\nslow_print(\"This appears character by character!\")\n\n# Custom options\noptions = PrintOptions(\n    speed=15.0,  # Characters per second\n    text_color=[255, 100, 50],  # Orange text\n    background_color=[0, 0, 0],  # Black background\n    newline_delay=1.0  # Pause at newlines\n)\nslow_print(\"Customized slow text!\", options)\n```\n\n### Text Color Codes\n\n```python\nfrom formatting_library import formatted\n\n# Use text color codes\ntext = \"&cRed &aGreen &9Blue &lBold &nUnderline &rReset\"\nprint(formatted(text))\n\n# Available codes:\n# &0-&f: Colors (0=black, f=white, etc.)\n# &l: Bold\n# &n: Underline  \n# &o: Italic\n# &r: Reset\n```\n\n### Image to ASCII Art\n\n```python\nfrom formatting_library import img_to_ascii\n\n# Convert any image to colorful ASCII art\nascii_art = img_to_ascii(\"photo.jpg\")\nprint(ascii_art)\n\n# Works with various image formats: JPG, PNG, GIF, etc.\n```\n\n### Print Boxes\n\n```python\nfrom formatting_library import ccb_gen\n\n# Create decorative text boxes\nccb_gen(\"Important Message\")\n# Output:\n# # ================= #\n# # Important Message #\n# # ================= #\n```\n\n## Advanced Usage\n\n### Custom RGB Colors\n\n```python\nfrom formatting_library import RGB, ColorFuncs\n\n# Create RGB color objects\nred = RGB(255, 0, 0)\ngreen = RGB(0, 255, 0)\nblue = RGB(0, 0, 255)\n\n# Use in dual colors (background + foreground)\nprint(f\"{red.to_dual(blue)}Red background, blue text{RESET}\")\n\n# Static methods\nprint(f\"{ColorFuncs.rgb_fore([128, 64, 192])}Custom purple{RESET}\")\n```\n\n### Terminal Manipulation\n\n```python\nfrom formatting_library import Terminal\n\n# Terminal control\nTerminal.scroll_cursor(-3)  # Move cursor up 3 lines\nTerminal.replace_line(5, \"New content for line 5\")\nTerminal.set_cursor_position(1, 1)  # Top-left corner\n```\n\n### Esoteric Programming Languages\n\nExecute esoteric programming languages directly from Python:\n\n```python\nfrom formatting_library import Esoteric, runBefunge, runLOLCODE\n\n# Run Befunge programs\nEsoteric.runBefunge(\"hello.bf\")\n\n# Run LOLCODE programs\nEsoteric.runLOLCODE(\"hello.lol\")\n\n# Or use the convenient aliases\nrunBefunge(\"program.bf\")\nrunLOLCODE(\"script.lol\")\n```\n\n**Supported Languages:**\n- **Befunge**: A two-dimensional esoteric programming language\n  - Supported platforms: Linux, macOS\n- **LOLCODE**: An esoteric language based on lolspeak\n  - Supported platforms: Linux, macOS, Windows\n\n**Requirements:**\n- Language interpreters are included in the package under `_bin/` directory\n- Executables are platform-specific and selected automatically\n\n**Example Befunge Program (hello.bf):**\n```befunge\n\"!dlroW ,olleH\">:#,_@\n```\n\n**Example LOLCODE Program (hello.lol):**\n```lolcode\nHAI 1.2\n  VISIBLE \"Hello, World!\"\nKTHXBYE\n```\n\n### C Library Integration\n\n\u26a0\ufe0f **Security Warning**: The CBuilder class uses `os.system()` to compile C code and creates directories on your filesystem. Only use with trusted C source files and in secure environments. The build process will:\n- Execute GCC compiler commands via shell\n- Create a `build/` directory in the specified location\n- Generate `.so` shared library files\n- Overwrite existing files with the same name\n\nFor performance-critical operations, you can compile and use C libraries:\n\n```c\n// main.c\n#include <stdio.h>\n#include <stdint.h>\n\nvoid say(char *input) {\n    printf(\"%s\\n\", input);\n}\n\nint fast_multiply(int a, int b) {\n    return a * b;\n}\n```\n\n```python\n# main.py\nfrom formatting_library import CBuilder\nimport ctypes\n\n# Build the C library\nbuilder = CBuilder(\".\", \"main\")\n\n# Define functions with proper types\nsay = builder.define_function(\"say\", [ctypes.c_char_p])\nmultiply = builder.define_function(\"fast_multiply\", \n                                 [ctypes.c_int, ctypes.c_int], \n                                 ctypes.c_int)\n\n# Use the functions\nsay(b\"Hello from C!\")\nresult = multiply(42, 24)\nprint(f\"42 * 24 = {result}\")\n```\n\n## Color Reference\n\n### Rainbow Colors\nThe built-in rainbow uses these RGB values:\n- Light Red: `(255, 179, 179)`\n- Light Orange: `(255, 217, 179)`\n- Light Yellow: `(255, 255, 179)`\n- Light Green: `(179, 255, 179)`\n- Light Blue: `(179, 179, 255)`\n- Light Purple: `(217, 179, 255)`\n\n### Text Color Codes\n- `&0` - Black\n- `&1` - Dark Blue\n- `&2` - Dark Green\n- `&3` - Dark Aqua\n- `&4` - Dark Red\n- `&5` - Dark Purple\n- `&6` - Gold\n- `&7` - Gray\n- `&8` - Dark Gray\n- `&9` - Blue\n- `&a` - Green\n- `&b` - Aqua\n- `&c` - Red\n- `&d` - Light Purple\n- `&e` - Yellow\n- `&f` - White\n- `&l` - Bold\n- `&n` - Underline\n- `&o` - Italic\n- `&r` - Reset\n\n## Requirements\n\n- Python 3.8+\n- Pillow (for image processing)\n- GCC (for C library compilation)\n- Platform-specific esoteric language interpreters (included in package)\n\n## Examples\n\n### Create a Colorful Banner\n\n```python\nfrom formatting_library import rainbow_text, ccb_gen, clear_screen\n\nclear_screen()\nccb_gen(\"WELCOME\")\nprint()\nprint(rainbow_text(\"- Terminal Formatter Demo -\"))\nprint(rainbow_text(\"=\" * 50))\n```\n\n### Animated Greeting\n\n```python\nfrom formatting_library import slow_print, PrintOptions, clear_screen\n\nclear_screen()\noptions = PrintOptions(speed=10, text_color=[0, 255, 0])\nslow_print(\"Hello! Welcome to Terminal Formatter!\", options)\n```\n\n### Image Gallery\n\n```python\nfrom formatting_library import img_to_ascii\nimport os\n\nfor filename in os.listdir(\"images/\"):\n    if filename.lower().endswith(('.png', '.jpg', '.jpeg')):\n        print(f\"\\n--- {filename} ---\")\n        print(img_to_ascii(f\"images/{filename}\"))\n```\n\n### Esoteric Language Runner\n\n```python\nfrom formatting_library import runBefunge, runLOLCODE\n\n# Create a simple Befunge program\nwith open(\"hello.bf\", \"w\") as f:\n    f.write(\"\"\"\\\n>                                            v\n@,*25,++:*:*:+111,,,,,,,,,,,,,\"Hello Befunge\"<\n    \"\"\")\n\n# Run it\nprint(\"Running Befunge greeting:\")\nrunBefunge(\"hello.bf\")\n\n# Create a LOLCODE program\nwith open(\"greeting.lol\", \"w\") as f:\n    f.write(\"\"\"\nHAI 1.4\n  VISIBLE \"O HAI, can I haz cheezburger?\"\nKTHXBYE\n\"\"\")\n\n# Run it\nprint(\"\\nRunning LOLCODE greeting:\")\nrunLOLCODE(\"greeting.lol\")\n```\n\n### Performance Comparison\n\n```python\nfrom formatting_library import CBuilder, ctypes\nimport time\n\n# Python version\ndef python_factorial(n):\n    if n <= 1:\n        return 1\n    return n * python_factorial(n - 1)\n\n# C version (factorial.c)\nbuilder = CBuilder(\".\", \"factorial\")\nc_factorial = builder.define_function(\"factorial\", [ctypes.c_int], ctypes.c_int)\n\n# Benchmark\nstart = time.time()\npython_result = python_factorial(20)\npython_time = time.time() - start\n\nstart = time.time()\nc_result = c_factorial(20)\nc_time = time.time() - start\n\nprint(f\"Python: {python_result} ({python_time:.6f}s)\")\nprint(f\"C: {c_result} ({c_time:.6f}s)\")\n```\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.",
    "bugtrack_url": null,
    "license": "MIT License\n        Copyright (c) 2025 Kundaliel\n        Permission is hereby granted, free of charge, to any person obtaining a copy\n        of this software and associated documentation files (the \"Software\"), to deal\n        in the Software without restriction, including without limitation the rights\n        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n        copies of the Software, and to permit persons to whom the Software is\n        furnished to do so, subject to the following conditions:\n        The above copyright notice and this permission notice shall be included in all\n        copies or substantial portions of the Software.\n        THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n        SOFTWARE.",
    "summary": "A Python library for terminal text formatting, colors, and ASCII art",
    "version": "1.2.5.1",
    "project_urls": {
        "Homepage": "https://github.com/Kundaliel/formatting_library",
        "Issues": "https://github.com/Kundaliel/formatting_library/issues",
        "PyPI": "https://pypi.org/project/formatting-library/",
        "Repository": "https://github.com/Kundaliel/formatting_library"
    },
    "split_keywords": [
        "c",
        " ansi",
        " ascii",
        " colors",
        " formatting",
        " terminal"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "94ac6566c7f720a5eba5b875e3d152b8889b808fa6007c6e133c5cb1a2792018",
                "md5": "feead11b5063fc8de947c39ed271993b",
                "sha256": "6876633625b22b8f86c702251a8db57611c1b0fbd50205b9af63b39de60fc4a0"
            },
            "downloads": -1,
            "filename": "formatting_library-1.2.5.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "feead11b5063fc8de947c39ed271993b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 896251,
            "upload_time": "2025-10-06T21:33:55",
            "upload_time_iso_8601": "2025-10-06T21:33:55.664504Z",
            "url": "https://files.pythonhosted.org/packages/94/ac/6566c7f720a5eba5b875e3d152b8889b808fa6007c6e133c5cb1a2792018/formatting_library-1.2.5.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "0397fce5e9f4c40ad8950676a39df3e5ef3b185ace3e0106993d89432dd39f83",
                "md5": "ef92afb99967f91b2dbd79955f259b73",
                "sha256": "91808ee1923b9458bda998882a9adf6d1c91257dbb1b15b24c1d601a93e9f35e"
            },
            "downloads": -1,
            "filename": "formatting_library-1.2.5.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ef92afb99967f91b2dbd79955f259b73",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 891184,
            "upload_time": "2025-10-06T21:33:57",
            "upload_time_iso_8601": "2025-10-06T21:33:57.215276Z",
            "url": "https://files.pythonhosted.org/packages/03/97/fce5e9f4c40ad8950676a39df3e5ef3b185ace3e0106993d89432dd39f83/formatting_library-1.2.5.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-10-06 21:33:57",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Kundaliel",
    "github_project": "formatting_library",
    "github_not_found": true,
    "lcname": "formatting-library"
}
        
Elapsed time: 0.50539s