Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

augmentedtree

augmentedtree icon

augmentedtree enhances mappings and sequences (targeted for python dictionaries and lists) preserving their native behavior and access. The enhancement comes with getting values by single keys, human readable viewing, selecting and setting multiple values/items within the nested data at once, or-conditional selection of values/items. Also this package intends to prepare the nested data for pyQt. The augmentation provides methods and properties to be used for a QAbstractItemModel showing the nested data within a QTreeView.

Installation

Installing the latest release using pip is recommended.

    $ pip install augmentedtree

The latest development state can be obtained from gitlab using pip.

    $ pip install git+https://gitlab.com/david.scheliga/augmentedtree.git@dev

Basic Usage

The major purpose of augmentedtree is to retrieve quickly specific value(s) from a deep nested data featuring:

  • unix filename pattern
  • regular expressions
  • or-conditional selection

The targeted usage is to be able to write the following kind of code

# code where the nested data comes from
...

# gathering parameters
with AugmentedTree(nested_data) as tree:
    # simple selection
    first_value = tree.select("something", "here")[0]
    last_value = tree.select("something", "there")[-1]
    a_slice_of_values = tree.select("a", "l?t", "of")[3:6]

    # selection with refinement
    selection_of_values = tree.select("also/a", "lot", "of")
    narrowed_down = selection_of_values.where("this", "or", "that")[ALL_ITEMS]
    ...


if not tree.all_selections_succeeded:
    # break, exit or reacting to some value are not there
    ...

# code which is working with requested parameters       
...

Read-the-docs for a detailed explanation on how to use augmented tree.

Contribution

Any contribution by reporting a bug or desired changes are welcomed. The preferred way is to create an issue on the gitlab's project page, to keep track of everything regarding this project.

Contribution of Source Code

Code style

This project follows the recommendations of PEP8. The project is using black as the code formatter.

Workflow

  1. Fork the project on Gitlab.
  2. Commit changes to your own branch.
  3. Submit a pull request from your fork's branch to our branch 'dev'.

Authors

License

This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE file for details

Acknowledge

Code style: black

Metadata

Release files for augmentedtree 0.2a0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for augmentedtree 0.2a0
File Size Uploaded
augmentedtree-0.2a0.tar.gz 30.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for augmentedtree 0.2a0
File Interpreter ABI Platform
augmentedtree-0.2a0-py3-none-any.whl Python 3 none any Details

Total release size: 76.1 kB

Release files / augmentedtree-0.2a0.tar.gz

Download URL augmentedtree-0.2a0.tar.gz
Size 30.2 kB
Tags Source
SHA-256 checksum
How to use checksums
d97a31cc8fad84a11400c677b83bd98f1fc148cec841680a785e7dd290e900c6
BLAKE2b-256 checksum
How to use checksums
37822eee428bf0751418d33507ec4d7cfe6d590f1b295de0b038efb25dee8306
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10

Release files / augmentedtree-0.2a0-py3-none-any.whl

Download URL augmentedtree-0.2a0-py3-none-any.whl
Size 45.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08a4449dbfef4dead58343ce3f404089eb00ae7c7f358c1541269747399a6c16
BLAKE2b-256 checksum
How to use checksums
ea91ca30a010cd495cb540f807597fe7674e087ef4e0f62cc387f7607d9814f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.6.10
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page