Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FIX: use insertion-ordered sets for deterministic results #23

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

ankostis
Copy link

@ankostis ankostis commented Oct 1, 2019

Addresses 1 issue from #22 (but not yet any TC to prove it!), see also reproducibility problem in #14.

NOTE: dicts are not deterministic in <PY3.6. So this commit would not improve determinism in those pythons.

  • Based on FIX(build): py2 needs pinning networkx-2.2 #16 fixes for Travis to work.
  • build: add boltons dependency for IndexedSet.
  • Stop arbitrary sorting outputs - a desperate attempt for determinism?
  • doc: mark all set() usage whether they would affect determinism.
  • fix: removed needless nx.dag.<method> package
    (remnant from older networkx versions?)

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

NOTE dict are not deterministic in <PY3.6.
So this commit would not improve determinism
in those pythons.

+ build: add `boltons` dependency for ndexedSet.
+ doc: mark all set usage if affect determinism.
+ e.g. see reproducibility problem in yahoo#14.
@codecov-io
Copy link

codecov-io commented Oct 1, 2019

Codecov Report

Merging #23 into master will increase coverage by 0.12%.
The diff coverage is 100%.

Impacted file tree graph

@@           Coverage Diff           @@
##           master   #23      +/-   ##
=======================================
+ Coverage   77.87%   78%   +0.12%     
=======================================
  Files           5     5              
  Lines         348   350       +2     
=======================================
+ Hits          271   273       +2     
  Misses         77    77
Impacted Files Coverage Δ
graphkit/network.py 70.35% <100%> (+0.14%) ⬆️
graphkit/functional.py 93.82% <100%> (+0.07%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e70718b...12bdfe4. Read the comment docs.

ankostis added a commit to ankostis/graphtik that referenced this pull request Oct 2, 2019
intermediate data.

More changes only for newer pruning TCs:
+ refact(test): rename graph-->netop vars for results of compose(),
  to avoid of `graph.net.graph`.
+ Explain failure modes in v1.2.4 & this merged branch (yahoo#19 + yahoo#23).
ankostis added a commit to ankostis/graphtik that referenced this pull request Oct 2, 2019
override intermediate data.

More changes only for newer pruning TCs:
+ refact(test): rename graph-->netop vars for results of compose(),
  to avoid of `graph.net.graph`.
+ Explain failure modes in v1.2.4 & this merged branch (yahoo#19 + yahoo#23).
ankostis referenced this pull request in syamajala/graphkit Oct 8, 2019
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Please upload report for BASE (master@e70718b). Learn more about missing BASE report.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff            @@
##             master      #23   +/-   ##
=========================================
  Coverage          ?   78.00%           
=========================================
  Files             ?        5           
  Lines             ?      350           
  Branches          ?        0           
=========================================
  Hits              ?      273           
  Misses            ?       77           
  Partials          ?        0           
Files with missing lines Coverage Δ
graphkit/functional.py 93.82% <100.00%> (ø)
graphkit/network.py 70.35% <100.00%> (ø)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e70718b...12bdfe4. Read the comment docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants