Metadata-Version: 2.1
Name: paintlogio-py
Version: 0.2.2
Summary: Logging for important Python applications will become more beautiful and functional!
Author-email: Alexeev Bronislav <bro.alexeev@inbox.ru>
Maintainer-email: Alexeev Bronislav <bro.alexeev@inbox.ru>
License: BSD 3-Clause License
        
        Copyright (c) 2024, Alexeev Bronislav
        
        Redistribution and use in source and binary forms, with or without
        modification, are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this
           list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice,
           this list of conditions and the following disclaimer in the documentation
           and/or other materials provided with the distribution.
        
        3. Neither the name of the copyright holder nor the names of its
           contributors may be used to endorse or promote products derived from
           this software without specific prior written permission.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
        AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
        IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
        
Project-URL: Homepage, https://github.com/alexeev-engineer/paintlog
Project-URL: Issues, https://github.com/alexeev-engineer/paintlog/issues
Project-URL: Repository, https://github.com/alexeev-engineer/paintlog
Project-URL: Changelog, https://github.com/alexeev-engineer/paintlog/main/CHANGELOG.md
Keywords: logging,colors,paint,paintlog,log,messageprinter,msgprinter,message_printer,message,icecream,print,printer,debug
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ruff
Requires-Dist: colorama
Requires-Dist: executing
Requires-Dist: six
Requires-Dist: asttokens
Requires-Dist: pygments


<p align="center">
	<img src="https://github.com/alexeev-engineer/paintlog/blob/main/docs/paintlog.png">
</p>

<p align="center">Logging for important Python applications will become more beautiful and functional!</p>
<br>
<p align="center">
    <img src="https://img.shields.io/github/languages/top/alexeev-engineer/paintlog?style=for-the-badge">
    <img src="https://img.shields.io/github/languages/count/alexeev-engineer/paintlog?style=for-the-badge">
    <img src="https://img.shields.io/github/stars/alexeev-engineer/paintlog?style=for-the-badge">
    <img src="https://img.shields.io/github/issues/alexeev-engineer/paintlog?style=for-the-badge">
    <img src="https://img.shields.io/github/last-commit/alexeev-engineer/paintlog?style=for-the-badge">
    </br>
</p>

> A new step, a new future

Paintlog will help you track and work with your Python applications easier and more functionally!

> [!CAUTION]
> At the moment, Paintlog is under active development, many things may not work, and this version is not recommended for use (all at your own risk).

<p align="center">
    <img src="https://github.com/alexeev-engineer/paintlog/blob/main/docs/screenshot.png">
</p>

## Contact and support
If you have questions about using Paintlog, then create an [issue](https://github.com/alexeev-engineer/paintlog/issues/new) in the repository or write to me at bro.alexeev@inbox.ru.

You can also write to me on Telegram: [@alexeev_dev](https://t.me/alexeev_dev)

paintlog is an Open Source project, and it only survives due to your feedback and support!

Project releases are available at [this link](https://github.com/alexeev-engineer/paintlog/releases).

## Documentation
You can read the usage documentation at [this link](https://github.com/alexeev-engineer/paintlog/blob/main/docs/index.md).

### Example

```python
#!venv/bin/python3
"""Paintlog Example File.

Copyright Alexeev Bronislav (C) 2024
BSD 3 Clause License
"""
from paintlog.logger import pydbg_obj, benchmark, Logger
from paintlog.paint import info_message, warn_message, error_message, other_message, FG, Style, debug_message, run_exception

logger = Logger('main.log')


@benchmark
@logger.debug_func
def debug_print() -> list:
    num = 12
    float_int = 12.12
    string = 'Hello'
    boolean = True
    list_array = [1, 2, 3, 'Hi', True, 12.2]
    dictionary = {1: "HELLO", 2: "WORLD"}

    pydbg_obj(num, float_int, string, boolean, list_array, dictionary)


debug_print()

# Simple messages
info_message('INFORMATION')
warn_message('WARNING')
error_message('EXCEPTION')
debug_message('DEBUG')
other_message('SOME TEXT', 'OTHER')
# Highlight bg
info_message('Highlight INFORMATION', True)
warn_message('Highlight WARNING', True)
error_message('Highlight EXCEPTION', True)
debug_message('Highlight DEBUG', True)
other_message('Highlight SOME TEXT', 'OTHER', True)

# Message with logger
logger.log('INFORMATION logger', 'info')
logger.log('WARNING logger', 'warn')
logger.log('EXCEPTION logger', 'error')
logger.log('DEBUG logger', 'debug')
logger.log('SOME TEXT logger', 'other')
# Message with logger and highlight bg
logger.log('INFORMATION logger', 'info', True)
logger.log('WARNING logger', 'warn', True)
logger.log('EXCEPTION logger', 'error', True)
logger.log('DEBUG logger', 'debug', True)
logger.log('SOME TEXT logger', 'other', True)

print(f'{FG.red}{Style.bold}BOLD RED{Style.reset}{Style.dim} example{Style.reset}')

run_exception('EXCEPTION')
```

## Installion
Just one command:

```bash
pip install paintlogio-py
```

## Requirements
To run the software you will have to install the necessary programs and dependencies, such as:

 + Python interpreter (>=3.10)
 + PIP package manager (>=22.0)
 + Python libraries (listed in [requirements.txt](https://github.com/alexeev-engineer/paintlog/blob/main/requirements.txt))

## Functional
Here you can see what paintlog can already do and what else is planned to be added in the future:

 - [x] Advanced print for debug (pydbg_obj)
 - [x] Colors
 - [x] Logging
 - [x] Benchmark and decorators for funcs
 - [ ] Update advanced print for debug (pydbg_obj)
 - [ ] Update docs and commentaries in code
 - [ ] Upload logs to Google Drive
 - [ ] Improve logging

## Copyright
Copyright © 2024, Alexeev Bronislav

All rights reversed
