Metadata-Version: 2.1
Name: simpleutilz
Version: 1.0.2
Summary: A versatile Python utility library that offers a wide range of helper functions, classes, and modules to expedite development tasks and simplify common operations
Home-page: https://github.com/ItzSimplyJoe/SimpleUtilz
Author: ItzSimplyJoe
Author-email: joebostock30@gmail.com
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE

# SimpleUtilz.py - Python Utility Library
`SimpleUtilz` is a versatile Python utility library that offers a wide range of helper functions, classes, and modules to expedite development tasks and simplify common operations. With `SimpleUtilz`, you can streamline your Python projects and enhance productivity through a collection of useful functionalities.

## Installation
You can install ``SimpleUtilz`` using pip:

`pip install SimpleUtilz`
## Functionality and Usage
### File Handling Functions
`create_directory(directory_path)``
Create a directory if it does not exist.


```py
from SimpleUtilz import create_directory

directory_path = '/path/to/directory'
create_directory(directory_path)
```
`delete_file(file_path)`
Delete a file if it exists.

```py
from SimpleUtilz import delete_file

file_path = '/path/to/file.txt'
delete_file(file_path)
```
### Data Manipulation Tools
merge_dicts(*dicts)
Merge multiple dictionaries into a single dictionary.


```py
from SimpleUtilz import merge_dicts

dict1 = {'a': 1, 'b': 2}
dict2 = {'c': 3, 'd': 4}
merged_dict = merge_dicts(dict1, dict2)
print(merged_dict)  # Output: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
```
### String Utilities
`capitalize_first_letter(input_string)`
Capitalize the first letter of a given string.

```py
from SimpleUtilz import capitalize_first_letter

input_string = 'hello world'
capitalized_string = capitalize_first_letter(input_string)
print(capitalized_string)  # Output: 'Hello world'
```
`remove_whitespace(input_string)`
Remove leading and trailing whitespace from a string.

```py
from SimpleUtilz import remove_whitespace

input_string = '   hello world   '
cleaned_string = remove_whitespace(input_string)
print(cleaned_string)  # Output: 'hello world'
```
### Date and Time Utilities
`get_formatted_datetime(format_str="%Y-%m-%d %H:%M:%S")`
Get the current date and time in a formatted string.

```py
from SimpleUtilz import get_formatted_datetime

formatted_time = get_formatted_datetime("%Y-%m-%d")
print(formatted_time)  # Output: '2023-07-20'
```
### Logging Module
`log_error(message)`
Log an error message to the console or a file (if configured).

```py
import logging
from SimpleUtilz import log_error

logging.basicConfig(filename='error.log', level=logging.ERROR)
try:
    # Some code that may raise an exception
    raise ValueError("Something went wrong!")
except Exception as e:
    log_error(str(e))
```
### Network Utilities
`download_file(url, save_path)`
Download a file from a given URL and save it to the specified path.

```py
from SimpleUtilz import download_file

file_url = 'https://example.com/some_file.txt'
save_path = '/path/to/save/file.txt'
download_file(file_url, save_path)
```
`extract_zip(zip_file_path, extract_to)`
Extract files from a ZIP archive to the specified directory.

```py
from SimpleUtilz import extract_zip

zip_file_path = '/path/to/archive.zip'
extract_to = '/path/to/extract'
extract_zip(zip_file_path, extract_to)
```
`extract_tar(tar_file_path, extract_to)`
Extract files from a TAR archive to the specified directory.

```py
from SimpleUtilz import extract_tar

tar_file_path = '/path/to/archive.tar.gz'
extract_to = '/path/to/extract'
extract_tar(tar_file_path, extract_to)
```
`get_domain_from_url(url)`
Extract the domain name from a given URL.

```py
from SimpleUtilz import get_domain_from_url

url = 'https://www.example.com/some/page.html'
domain = get_domain_from_url(url)
print(domain)  # Output: 'www.example.com'
```
## Other Utilities
`generate_random_string(length=10)`
Generate a random string of a specified length.

```py
from SimpleUtilz import generate_random_string

random_str = generate_random_string(8)
print(random_str)  # Output: 'JwB45XzQ'
```
`is_prime(number)`
Check if a given number is a prime number.

```py
from SimpleUtilz import is_prime

number = 17
if is_prime(number):
    print(f"{number} is a prime number.")
else:
    print(f"{number} is not a prime number.")
```
`load_json(file_path)`
Load JSON data from a file and return it as a Python dictionary.

```py
from SimpleUtilz import load_json

