Metadata-Version: 2.1
Name: paradeps
Version: 0.1.0
Summary: Resolves dependencies into tiers suitable for parallel work
License: AGPL-3.0-only
Author: Lee Braiden
Author-email: leebraid@gmail.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Description-Content-Type: text/plain

# paradeps

## This resolves dependencies into parallelizable execution tiers.  For example, given the inputs:

    a, b, c, d, f

Where a and b depend on f, this will return:

    [{c,d,f}, {a,b}]


## Usage

    from paradeps import Dependent

    class Item(Dep):
       ...

    def process_items_in_parallel(items):
       ...

    items = [Item() for i in range(5)]

    items[0].add_dependency(items[2])
    items[2].add_dependency(items[4])

    tiers = resolve_deps(items)

    for tier in tiers:
        process_items_in_parallel(tier)


## License

Released under the terms of Aferro GPL version 3.0 only.  See `LICENSE.txt` for further details.


## Authors / Contact

Email mailto::leebraid@gmail.com[mailto::leebraid@gmail.com].

