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

Drop dimod 0.8.x support and fix CI #259

Merged
merged 4 commits into from
Dec 10, 2021

Conversation

randomir
Copy link
Member

@randomir randomir commented Dec 10, 2021

Support dimod>=0.9.6 and make dependency versions consistent.

Fix CI to correctly sweep supported versions of dependencies. Close #258.

Version 0.8 is now almost 2 years old, and most Ocean packages already
dropped support for it, so it's becoming a pain to maintain the whole
collection of packages compatible (primarily samplers: neal, tabu,
greedy) and tested.
@randomir randomir force-pushed the drop-dimod-0.8-support branch from 2b1413d to 5cd5091 Compare December 10, 2021 11:32
In the process, we had to increase the lower bound of dimod to 0.9.6,
due to dwave-networx, dwave-neal and numpy conflicts.
@randomir randomir force-pushed the drop-dimod-0.8-support branch from e4e0b33 to e61fe6d Compare December 10, 2021 14:31
@randomir randomir force-pushed the drop-dimod-0.8-support branch from e61fe6d to 96cfe37 Compare December 10, 2021 14:34
@randomir randomir requested a review from arcondello December 10, 2021 15:13
@randomir randomir changed the title Drop dimod 0.8.x support Drop dimod 0.8.x support and fix CI Dec 10, 2021
# Include dwave-preprocessing, as dimod went back and forth with
# including it as a core dependency vs extra. Make it unbounded,
# as it's already constrained by dimod (if required).
'dwave-preprocessing',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe pip's version resolution order will fail if we release a version of dwave-preprocessing that's outside of dimod's version constraints. Since it does something like bfs

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure I understand what you mean?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IIRC, it will first install everything listed here using the ranges specified here. So dwave-preprocessing will be unbounded. Then it will install the dependencies of the dependencies and discover that dimod (may) require something smaller. I could be misremembering though the order.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps, but dimod doesn't constrain dwave-preprocessing anymore, right?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Of course, you're right.

FWIW dimod and dwave-preprocessing are linked at the C++ level, and when we merge dwavesystems/dimod#1043 that will constitute a breaking change for dwave-preprocessing.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to know. 🤦

@randomir randomir merged commit 310b47d into dwavesystems:master Dec 10, 2021
@randomir randomir deleted the drop-dimod-0.8-support branch December 10, 2021 20:22
randomir added a commit to randomir/dwave-hybrid that referenced this pull request Dec 21, 2021
New Features
---

- Add `hybrid.Log`, a block to log user-define state metrics to a JSON
  file, python logger, or in-memory queue or list. See dwavesystems#257.

- Add convenience JSON encoders for commonly used NumPy
  (`hybrid.utils.NumpyEncoder`) and Ocean types
(`hybrid.utils.OceanEncoder`). See dwavesystems#257.

Fixes
---

- Clarify docs, dwavesystems#142.

Upgrade
---

- Drop dimod 0.8.x support. Oldest supported dimod version is now 0.9.6.
  See dwavesystems#259.
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.

CI not sweeping dimod versions properly
2 participants