A set of Python regularly used classes/functions
Project description
Dev4py-utils
A set of Python regularly used classes/functions
Table of contents
Project template
This project is based on pymsdl_template
Project links
Dev4py-utils modules
dev4py.utils.awaitables
Examples:
import asyncio
from dev4py.utils import awaitables, JOptional
# is_awaitable sample
awaitables.is_awaitable(asyncio.sleep(2)) # True
awaitables.is_awaitable(print("Hello")) # False
# to_sync_or_async_param_function sample
def mapper(s: str) -> str:
return s + "_suffix"
async def async_mapper(s: str) -> str:
await asyncio.sleep(1)
return s + "_async_suffix"
async def async_test():
# Note: mapper parameter is str and async_mapper returns an Awaitable[str] so we have to manage it
result: str = await JOptional.of("A value")\
.map(async_mapper)\
.map(awaitables.to_sync_or_async_param_function(mapper))\
.get()
print(result) # A value_async_suffix_suffix
asyncio.run(async_test())
dev4py.utils.JOptional
Note: JOptional class is inspired from java.util.Optional class with some adds (like
peek
method).
Examples:
from dev4py.utils import JOptional
value = 1
JOptional.of_noneable(value)\
.map(lambda v: f"The value is {v}")\
.if_present(print)
dev4py.utils.objects
Note: The objects module is inspired from java.util.Objects class.
Examples:
from dev4py.utils import objects
# non_none sample
value = None
objects.non_none(value)
# require_non_none sample
value = "A value"
objects.require_non_none(value)
# to_string sample
value = None
default_value: str = "A default value"
objects.to_string(value, default_value)
dev4py.utils.types
Note: The types module is inspired from java.util.function package
Examples:
from dev4py.utils.types import Function, Predicate, Consumer
# Function sample
int_to_str: Function[int, str] = lambda i: str(i)
str_result: str = int_to_str(1)
# Predicate sample
str_predicate: Predicate[str] = lambda s: s == "A value"
pred_result = str_predicate("Value to test")
# Consumer sample
def sample(consumer: Consumer[str], value: str) -> None:
consumer(value)
def my_consumer(arg: str) -> None:
print(arg)
sample(my_consumer, "My value")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dev4py-utils-2.1.0.tar.gz
(22.9 kB
view hashes)
Built Distribution
Close
Hashes for dev4py_utils-2.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ef9a65c9b3a4843f0d49ceaddf697721923464ab104882947b6764a43c1a4ec |
|
MD5 | f2e7b2adb5473c55b2463ce0c49ef2f0 |
|
BLAKE2b-256 | d3047912211a2a5ade90c8b367830dd196f2d6e066eafb8eff25999672de767f |