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

Switch to pyproject.toml for specifying dependencies #2052

Closed
wants to merge 7 commits into from

Conversation

vshampor
Copy link
Contributor

Changes

Most of the metadata has been moved out from setup.py to pyproject.toml.

Reason for changes

setup.py is increasingly deprecated, and tools turn to pyproject.toml for specifying dependencies and other static configuration. setup.py cannot be removed completely, though, at this time, since we use it for dynamic version generation (if installed from source) and there are no good and compatible alternatives for this.

Related tickets

N/A

Tests

install tests

@vshampor vshampor requested a review from a team as a code owner August 16, 2023 16:36
@github-actions github-actions bot added the dependencies Any changes in any dependencies (new dep or its version) should be produced via Change Request on PM label Aug 16, 2023
@vshampor vshampor force-pushed the fix_setup branch 3 times, most recently from 8117797 to 5661acd Compare August 16, 2023 17:20
@github-actions github-actions bot added NNCF PT Pull requests that updates NNCF PyTorch experimental labels Aug 16, 2023
@codecov
Copy link

codecov bot commented Aug 16, 2023

Codecov Report

Merging #2052 (0f82394) into develop (de10012) will increase coverage by 0.14%.
Report is 2 commits behind head on develop.
The diff coverage is n/a.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #2052      +/-   ##
===========================================
+ Coverage    32.82%   32.97%   +0.14%     
===========================================
  Files          476      475       -1     
  Lines        42278    42217      -61     
===========================================
+ Hits         13879    13921      +42     
+ Misses       28399    28296     -103     
Files Changed Coverage Δ
...al/torch/nas/bootstrapNAS/training/lr_scheduler.py 0.00% <ø> (ø)

... and 7 files with indirect coverage changes

@github-actions github-actions bot removed NNCF PT Pull requests that updates NNCF PyTorch experimental labels Aug 17, 2023
@vshampor vshampor force-pushed the fix_setup branch 2 times, most recently from eedf2ab to cf7ab7c Compare August 17, 2023 08:50
@github-actions github-actions bot added NNCF PT Pull requests that updates NNCF PyTorch experimental labels Aug 17, 2023
@vshampor
Copy link
Contributor Author

In its current state, and with reference to the current state of OS distributions and Python build tools, this change breaks a lot. pip install -e . is broken due to pypa/pip#7953, and on Ubuntu 22 (although not Ubuntu 20), pip install . is broken due to pypa/pip#6264 (pip can't tell the package's name and requirements and builds an UNKNOWN package). Both seem to have been fixed in newer versions of setuptools and pip, but no idea when the fixes will become available in an actual distro. Could work around this by adding a line mentioning system-wide setuptools upgrade into the installation notes and/or FAQ for Ubuntu 22 users who want the NNCF to be installable with pip install -e .

@vshampor vshampor marked this pull request as draft August 21, 2023 11:36
@vshampor
Copy link
Contributor Author

pyproject.toml is the future of the Python packaging, but we will only be able to do the switch once the distros we claim support for ship with setuptools/pip versions that do not exhibit breaking issues above.

@vshampor vshampor closed this Jan 9, 2024
@vshampor vshampor deleted the fix_setup branch January 9, 2024 14:01
@vshampor vshampor restored the fix_setup branch January 9, 2024 14:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Any changes in any dependencies (new dep or its version) should be produced via Change Request on PM experimental NNCF PT Pull requests that updates NNCF PyTorch
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant