first commit
This commit is contained in:
@@ -0,0 +1,277 @@
|
||||
Metadata-Version: 2.1
|
||||
Name: dict-toolbox
|
||||
Version: 1.12
|
||||
Summary: Dict tools for Python projects
|
||||
Home-page: https://gitlab.com/saltstack/open/dict-toolbox
|
||||
Author: Tyler Johnson
|
||||
Author-email: tjohnson@saltstack.com
|
||||
License: UNKNOWN
|
||||
Platform: UNKNOWN
|
||||
Classifier: Operating System :: OS Independent
|
||||
Classifier: Programming Language :: Python
|
||||
Classifier: Programming Language :: Python :: 3.6
|
||||
Classifier: Programming Language :: Python :: 3.7
|
||||
Classifier: Programming Language :: Python :: 3.8
|
||||
Classifier: Development Status :: 5 - Production/Stable
|
||||
Requires-Python: >=3.6
|
||||
Description-Content-Type: text/x-rst
|
||||
Requires-Dist: msgpack
|
||||
Requires-Dist: pyyaml (>=5.1)
|
||||
|
||||
============
|
||||
DICT-TOOLBOX
|
||||
============
|
||||
|
||||
INSTALLATION
|
||||
============
|
||||
.. code-block:: bash
|
||||
|
||||
pip install dict-toolbox
|
||||
|
||||
Contains various dict tools from the `Salt Project <https://github.com/saltstack/salt>`_.
|
||||
|
||||
Differ
|
||||
======
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import differ
|
||||
|
||||
deep_diff
|
||||
---------
|
||||
Computes the difference between to dictionaries.
|
||||
|
||||
recursive_diff
|
||||
--------------
|
||||
Computes the recursive difference between two dictionaries.
|
||||
|
||||
Trim
|
||||
====
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import trim
|
||||
|
||||
trim_dict
|
||||
---------
|
||||
Takes a dictionary and iterates over its keys, looking for
|
||||
large values and replacing them with a trimmed string.
|
||||
|
||||
|
||||
Update
|
||||
======
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import trim
|
||||
|
||||
|
||||
update
|
||||
------
|
||||
Merges "upd" recursively into the target
|
||||
|
||||
merge_list
|
||||
----------
|
||||
|
||||
merge_recurse
|
||||
-------------
|
||||
|
||||
merge_aggregate
|
||||
---------------
|
||||
|
||||
merge_overwrite
|
||||
---------------
|
||||
|
||||
merge
|
||||
-----
|
||||
|
||||
ensure_dict_key
|
||||
---------------
|
||||
Ensures that in_dict contains the series of recursive keys defined in keys.
|
||||
|
||||
set_dict_key_value
|
||||
------------------
|
||||
Ensures that in_dict contains the series of recursive keys defined in keys.
|
||||
Also sets whatever is at the end of `in_dict` traversed with `keys` to `value`.
|
||||
|
||||
update_dict_key_value
|
||||
---------------------
|
||||
Ensures that in_dict contains the series of recursive keys defined in keys.
|
||||
Also updates the dict, that is at the end of `in_dict` traversed with `keys`,
|
||||
with `value`.
|
||||
|
||||
append_dict_key_value
|
||||
---------------------
|
||||
Ensures that in_dict contains the series of recursive keys defined in keys.
|
||||
Also appends `value` to the list that is at the end of `in_dict` traversed
|
||||
with `keys`.
|
||||
|
||||
extend_dict_key_value
|
||||
---------------------
|
||||
Ensures that in_dict contains the series of recursive keys defined in keys.
|
||||
Also extends the list, that is at the end of `in_dict` traversed with `keys`,
|
||||
with `value`.
|
||||
|
||||
|
||||
XML
|
||||
===
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import xml
|
||||
|
||||
to_dict
|
||||
-------
|
||||
Convert an XML tree into a dict. The tree that is passed in must be an
|
||||
ElementTree object.
|
||||
|
||||
YAMLEX
|
||||
======
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import yamlex
|
||||
|
||||
YAMLEX is a format that allows for things like sls files to be
|
||||
more intuitive.
|
||||
|
||||
SLSMap
|
||||
------
|
||||
Ensures that dict str() and repr() are YAML friendly.
|
||||
|
||||
SLSString
|
||||
---------
|
||||
Ensures that str str() and repr() are YAML friendly.
|
||||
|
||||
AggregatedMap
|
||||
-------------
|
||||
|
||||
AggregatedSequence
|
||||
------------------
|
||||
|
||||
Dumper
|
||||
------
|
||||
sls dumper.
|
||||
|
||||
merge_recursive
|
||||
---------------
|
||||
Merge obj_b into obj_a.
|
||||
|
||||
MySQL
|
||||
=====
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import mysql
|
||||
|
||||
to_num
|
||||
------
|
||||
Convert a string to a number.
|
||||
|
||||
|
||||
to_dict
|
||||
-------
|
||||
Convert MySQL-style output to a python dictionary.
|
||||
|
||||
|
||||
DATA
|
||||
====
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import data
|
||||
|
||||
CaseInsensitiveDict
|
||||
-------------------
|
||||
Inspired by requests' case-insensitive dict implementation, but works with
|
||||
non-string keys as well.
|
||||
|
||||
ImmutableDict
|
||||
-------------
|
||||
An immutable mapping that can access it's keys via the namespace
|
||||
|
||||
NamespaceDict
|
||||
-------------
|
||||
A dictionary that can access it's string keys through the namespace
|
||||
|
||||
|
||||
compare_dicts
|
||||
-------------
|
||||
Compare before and after results from various functions, returning a
|
||||
dict describing the chagnes that were made.
|
||||
|
||||
is_dictlist
|
||||
-----------
|
||||
Returns True if data is a list of one-element dicts (as found in many SLS schemas)
|
||||
|
||||
object_to_dict
|
||||
--------------
|
||||
Convert an arbitrary object to a dictionary
|
||||
|
||||
recursive_diff
|
||||
--------------
|
||||
Performs a recursive diff on mappings and/or iterables and returns the result
|
||||
in a {'old': values, 'new': values}-style.
|
||||
Compares dicts and sets unordered (obviously), OrderedDicts and Lists ordered
|
||||
(but only if both ``old`` and ``new`` are of the same type),
|
||||
all other Mapping types unordered, and all other iterables ordered.
|
||||
|
||||
repack_dictlist
|
||||
---------------
|
||||
Takes a list of one-element dicts (as found in many SLS schemas) and
|
||||
repacks into a single dictionary.
|
||||
|
||||
subdict_match
|
||||
-------------
|
||||
Check for a match in a dictionary using a delimiter character to denote
|
||||
levels of subdicts, and also allowing the delimiter character to be
|
||||
matched. Thus, 'foo:bar:baz' will match data['foo'] == 'bar:baz' and
|
||||
data['foo']['bar'] == 'baz'. The latter would take priority over the
|
||||
former, as more deeply-nested matches are tried first.
|
||||
|
||||
|
||||
traverse_dict
|
||||
-------------
|
||||
Traverse a dict using a colon-delimited (or otherwise delimited, using the
|
||||
'delimiter' param) target string. The target 'foo:bar:baz' will return
|
||||
data['foo']['bar']['baz'] if this value exists, and will otherwise return
|
||||
the dict in the default argument.
|
||||
|
||||
traverse_dict_and_list
|
||||
----------------------
|
||||
Traverse a dict or list using a colon-delimited (or otherwise delimited,
|
||||
using the 'delimiter' param) target string. The target 'foo:bar:0' will
|
||||
return data['foo']['bar'][0] if this value exists, and will otherwise
|
||||
return the dict in the default argument.
|
||||
Function will automatically determine the target type.
|
||||
The target 'foo:bar:0' will return data['foo']['bar'][0] if data like
|
||||
{'foo':{'bar':['baz']}} , if data like {'foo':{'bar':{'0':'baz'}}}
|
||||
then return data['foo']['bar']['0']
|
||||
|
||||
Arg
|
||||
===
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import arg
|
||||
|
||||
yamlify_arg
|
||||
-----------
|
||||
yaml.safe_load the arg
|
||||
|
||||
|
||||
Aggregation
|
||||
===========
|
||||
.. code-block:: python
|
||||
|
||||
from dict_tools import aggregation
|
||||
|
||||
Makes it possible to introspect dataset and aggregate nodes
|
||||
when it is instructed
|
||||
|
||||
|
||||
levelise
|
||||
--------
|
||||
Describe which levels are allowed to do deep merging.
|
||||
|
||||
mark
|
||||
----
|
||||
Convert obj into an Aggregate instance
|
||||
|
||||
aggregate
|
||||
---------
|
||||
Merge obj_b into obj_a.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user