Metadata-Version: 2.4
Name: thetemani-common-utils
Version: 0.1.8
Summary: A collection of common utility functions and scripts
Author: Omer Hadad
License: MIT
Project-URL: Homepage, https://github.com/Omer-hadad-s-Projects/common
Project-URL: Bug Reports, https://github.com/Omer-hadad-s-Projects/common/issues
Project-URL: Source, https://github.com/Omer-hadad-s-Projects/common
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: aiohappyeyeballs>=2.4.2
Requires-Dist: aiohttp>=3.10.7
Requires-Dist: aiosignal>=1.3.2
Requires-Dist: attrs>=24.2.0
Requires-Dist: frozenlist>=1.4.1
Requires-Dist: idna>=3.10
Requires-Dist: multidict>=6.1.0
Requires-Dist: yarl>=1.13.1
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: license
Dynamic: license-file
Dynamic: project-url
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Common Utils

A collection of common utility functions and scripts for various tasks including:
- File operations
- HTTP requests handling
- Image downloading
- Shell script execution
- Task completion management
- Machine wake functionality
- WebSocket listening

## Installation

```bash
pip install thetemani-common-utils
```

## Usage

```python
from common_utils import file_utils, http_wrapper, image_downloader

# File operations
result = file_utils.read_file("path/to/file.txt")
file_utils.write_file("path/to/output.txt", "content")

# HTTP requests
response = http_wrapper.make_request("https://api.example.com/data")

# Image downloading
image_downloader.download_image("https://example.com/image.jpg", "local_image.jpg")

# Shell script execution
from common_utils import shell_scripts_handler
shell_scripts_handler.execute_script("kill-process-at-port.sh", ["8080"])

# Async task processing
from common_utils import async_task_processor
async def my_async_task(data):
    # Your async logic here
    pass

async_task_processor.task_processor.add_task(my_async_task, "some_data")
```

## Features

- **Async Task Processor**: Queue and process async tasks in a separate thread
- **File Utils**: Easy file reading, writing, and manipulation
- **HTTP Wrapper**: Simplified HTTP request handling
- **Image Downloader**: Efficient image downloading with retry logic
- **Shell Scripts Handler**: Execute shell scripts with parameters
- **Task Completion**: Async task completion management
- **Wake Machine**: Remote machine wake functionality
- **WebSocket Listener**: Async WebSocket communication

## Requirements

See `requirements.txt` for a list of dependencies.

## License

MIT License