file_path = '/path/to/data.json'
data = load_json(file_path)
print(data)  # Output: {'name': 'John Doe', 'age': 30, 'email': 'john@example.com'}
```
`calculate_average(numbers)`
Calculate the average of a list of numbers.
```py
from SimpleUtilz import calculate_average

numbers = [12, 34, 56, 78, 90]
average = calculate_average(numbers)
print(average)  # Output: 54.
```
`calculate_median(numbers)`
Calculate the median of a list of numbers.
```py
from SimpleUtilz import calculate_median

numbers = [12, 34, 56, 78, 90]
median = calculate_median(numbers)
print(median)  # Output: 56
```
`flatten_list(nested_list)`
Flatten a nested list into a single-dimensional list.

```
from SimpleUtilz import flatten_list

nested_list = [[1, 2, 3], [4, [5, 6]], [7], 8]
flattened_list = flatten_list(nested_list)
print(flattened_list)  # Output: [1, 2, 3, 4, 5, 6, 7, 8]
```
`remove_duplicates(input_list)`
Remove duplicates from a list while preserving the order.
```py
from SimpleUtilz import remove_duplicates

input_list = [1, 2, 2, 3, 4, 3, 5]
unique_list = remove_duplicates(input_list)
print(unique_list)  # Output: [1, 2, 3, 4, 5]
```
`is_valid_email(email)`
Check if a given string is a valid email address.

```py
from SimpleUtilz import is_valid_email

email = 'john@example.com'
if is_valid_email(email):
    print(f"{email} is a valid email address.")
else:
    print(f"{email} is not a valid email address.")
```
`is_valid_url(url)`
Check if a given string is a valid URL.

```py
from SimpleUtilz import is_valid_url

url = 'https://www.example.com'
if is_valid_url(url):
    print(f"{url} is a valid URL.")
else:
    print(f"{url} is not a valid URL.")
```
`is_valid_ipv4(ip)`
Check if a given string is a valid IPv4 address.

```py
from SimpleUtilz import is_valid_ipv4

ip = '192.168.1.1'
if is_valid_ipv4(ip):
    print(f"{ip} is a valid IPv4 address.")
else:
    print(f"{ip} is not a valid IPv4 address.")
```
`read_config_file(config_file_path)`
Read a configuration file (e.g., .ini, .yaml) and return it as a dictionary.

```py
from SimpleUtilz import read_config_file

config_file_path = '/path/to/config.ini'
config_data = read_config_file(config_file_path)
print(config_data)
```
`write_config_file(config_dict, file_path)`
Write a dictionary as a configuration file.

```py
from SimpleUtilz import write_config_file

config_dict = {'Section1': {'key1': 'value1', 'key2': 'value2'}, 'Section2': {'key3': 'value3'}}
file_path = '/path/to/config.ini'
write_config_file(config_dict, file_path)
```
`generate_encryption_key()`
Generate a new encryption key.
```py
from SimpleUtilz import generate_encryption_key

encryption_key = generate_encryption_key()
print(encryption_key)
```
`encrypt_string(text, key)`
Encrypt a string using a symmetric encryption algorithm.
```py
from SimpleUtilz import encrypt_string

text = 'This is a secret message.'
key = b'some_random_key'
encrypted_text = encrypt_string(text, key)
print(encrypted_text)
```
`decrypt_string(encrypted_text, key)`
Decrypt an encrypted string using the same key.

```py
from SimpleUtilz import decrypt_string

encrypted_text = b'encrypted_data_here'
key = b'some_random_key'
decrypted_text = decrypt_string(encrypted_text, key)
print(decrypted_text)
```
`convert_pdf_to_text(pdf_file_path)`
Convert a PDF file to plain text.

```py
from SimpleUtilz import convert_pdf_to_text

pdf_file_path = '/path/to/sample.pdf'
pdf_text = convert_pdf_to_text(pdf_file_path)
print(pdf_text)
```
## Contributing
Contributions to `SimpleUtilz` are welcome! If you find any bugs, have new ideas, or want to improve the existing functionality, please open an issue or submit a pull request.

## License
This project is licensed under the MIT License - see the LICENSE file for details.

The `SimpleUtilz` library offers an extensive array of functions to simplify tasks and boost productivity in Python projects. The README.md provides detailed explanations and examples for each function, enabling users to grasp the functionalities swiftly and incorporate them seamlessly into their projects. Should you encounter any issues or have suggestions for improvements, do not hesitate to contribute or reach out to me!
