Skip to content

RFE: enhancements for the future of the project #1

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions