graphkit
graphkit copied to clipboard
RFE: enhancements for the future of the project
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
loggingmodule instead ofprint() - [ ] 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
networkxand 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).