Metadata-Version: 2.1
Name: PythonToolsKit
Version: 0.0.8
Summary:  This package implements tools to build python package and tools. 
Home-page: https://github.com/mauricelambert/PythonToolsKit
Author: Maurice Lambert
Author-email: mauricelambert434@gmail.com
Maintainer: Maurice Lambert
Maintainer-email: mauricelambert434@gmail.com
License: GPL-3.0 License
Project-URL: Documentation Timeout, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Timeout.html
Project-URL: Documentation Terminal, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Terminal.html
Project-URL: Documentation StringF, https://mauricelambert.github.io/info/python/code/PythonToolsKit/StringF.html
Project-URL: Documentation PrintF, https://mauricelambert.github.io/info/python/code/PythonToolsKit/PrintF.html
Project-URL: Documentation Process, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Process.html
Project-URL: Documentation Logs, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Logs.html
Project-URL: Documentation GetPass, https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetPass.html
Project-URL: Documentation Encodings, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Encodings.html
Project-URL: Documentation DictObject, https://mauricelambert.github.io/info/python/code/PythonToolsKit/DictObject.html
Project-URL: Documentation Report, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Report.html
Project-URL: Documentation urlopen, https://mauricelambert.github.io/info/python/code/PythonToolsKit/urlopen.html
Project-URL: Documentation Dict, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Dict.html
Project-URL: Documentation Arguments, https://mauricelambert.github.io/info/python/code/PythonToolsKit/Arguments.html
Keywords: Timeout,Terminal,Colors,Formatting,Print,Object,Process,CSV,Logs,Getpass,Password,Ask,*,Encodings,Report,Markdown,HTML,JSON,Arguments,Input,Output
Platform: Windows
Platform: Linux
Platform: MacOS
Classifier: Programming Language :: Python
Classifier: Development Status :: 5 - Production/Stable
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE.txt

![PythonToolsKit logo](https://mauricelambert.github.io/info/python/code/PythonToolsKit/logo_small.png "PythonToolsKit logo")

# PythonToolsKit

## Description

This package implements useful tools and functions for producing python packages or tools implemented in python.

Features implemented:

 - Timeout: 
     - Timeout decorator using MultiThreading
     - Timeout decorator using MultiProcessing
     - Timeout decorator using signal (UNIX only)
 - Terminal: ANSI features for terminal (color, position of the cursor, style...)
 - StringF:
     - Format the strings length
     - Make a table from Sequence of strings
     - Make a table of Attribute/Value from python object
 - PrintF:
     - Print states of tasks/programs
     - Print info, check OK/NOK, error... with prefix and color management
 - Process: generator to read process output lines in real time
 - Logs
     - Default logger builder
     - Decorator trace function (log the beginning and end of function execution)
     - Colored logger (StreamHandler only)
     - CSV formatter (logs in CSV format)
     - Handler for compressed log file rotation and store indefinitely
 - GetPass: a getpass function showing "\*"
 - Encodings:
     - Generator to obtain probable encodings
     - Function to try to decode the data with probable encodings
 - DictObject:
     - Dynamic object (build from dict)
     - JsonDeserializer
     - CsvDeserializer
 - Report:
     - Report as text/markdown
     - Report as CSV
     - Report as JSON
     - Report as HTML
     - Statistics
     - Sort and filter elements in the reports
     - The frequency and percentage of filtered elements
  - urlopen:
     - New urlopen based on urllib.request with a easiest way to manage HTTP error code (using decorator)
  - Dict:
     - Clean dict (for example, after loading the API response, you want to keep only certain informations)
  - Arguments:
     - Password and password prompt
     - Input file and stdin
     - Output file and stdout

## Requirements

This package require:

 - python3
 - python3 Standard Library

## Installation

```bash
pip install PythonToolsKit
```

## Usages

Examples with responses (mode console) are available in HTML documentation.

Note for import: add `PythonToolsKit.<module>`

```python
from PythonToolsKit.Timeout import *
import PythonToolsKit.Timeout
```

## Links

 - [Github Page](https://github.com/mauricelambert/PythonToolsKit/)
 - [Documentation Timeout](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Timeout.html)
 - [Documentation Terminal](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Terminal.html)
 - [Documentation StringF](https://mauricelambert.github.io/info/python/code/PythonToolsKit/StringF.html)
 - [Documentation PrintF](https://mauricelambert.github.io/info/python/code/PythonToolsKit/PrintF.html)
 - [Documentation Process](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Process.html)
 - [Documentation Logs](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Logs.html)
 - [Documentation GetPass](https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetPass.html)
 - [Documentation Encodings](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Encodings.html)
 - [Documentation DictObject](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DictObject.html)
 - [Documentation Report](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Report.html)
 - [Documentation urlopen](https://mauricelambert.github.io/info/python/code/PythonToolsKit/urlopen.html)
 - [Documentation Dict](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Dict.html)
 - [Documentation Arguments](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Arguments.html)
 - [Pypi package](https://pypi.org/project/PythonToolsKit/)

## Licence

Licensed under the [GPL, version 3](https://www.gnu.org/licenses/).


