https://github.com/vahab-programmer/python-addons
Some Python Addons Python Don`t Have
https://github.com/vahab-programmer/python-addons
color decorators decorators-python logger logging oop overload overloading python python-addons python3 type-hinting utilities utility vahab-repo
Last synced: about 11 hours ago
JSON representation
Some Python Addons Python Don`t Have
- Host: GitHub
- URL: https://github.com/vahab-programmer/python-addons
- Owner: Vahab-Programmer
- Created: 2025-09-08T13:12:50.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-09-08T13:44:31.000Z (10 months ago)
- Last Synced: 2025-09-08T15:32:53.314Z (10 months ago)
- Topics: color, decorators, decorators-python, logger, logging, oop, overload, overloading, python, python-addons, python3, type-hinting, utilities, utility, vahab-repo
- Language: Python
- Homepage:
- Size: 4.88 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Python Add-ons
I programmed This Module for python which
add some ability python don`t have
like **Overloading**
## Overloading
the class uses Type Hints for Overloading
sample of Overloading in python
from addons import Overload
@Overload # Always Need Type Hint
def printer(data:str)->None:
print("String Data:",data)
@printer.overload # automate overloading using Type Hint
def printer_int(data:int)->None:
print("Integer Data:",data)
@printer.overload_manual(float) # manual function overloading
def printer_float(data)->None:
print("Float Data:",data)
@printer.default
def printer_default(data)->None:
print("Other Data:",data)
printer("123") # output: String Data: 123
printer(123) # output: Integer Data: 123
printer(12.3) # output: FLoat Data: 12.3
printer([1,2,3]) # output: Other Data: [1,2,3]
## Logging
sample of logging in python using **Logger**
from addons import Logger,DEBUG,INFO,WARNING,ERROR,CRITICAL,UNKNOWN
logger=Logger("Python addons",log_level=DEBUG)
logger.log("This is A Debug Message",level=DEBUG)
logger.log("This is A Info Message")
logger.log("This is A Warning Message",level=WARNING)
logger.log("This is A Error Message",level=ERROR)
logger.log("This is A Critical Message",level=CRITICAL)
logger.log("This is A Unknown Message",level=UNKNOWN)
logger.log("multiply","Message",123,[1,2,3],level=DEBUG)
## Thread With Return
sample of creating and getting the Thread return using **ThreadReturn**
from addons import ThreadReturn
def pow(x:int,y:int)->int:
return x**y
thread=ThreadReturn(target=pow,args=(2,16))
thread.start()
thread.join()
print(thread.return_value) # output: 65536
## Creator
**Author**: **Vahab Programmer**
**Github Page**: **[Vahab-Programmer](https://github.com/Vahab-Programmer)**
**Email**: **vahab.goudarzi.2011@gmail.com**
**Telegram**: **[Vahab Programmer Channel](https://t.me/ProgrammersPersian)**