![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
- Fast Base64 functions (without types/regex checks)
- 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)
- Operator (some basic functions callable from operator)
- List:
- Operator (some basic functions callable from operator)
- Tuple:
- Operator (some basic functions callable from operator)
- Function:
- Operator (some basic functions callable from operator)
- Arguments:
- Password and password prompt
- Input file and stdin
- Output file and stdout
- Verbose mode
- Debug mode
- Thread:
- Join all
- Class SimpleThread
- Thread decorator
- Import:
- import from path/filename
- GetFile:
- Research an existant file from current directory and lib directory
- Open an existant file from current directory or lib directory
- ScapyTools:
- Command line arguments for scapy (ArgumentParser with an optional argument "interface" by default and iface research)
- GetType
- Type string value (None, bool, int, float, IP)
- Numbers (int, float) and IP/network generator from string
- Random: Get random strings (random length, generator, check for strong password, secure, urlsafe, ...)
- Json:
- Load invalid JSON
- Correct invalid JSON
- WindowsTerminal:
- Activate/desactivate temporary/persistent virtual terminal (colors, font, ...) on Windows
- Set temporary/persistent terminal transparency on Windows
- Colors:
- Build 8bits-color byte
- Get 3 bytes color from HTML/CSS colors (#HEX, rgb function and rgba function)
- Check and safe methods are available for all these features
- DataAnalysis:
- Data statistics
- frequences (pourcent)
- Keys
- Values
- Keys and values
- Keys and values counters
- averages
- variances
- deviations
- medians
- sum
- max
- min
- Data filtering
- Counter/getter
- Count/get values greater than
- Count/get values lesser than
- Count value equal to
- Count different values by key
- Sort
- Values
- Keys
- Values counters
- Values sum
- Generate chart (using matplotlib)
- statistictypes
- valuetypes (values)
- valuetypes (counters)
- Print data tables
- statistictypes
- dictionnaries
- valuetypes
- Group data by values
- RecursionDebug: Help you to debug RecursionError
- OrdDict: A fast and powerful *Ordered Dict*
- Characters: Returns integers, string (latin-1), binary and hexadecimal from integers, string (latin-1), binary or hexadecimal
- DebugEncoding: Found used encoding when you have encoding problems
## Requirements
This package require:
- python3
- python3 Standard Library
> To use `PythonToolsKit.ScapyTools` you need `Scapy`, but is not installed by default (because this is the only module that needs it), install it with `python3 -m pip install scapy`
> To use `PythonToolsKit.DataAnalysis.show_chart` you need `matplotlib`, but is not installed by default (because this is the only function that needs it), install it with `python3 -m pip install matplotlib`
## 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
```
### Tools
#### Characters
```bash
python3 Characters.pyz mystring
python3 -m PythonToolsKit.Characters integers 97,98,99
Characters string abc
Characters hexa 616263
Characters hexa '61-62-63'
Characters hexa '61 62 63'
Characters hexa '61:62:63'
Characters binary '1100001 1100010 1100011'
python3 DebugEncoding.pyz éêâ --bad-values "‚ˆƒ"
python3 -m PythonToolsKit.DebugEncoding éêâ --decoding cp1252 --bad-values "‚ˆƒ" --json
DebugEncoding éêâ
DebugEncoding éêâ --encoding cp437
```
## Unittests
For `GetType` and `Json`, `Encodings`, `Colors` and `WindowsTerminal` modules i use `doctest` (unittests in documentation) and `coverage`:
```bash
python3 GetType.py # run doctest with verbose mode
python3 -m doctest GetType.py # run doctest without verbose mode
coverage run GetType.py # Calcul coverage
coverage report # Report in console
coverage html # Report in HTML page
```
| Module | Coverage | Statements | missing |
|--------------------|-----------|------------|------------|
| GetType.py | 100% | 130 | 000 |
| Json.py | 100% | 046 | 000 |
| Encodings.py | 100% | 054 | 000 |
| WindowsTerminal.py | 094% | 096 | 006 |
| Colors.py | 100% | 176 | 000 |
| DataAnalysis.py | 100% | 290 | 000 |
| Report.py | 099% | 160 | 001 |
| StringF.py | 100% | 067 | 000 |
| OrdDict.py | 100% | 172 | 000 |
| Characters.py | 078% | 063 | 014 |
## 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)
- [Documentation Tuple](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Tuple.html)
- [Documentation List](https://mauricelambert.github.io/info/python/code/PythonToolsKit/List.html)
- [Documentation Function](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Function.html)
- [Documentation Thread](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Thread.html)
- [Documentation Import](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Import.html)
- [Documentation ScapyTools](https://mauricelambert.github.io/info/python/code/PythonToolsKit/ScapyTools.html)
- [Documentation GetFile](https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetFile.html)
- [Documentation GetType](https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetType.html)
- [Documentation Random](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Random.html)
- [Documentation Json](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Json.html)
- [Documentation WindowsTerminal](https://mauricelambert.github.io/info/python/code/PythonToolsKit/WindowsTerminal.html)
- [Documentation Colors](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Colors.html)
- [Documentation DataAnalysis](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DataAnalysis.html)
- [Documentation RecursionDebug](https://mauricelambert.github.io/info/python/code/PythonToolsKit/RecursionDebug.html)
- [Documentation OrdDict](https://mauricelambert.github.io/info/python/code/PythonToolsKit/OrdDict.html)
- [Documentation Characters](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Characters.html)
- [Executable Characters](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Characters.pyz)
- [Documentation DebugEncoding](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DebugEncoding.html)
- [Executable DebugEncoding](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DebugEncoding.pyz)
- [Pypi package](https://pypi.org/project/PythonToolsKit/)
## Licence
Licensed under the [GPL, version 3](https://www.gnu.org/licenses/).
Raw data
{
"_id": null,
"home_page": "https://github.com/mauricelambert/PythonToolsKit",
"name": "PythonToolsKit",
"maintainer": "Maurice Lambert",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "mauricelambert434@gmail.com",
"keywords": "Timeout,Terminal,Colors,Formatting,Print,Object,Process,CSV,Logs,Getpass,Password,Ask,*,Encodings,Report,Markdown,HTML,JSON,Arguments,Input,Output,Operator,List,Tuple,Dict,Function,Statistic,Logs,Characters,urllib,Thread,Import,Scapy,Statistics",
"author": "Maurice Lambert",
"author_email": "mauricelambert434@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/89/e7/5d7bddc8b5d60097ee63c9e8b9732d5faa5430c897381cdc1b2617a0d572/PythonToolsKit-1.2.6.tar.gz",
"platform": "Windows",
"description": "![PythonToolsKit logo](https://mauricelambert.github.io/info/python/code/PythonToolsKit/logo_small.png \"PythonToolsKit logo\")\n\n# PythonToolsKit\n\n## Description\n\nThis package implements useful tools and functions for producing python packages or tools implemented in python.\n\nFeatures implemented:\n\n - Timeout: \n - Timeout decorator using MultiThreading\n - Timeout decorator using MultiProcessing\n - Timeout decorator using signal (UNIX only)\n - Terminal: ANSI features for terminal (color, position of the cursor, style...)\n - StringF:\n - Format the strings length\n - Make a table from Sequence of strings\n - Make a table of Attribute/Value from python object\n - PrintF:\n - Print states of tasks/programs\n - Print info, check OK/NOK, error... with prefix and color management\n - Process: generator to read process output lines in real time\n - Logs\n - Default logger builder\n - Decorator trace function (log the beginning and end of function execution)\n - Colored logger (StreamHandler only)\n - CSV formatter (logs in CSV format)\n - Handler for compressed log file rotation and store indefinitely\n - GetPass: a getpass function showing \"\\*\"\n - Encodings:\n - Generator to obtain probable encodings\n - Function to try to decode the data with probable encodings\n - Fast Base64 functions (without types/regex checks)\n - DictObject:\n - Dynamic object (build from dict)\n - JsonDeserializer\n - CsvDeserializer\n - Report:\n - Report as text/markdown\n - Report as CSV\n - Report as JSON\n - Report as HTML\n - Statistics\n - Sort and filter elements in the reports\n - The frequency and percentage of filtered elements\n - urlopen:\n - New urlopen based on urllib.request with a easiest way to manage HTTP error code (using decorator)\n - Dict:\n - Clean dict (for example, after loading the API response, you want to keep only certain informations)\n - Operator (some basic functions callable from operator)\n - List:\n - Operator (some basic functions callable from operator)\n - Tuple:\n - Operator (some basic functions callable from operator)\n - Function:\n - Operator (some basic functions callable from operator)\n - Arguments:\n - Password and password prompt\n - Input file and stdin\n - Output file and stdout\n - Verbose mode\n - Debug mode\n - Thread:\n - Join all\n - Class SimpleThread\n - Thread decorator\n - Import:\n - import from path/filename\n - GetFile:\n - Research an existant file from current directory and lib directory\n - Open an existant file from current directory or lib directory\n - ScapyTools:\n - Command line arguments for scapy (ArgumentParser with an optional argument \"interface\" by default and iface research)\n - GetType\n - Type string value (None, bool, int, float, IP)\n - Numbers (int, float) and IP/network generator from string\n - Random: Get random strings (random length, generator, check for strong password, secure, urlsafe, ...)\n - Json:\n - Load invalid JSON\n - Correct invalid JSON\n - WindowsTerminal:\n - Activate/desactivate temporary/persistent virtual terminal (colors, font, ...) on Windows\n - Set temporary/persistent terminal transparency on Windows\n - Colors:\n - Build 8bits-color byte\n - Get 3 bytes color from HTML/CSS colors (#HEX, rgb function and rgba function)\n - Check and safe methods are available for all these features\n - DataAnalysis:\n - Data statistics\n - frequences (pourcent)\n - Keys\n - Values\n - Keys and values\n - Keys and values counters\n - averages\n - variances\n - deviations\n - medians\n - sum\n - max\n - min\n - Data filtering\n - Counter/getter\n - Count/get values greater than\n - Count/get values lesser than\n - Count value equal to\n - Count different values by key\n - Sort\n - Values\n - Keys\n - Values counters\n - Values sum\n - Generate chart (using matplotlib)\n - statistictypes\n - valuetypes (values)\n - valuetypes (counters)\n - Print data tables\n - statistictypes\n - dictionnaries\n - valuetypes\n - Group data by values\n - RecursionDebug: Help you to debug RecursionError\n - OrdDict: A fast and powerful *Ordered Dict*\n - Characters: Returns integers, string (latin-1), binary and hexadecimal from integers, string (latin-1), binary or hexadecimal\n - DebugEncoding: Found used encoding when you have encoding problems\n\n## Requirements\n\nThis package require:\n\n - python3\n - python3 Standard Library\n \n> To use `PythonToolsKit.ScapyTools` you need `Scapy`, but is not installed by default (because this is the only module that needs it), install it with `python3 -m pip install scapy`\n\n> To use `PythonToolsKit.DataAnalysis.show_chart` you need `matplotlib`, but is not installed by default (because this is the only function that needs it), install it with `python3 -m pip install matplotlib`\n\n## Installation\n\n```bash\npip install PythonToolsKit\n```\n\n## Usages\n\nExamples with responses (mode console) are available in HTML documentation.\n\nNote for import: add `PythonToolsKit.<module>`\n\n```python\nfrom PythonToolsKit.Timeout import *\nimport PythonToolsKit.Timeout\n```\n\n### Tools\n\n#### Characters\n\n```bash\npython3 Characters.pyz mystring\npython3 -m PythonToolsKit.Characters integers 97,98,99\n\nCharacters string abc\nCharacters hexa 616263\nCharacters hexa '61-62-63'\nCharacters hexa '61 62 63'\nCharacters hexa '61:62:63'\nCharacters binary '1100001 1100010 1100011'\n\npython3 DebugEncoding.pyz \u00e9\u00ea\u00e2 --bad-values \"\u201a\u02c6\u0192\"\npython3 -m PythonToolsKit.DebugEncoding \u00e9\u00ea\u00e2 --decoding cp1252 --bad-values \"\u201a\u02c6\u0192\" --json\n\nDebugEncoding \u00e9\u00ea\u00e2\nDebugEncoding \u00e9\u00ea\u00e2 --encoding cp437\n```\n\n## Unittests\n\nFor `GetType` and `Json`, `Encodings`, `Colors` and `WindowsTerminal` modules i use `doctest` (unittests in documentation) and `coverage`:\n\n```bash\npython3 GetType.py # run doctest with verbose mode\npython3 -m doctest GetType.py # run doctest without verbose mode\ncoverage run GetType.py # Calcul coverage\ncoverage report # Report in console\ncoverage html # Report in HTML page\n```\n\n| Module | Coverage | Statements | missing |\n|--------------------|-----------|------------|------------|\n| GetType.py | 100% | 130 | 000 |\n| Json.py | 100% | 046 | 000 |\n| Encodings.py | 100% | 054 | 000 |\n| WindowsTerminal.py | 094% | 096 | 006 |\n| Colors.py | 100% | 176 | 000 |\n| DataAnalysis.py | 100% | 290 | 000 |\n| Report.py | 099% | 160 | 001 |\n| StringF.py | 100% | 067 | 000 |\n| OrdDict.py | 100% | 172 | 000 |\n| Characters.py | 078% | 063 | 014 |\n\n## Links\n\n - [Github Page](https://github.com/mauricelambert/PythonToolsKit/)\n - [Documentation Timeout](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Timeout.html)\n - [Documentation Terminal](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Terminal.html)\n - [Documentation StringF](https://mauricelambert.github.io/info/python/code/PythonToolsKit/StringF.html)\n - [Documentation PrintF](https://mauricelambert.github.io/info/python/code/PythonToolsKit/PrintF.html)\n - [Documentation Process](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Process.html)\n - [Documentation Logs](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Logs.html)\n - [Documentation GetPass](https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetPass.html)\n - [Documentation Encodings](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Encodings.html)\n - [Documentation DictObject](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DictObject.html)\n - [Documentation Report](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Report.html)\n - [Documentation urlopen](https://mauricelambert.github.io/info/python/code/PythonToolsKit/urlopen.html)\n - [Documentation Dict](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Dict.html)\n - [Documentation Arguments](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Arguments.html)\n - [Documentation Tuple](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Tuple.html)\n - [Documentation List](https://mauricelambert.github.io/info/python/code/PythonToolsKit/List.html)\n - [Documentation Function](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Function.html)\n - [Documentation Thread](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Thread.html)\n - [Documentation Import](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Import.html)\n - [Documentation ScapyTools](https://mauricelambert.github.io/info/python/code/PythonToolsKit/ScapyTools.html)\n - [Documentation GetFile](https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetFile.html)\n - [Documentation GetType](https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetType.html)\n - [Documentation Random](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Random.html)\n - [Documentation Json](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Json.html)\n - [Documentation WindowsTerminal](https://mauricelambert.github.io/info/python/code/PythonToolsKit/WindowsTerminal.html)\n - [Documentation Colors](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Colors.html)\n - [Documentation DataAnalysis](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DataAnalysis.html)\n - [Documentation RecursionDebug](https://mauricelambert.github.io/info/python/code/PythonToolsKit/RecursionDebug.html)\n - [Documentation OrdDict](https://mauricelambert.github.io/info/python/code/PythonToolsKit/OrdDict.html)\n - [Documentation Characters](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Characters.html)\n - [Executable Characters](https://mauricelambert.github.io/info/python/code/PythonToolsKit/Characters.pyz)\n - [Documentation DebugEncoding](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DebugEncoding.html)\n - [Executable DebugEncoding](https://mauricelambert.github.io/info/python/code/PythonToolsKit/DebugEncoding.pyz)\n - [Pypi package](https://pypi.org/project/PythonToolsKit/)\n\n## Licence\n\nLicensed under the [GPL, version 3](https://www.gnu.org/licenses/).\n\n",
"bugtrack_url": null,
"license": "GPL-3.0 License",
"summary": "This package implements tools to build python package and tools.",
"version": "1.2.6",
"project_urls": {
"Documentation Arguments": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Arguments.html",
"Documentation Characters": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Characters.html",
"Documentation Colors": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Colors.html",
"Documentation DataAnalysis": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/DataAnalysis.html",
"Documentation DebugEncoding": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/DebugEncoding.html",
"Documentation Dict": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Dict.html",
"Documentation DictObject": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/DictObject.html",
"Documentation Encodings": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Encodings.html",
"Documentation Function": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Function.html",
"Documentation GetFile": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetFile.html",
"Documentation GetPass": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetPass.html",
"Documentation GetType": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/GetType.html",
"Documentation Import": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Import.html",
"Documentation Json": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Json.html",
"Documentation List": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/List.html",
"Documentation Logs": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Logs.html",
"Documentation OrdDict": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/OrdDict.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 Random": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Random.html",
"Documentation RecursionDebug": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/RecursionDebug.html",
"Documentation Report": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Report.html",
"Documentation ScapyTools": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/ScapyTools.html",
"Documentation StringF": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/StringF.html",
"Documentation Terminal": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Terminal.html",
"Documentation Thread": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Thread.html",
"Documentation Timeout": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Timeout.html",
"Documentation Tuple": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Tuple.html",
"Documentation WindowsTerminal": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/WindowsTerminal.html",
"Documentation urlopen": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/urlopen.html",
"Executable Characters": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/Characters.pyz",
"Executable DebugEncoding": "https://mauricelambert.github.io/info/python/code/PythonToolsKit/DebugEncoding.pyz",
"Homepage": "https://github.com/mauricelambert/PythonToolsKit"
},
"split_keywords": [
"timeout",
"terminal",
"colors",
"formatting",
"print",
"object",
"process",
"csv",
"logs",
"getpass",
"password",
"ask",
"*",
"encodings",
"report",
"markdown",
"html",
"json",
"arguments",
"input",
"output",
"operator",
"list",
"tuple",
"dict",
"function",
"statistic",
"logs",
"characters",
"urllib",
"thread",
"import",
"scapy",
"statistics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "89e75d7bddc8b5d60097ee63c9e8b9732d5faa5430c897381cdc1b2617a0d572",
"md5": "06518e28c14f8134a07e96a8974cb19e",
"sha256": "dd3db887feca52d04eab563e9b858e1cd39f5077a37f0c96ce3dc236735cb2c2"
},
"downloads": -1,
"filename": "PythonToolsKit-1.2.6.tar.gz",
"has_sig": false,
"md5_digest": "06518e28c14f8134a07e96a8974cb19e",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 72621,
"upload_time": "2023-05-25T19:39:04",
"upload_time_iso_8601": "2023-05-25T19:39:04.791631Z",
"url": "https://files.pythonhosted.org/packages/89/e7/5d7bddc8b5d60097ee63c9e8b9732d5faa5430c897381cdc1b2617a0d572/PythonToolsKit-1.2.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-05-25 19:39:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mauricelambert",
"github_project": "PythonToolsKit",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "pythontoolskit"
}