Collection of generic-purpose and stand-alone functions
Project description
Collection of generic-purpose and stand-alone functions
This package provides a collection of generic-purpose and stand-alone functions that are of common use. A characteristic of the package is to be lightweight and dependencies-free. Please, consider its installation if any of the following function can be of use in your project. Any addition to the list is very welcome!
Installation
The package can be installed via pip
:
pip install [--user] lyncs_utils
Documentation
Here the list of functions implemented with a short description. Use help(lyncs_utils)
for more details.
Class Utils
Functions and decorator for classes. See lyncs_utils.class_utils
.
@add_to
: Decorator for adding a function to a class@add_kwargs_of(fnc)
: Decorator for adding kwargs of a function to another@compute_property
: Decorator for computing a property once and cache the result@static_property
: Decorator for a static property (like staticmethod)@class_property
: Decorator for a class property (like classmethod)call_method(obj, fnc, *args, **kwargs)
: Calls a method of the obj.default_repr_pretty
: Default method to use for repr_prettydefault(value, type=None, doc=None)
: Attribute with default value and optional type checking
Extensions
Extensions of Python standard functions. See lyncs_utils.extensions
.
count
: See itertools.count. Adds call methodredirect_stdout
: See contextlib.redirect_stdout. Now, it redirects stdout also from Ckeydefaultdict
: A defaultdict that passes the key to the factoryFreezableDict
: Extension of dict. A dictionary that can be frozen at any moment.cache
: Enables functools.cache for all versions of Pythonlazy_import(module)
: Lazy import for modulessetitems(arr, vals)
: Sets items of an iterable objectcommonsuffix(words)
: Finds common suffix in words@raiseif(fail, error)
: Decorator that raiseserror
iffail
isTrue
RaiseOnUse(error)
: Class instance that raiseserror
when used
Math
Math utils. See lyncs_utils.math
.
prod(arr)
: Enables math.prod for all versions of Pythonsign(n)
: Sign of a numberisclose(a,b,warn_tol=None,**)
: isclose with a warning tolfactors(n)
: Returns the list of factors of nprime_factors(n)
: Returns the list of prime factors of n
Functools
Tools for functions. See lyncs_utils.functools
.
is_keyword(key)
: Whether key can be used as a function keywordget_varnames(fnc)
: Returns the list of varnames of the functionhas_args(fnc)
: Whether the function uses *argshas_kwargs(fnc)
: Whether the function uses **kwargsapply_annotations(fnc, *args, **kwargs)
: Applies the annotations of fnc to the respective *args, **kwargsselect_kwargs(fnc, *args, **kwargs)
: Calls fnc passing *args and ONLY the applicable **kwargs@spy
: Decorator that will log debug information when the function is called
Context Managers
Functionalities using contextmanager
by contextlib
meant to be called within a with-statement.
See lyncs_utils.contextlib
.
setting(obj, attr, value, default=None)
: Context manager that temporaly sets an attribute of an object.updating(obj, attr, value, default=None)
: Context manager that temporaly sets an item of an object.
I/O
Tools for I/O. See lyncs_utils.io
.
@open_file
: Decorator that opens the file (if needed) before calling the functionread(fname/fp)
: Reads data from filewrite(fname/fp)
: Writes data into the fileread_struct(fname/fp, format)
: Reads a structure from filewrite_struct(fname/fp, format, *data)
: Writes a structure from filefile_size(fname/fp)
: Returns the file sizeto_path(fname/fp)
: Returns a Path object to the filedbdict
: Dictionary-like class for storing dictionaries in a database
Logical
Functions returning or manipulating logical values (boolean). See lyncs_utils.logical
.
single_true(iter)
: Whether one and only one element of the list is Trueisiterable(obj)
: Whether the object is iteragle or notinteractive()
: Whether Python has been run in interactive modeversion(num, pkg)
: Compares the version number to the one of a package
Numpy
Functions returning or manipulating Numpy arrays (available with lyncs[numpy]
)
outer(A,B)
: outer product, alias ofnumpy.kron
.gamma_matrices(dim, euclidean=True)
: returns n-dimensional gamma matrices
Itertools
Functions for iterable objects
first(it)
: first element of an iterablelast(it)
: last element of an iterableindexes(it,val)
: indexes of occurances of a value in an iterabledictmap(fnc, dict)
: map for dictionariesdictzip(*dicts, fill=True, default=None)
: zip for dictionariesflat_dict(dict, sep="/", base="")
: flat nested dictionaries into a single dictcompact_indexes(ids)
: compats list of integers into ranges where possible
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.