Skip to content

RFE: enhancements for the future of the project #1

Open
@ankostis

Description

@ankostis

(Cloned from yahoo#22)
Collecting here enhancements that would nice to have on this project going forward:

Language & Build

2. Functionality

  • 2.1 drop "backward compatibility" Operation, clean up API
    (e.g. FunctionalOperation.compute() raises not impl, and network using private _compute() instead).
  • 2.2 (ENH: annotate graph edges as optionals yahoo/graphkit#20) store node data in networkx and not in classes
  • 2.3 add weights
  • 2.4 produce deterministic results & failures:
  • 2.5 support optional outputs.
  • 2.6 support combination of modifiers (e.g. optional-sideffect) and merge with _DataNode.
  • 2.7 assign "colors" to operations, and compute selectively on sub-sets of colors (idea from @syamajala's https://github.com/slac-lcls/networkfox)
  • 2.8 parallel execution:
    • 2.8.1 executor must accept an external "shared" pool from contextvars
      (now uses the one from Network).
    • 2.8.2 enable parallelism with configs alone - don't create the pool by default.
    • 2.8.3 enhance parallelism to support also Executors & Async coroutines.
  • 2.9 support functions with:
    • 2.9.1 *args (non-kwarg optionals)
    • 2.9.2 **kwargs (to receive the whole solution).
  • 2.10 add config-methods to top-level module.
  • 2.11 use a "start-node" to insert input-values in solution.
  • 2.12 assimilate netop.compute()/netop.__call__() to FunctionalOperation: only compute() should accept inputs dict, __call__() should accept **kwargs.
  • 2.13 keep executing as many nodes as possible, despite errors

3. diagrams:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions