Skip to content

Address Sphinx 4.0 upgrade#2244

Merged
dsherry merged 14 commits intomainfrom
bc_update_sphinx
May 12, 2021
Merged

Address Sphinx 4.0 upgrade#2244
dsherry merged 14 commits intomainfrom
bc_update_sphinx

Conversation

@bchen1116
Copy link
Contributor

@bchen1116 bchen1116 commented May 10, 2021

Sphinx v4.0.0 removes support for add_javascript and add_stylesheet and replaces them with other calls.

We cap the version to <4.0.0 to avoid issues with cross-referencing. (depreciated API docs here)

@bchen1116 bchen1116 self-assigned this May 10, 2021
@codecov
Copy link

codecov bot commented May 10, 2021

Codecov Report

Merging #2244 (bdd6fd7) into main (50d2b0a) will increase coverage by 0.1%.
The diff coverage is 100.0%.

Impacted file tree graph

@@           Coverage Diff           @@
##            main   #2244     +/-   ##
=======================================
+ Coverage   99.9%   99.9%   +0.1%     
=======================================
  Files        280     280             
  Lines      24288   24294      +6     
=======================================
+ Hits       24260   24266      +6     
  Misses        28      28             
Impacted Files Coverage Δ
evalml/tests/utils_tests/test_dependencies.py 88.9% <100.0%> (+3.2%) ⬆️

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 50d2b0a...bdd6fd7. Read the comment docs.

@bchen1116
Copy link
Contributor Author

New issue to unpin Sphinx here.

This PR will just cap Sphinx version <4.0.0 for now.

Copy link
Collaborator

@jeremyliweishih jeremyliweishih left a comment

Choose a reason for hiding this comment

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

looks good! Might need @chukarsten or @dsherry to merge in the dependency PR first so the dependency test passes here.

Copy link
Contributor

@freddyaboulton freddyaboulton left a comment

Choose a reason for hiding this comment

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

Thanks @bchen1116 !

Copy link
Contributor

@angela97lin angela97lin left a comment

Choose a reason for hiding this comment

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

LGTM!

Also filed #2248 so we can automatically catch stuff like this in the future :)

Copy link
Contributor

@freddyaboulton freddyaboulton left a comment

Choose a reason for hiding this comment

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

Thanks so much @bchen1116 !

Copy link
Contributor

@dsherry dsherry left a comment

Choose a reason for hiding this comment

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

@bchen1116 thank you!

I approved so that we can unblock main builds. But I do want to understand why we have to add MarkupSafe to requirements.txt. I thought its only required to build the docs, not required to run evalml.

if name == 'imbalanced-learn':
return 'imblearn'
elif name == 'MarkupSafe':
return 'markupsafe'
Copy link
Contributor

Choose a reason for hiding this comment

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

Damn that's tough. Nice patch though.

xgboost>=0.82,<1.3.0
catboost>=0.20
lightgbm>=2.3.1,<3.1.0
MarkupSafe==1.1.1
Copy link
Contributor

Choose a reason for hiding this comment

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

@bchen1116 why add this to our requirements? Shouldn't this only be in our docs requirements?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

When I just added this to the doc requirements, we still had failing tests. I'm not sure why it happened, but adding it to requirements solved the issue

Copy link
Contributor

@freddyaboulton freddyaboulton May 12, 2021

Choose a reason for hiding this comment

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

RTD installs the docs requirements and then evalml. evalml installs MarkupSafe via ipywidgets so if we pin markupsafe in docs requirements, it'll still be overwritten when RTD installs evalml

Copy link
Contributor

Choose a reason for hiding this comment

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

@freddyaboulton understood

Here is where we configure what gets installed in our RTD builds. I wonder if we now need another requirements file, which gets installed after evalml is installed, and we can move the markupsafe pin there. I'm trying that out now in a draft PR #2261

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.

8 participants