A small pure-python package for data structure relatedutility functions.


Keywords
python, list, dict, set, sortedlist
License
MIT
Install
pip install strct==0.0.26

Documentation

strct

PyPI-Status PyPI-Versions Build-Status Codecov LICENCE

A small pure-python package for data strcture related utility functions.

from strct.dict import get_nested_val

>>> dict_obj = {'a': {'b': 7}}
>>> get_nested_val(('a', 'b'), dict_obj)
7

1   Installation

Install strct with:

pip install strct

2   Use

strct is divided into five sub-modules:

2.1   dicts

Getting values from nested dicts in various ways; operations on number-valued dicts; merging, normalizing, reversing and printing dicts (nicely)

2.2   lists

Index and element shifts that preserve order.

2.3   sets

Operations on sets:

  • Getting a set element by a priority list.

2.4   sortedlists

Operations on sortedcontainers.SortedList objects.

2.5   hash

Provide cross-kernel stable hash functions that work for built-in data structures and types, and for any custom data structure complying with the iterable or dict schemes.

3   Contributing

Package author and current maintainer is Shay Palachy (shay.palachy@gmail.com); You are more than welcome to approach him for help. Contributions are very welcomed.

3.1   Installing for development

Clone:

git clone git@github.com:shaypal5/strct.git

Install in development mode with test dependencies:

cd strct
pip install -e ".[test]"

3.2   Running the tests

To run the tests, use:

python -m pytest --cov=strct --doctest-modules

3.3   Adding documentation

This project is documented using the numpy docstring conventions, which were chosen as they are perhaps the most widely-spread conventions that are both supported by common tools such as Sphinx and result in human-readable docstrings (in my personal opinion, of course). When documenting code you add to this project, please follow these conventions.

4   Credits

Created by Shay Palachy (shay.palachy@gmail.com).