Skip to content

Transition to pyproject.toml and setup.cfg#3494

Merged
chukarsten merged 35 commits intomainfrom
3412_pyproject
May 25, 2022
Merged

Transition to pyproject.toml and setup.cfg#3494
chukarsten merged 35 commits intomainfrom
3412_pyproject

Conversation

@eccabay
Copy link
Copy Markdown
Contributor

@eccabay eccabay commented May 2, 2022

Closes #3412

Also removes the concept of core-requirements within evalml. The core-requirements file still exists should users want to download evalml without catboost and xgboost, but there are no more tests or integrations for it. Ideally we'll remove this entirely in the future.

@codecov
Copy link
Copy Markdown

codecov bot commented May 3, 2022

Codecov Report

Merging #3494 (c6ea39d) into main (04f1388) will decrease coverage by 0.1%.
The diff coverage is 98.2%.

@@           Coverage Diff           @@
##            main   #3494     +/-   ##
=======================================
- Coverage   99.7%   99.7%   -0.0%     
=======================================
  Files        336     335      -1     
  Lines      33415   33263    -152     
=======================================
- Hits       33292   33135    -157     
- Misses       123     128      +5     
Impacted Files Coverage Δ
...ests/automl_tests/test_automl_search_regression.py 95.2% <ø> (-0.2%) ⬇️
...valml/tests/automl_tests/test_default_algorithm.py 100.0% <ø> (ø)
evalml/tests/conftest.py 97.5% <ø> (-<0.1%) ⬇️
...s/prediction_explanations_tests/test_algorithms.py 100.0% <ø> (ø)
...understanding_tests/test_permutation_importance.py 100.0% <ø> (ø)
...valml/tests/pipeline_tests/test_component_graph.py 99.9% <ø> (-<0.1%) ⬇️
evalml/utils/__init__.py 100.0% <ø> (ø)
evalml/tests/pipeline_tests/test_pipelines.py 99.8% <80.0%> (-<0.1%) ⬇️
evalml/utils/cli_utils.py 96.9% <90.5%> (-3.1%) ⬇️
evalml/automl/automl_search.py 99.6% <100.0%> (-<0.1%) ⬇️
... and 16 more

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 04f1388...c6ea39d. Read the comment docs.

@gsheni
Copy link
Copy Markdown
Contributor

gsheni commented May 3, 2022

@eccabay Glad to see this happen for EvalML. You can delete MANIFEST.in and move it to setup.cfg

  • alteryx/featuretools@74bfdb4
    You can also move additional things to pyproject.toml (like pytest, isort, coverage run/report). See above link

Comment thread setup.cfg
Comment thread setup.cfg Outdated
Comment thread setup.cfg
Comment thread setup.cfg Outdated
Comment thread setup.cfg
multi_line_output=3
skip=__init__.py

[darglint]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

this can be moved to pyproject.toml

Comment thread setup.py Outdated
@eccabay eccabay marked this pull request as ready for review May 12, 2022 13:39
@freddyaboulton
Copy link
Copy Markdown
Contributor

@eccabay I think we also need to update release.yml to use version 2 of the upload to pypi action like woodwork did here:
alteryx/woodwork@e81dc64#diff-87db21a973eed4fef5f32b267aa60fcee5cbdf03c67fafdc2a9b553bb0b15f34R13

Comment thread MANIFEST.in
Comment thread Makefile
Comment thread Makefile Outdated
Comment thread Makefile Outdated
Comment thread docs-requirements.txt
Comment thread tools/format_release_notes.sh Outdated
Copy link
Copy Markdown
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.

Thank you @eccabay for sticking with this and thank you @gsheni for helping out for the review. Left some small comments. Should be good to merge after that.

Comment thread setup.cfg Outdated
Comment thread setup.cfg
Comment thread setup.cfg Outdated
Comment thread Makefile Outdated
self.random_seed = random_seed
self.n_jobs = n_jobs

if not self.plot and self.verbose:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Why was this deleted?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Plotly moved from being a core-requirement to one of the regular requirements. self.plot is only None if plotly isn't installed. Since we no longer test this case, I removed this to make codecov happy (and users that pip install us shouldn't have an issue regardless)

Comment thread evalml/automl/utils.py
Comment thread .github/workflows/linux_unit_tests_with_minimum_deps.yaml
Comment thread .github/workflows/install_test.yaml
Comment thread evalml/utils/cli_utils.py
@eccabay eccabay requested a review from freddyaboulton May 17, 2022 18:26
Copy link
Copy Markdown
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.

Looks good to me @eccabay !

@chukarsten chukarsten merged commit 0b7d2a7 into main May 25, 2022
@chukarsten chukarsten deleted the 3412_pyproject branch May 25, 2022 19:07
@gsheni gsheni mentioned this pull request Jun 1, 2022
@freddyaboulton freddyaboulton mentioned this pull request Jun 9, 2022
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.

Transition EvalML to use pyproject.toml and setup.cfg (away from setup.py)

4 participants