graphkit icon indicating copy to clipboard operation
graphkit copied to clipboard

RFE: enhancements for the future of the project

Open ankostis opened this issue 6 years ago • 0 comments

Collecting here enhancements that would nice to have on this project going forward:

Language & Build

  • [ ] 1.1 (#30) Black-en
  • [ ] 1.2 drop PY2 (EOL this year)
    • [ ] 1.3 Proper use of named-kwargs
    • [ ] 1.3.1 f-strings
    • [ ] 1.3.2 type annotations
  • [ ] 1.4 drop <PY3.6
  • [ ] (#29) 1.5 use logging module instead of print()
  • [ ] 1.6 (#28) pytest fixtures and parametrization
  • [ ] 1.7(#30) add API reference & link to RTD generated docs in github's project description.
  • [ ] restructure a better roles for modules base & functional.

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 (#20) store node data in networkx and not in classes
  • [ ] 2.3 add weights
  • [ ] 2.4 produce deterministic results & failures:
    • [ ] 2.4.1 use ordered-dicts (dicts are insertion-ordered in PY3.6+)
    • [ ] 2.4.2 (#23) use ordered-sets, or sort them prior to iterating them
    • [ ] 2.4.3 (#29) use ordered networkx.DiGraph.
  • [ ] 2.5 support optional outputs.
  • [ ] 2.6 support combination of modifiers (e.g. optional-sideffect).
  • [ ] 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 executor must accept an external "shared" pool (now uses the one from Network).

ankostis avatar Oct 01 '19 09:10 ankostis