XanaduAI / strawberryfields

Strawberry Fields is a full-stack Python library for designing, simulating, and optimizing continuous variable (CV) quantum optical circuits.
https://strawberryfields.ai
Apache License 2.0
754 stars 191 forks source link

Remove antlr4 requirement + pin Blackbird>=0.3.0 in setup.py #494

Closed thisac closed 3 years ago

thisac commented 3 years ago

Context: antlr4-python3-runtime is pinned at 4.8 in Blackbird, while it's still pinned at 4.7.2 in Strawberry Fields. This causes version conflicts during install. This is likely found now due to the new pip version released today which uses the new dependency resolver by default (and thus discovered this issue and tried to fix it by downloading many different versions of packages and comparing them).

Since antlr isn't required directly by SF (and was only added here due to failing tests), it can be removed, and is then installed with Blackbird instead.

Description of the Change: antlr4-python3-runtime is removed from requirements.txt

Benefits: No version conflicts between SF and Blackbird due to antlr.

Possible Drawbacks: None

Related GitHub Issues:

493 (fails due to the above mentioned issue)

codecov[bot] commented 3 years ago

Codecov Report

Merging #494 (855acda) into master (57c0910) will not change coverage. The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #494   +/-   ##
=======================================
  Coverage   97.85%   97.85%           
=======================================
  Files          70       70           
  Lines        7313     7313           
=======================================
  Hits         7156     7156           
  Misses        157      157           

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 57c0910...855acda. Read the comment docs.

josh146 commented 3 years ago

This is likely found now due to the new pip version released today which uses the new dependency resolver by default

😬

Thanks for catching this! I imagine the new dependency resolver becoming the default will cause a lot of issues over the next few weeks.