Skip to content

Merge remainder of pyproject support #41676

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

Merged
merged 26 commits into from
Jun 20, 2025
Merged

Merge remainder of pyproject support #41676

merged 26 commits into from
Jun 20, 2025

Conversation

scbedd
Copy link
Member

@scbedd scbedd commented Jun 19, 2025

I snipped this from #39100

Not mandating anything about keyvault, but wanted to get this merged to main for anyone else who wants to ship a pyproject.toml project.

lmazuel and others added 23 commits January 9, 2025 13:43
…as removing the assumed setup.py in favor of just using the package directory
…o the set of dependencies that are installed (so that installing pure pyproject.toml packages does not fail). this repairs the depends tox environment
@scbedd scbedd self-assigned this Jun 19, 2025
@Copilot Copilot AI review requested due to automatic review settings June 19, 2025 23:46
Copy link
Contributor

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR removes residual support for pyproject by updating various build and package discovery functions and improving logging and command interfaces. Key changes include:

  • Adding a new CLI command "sdk_build_package" in setup.py.
  • Updating package parsing in scenario/generation.py to work directly with pyproject paths.
  • Adjusting tox and dependent package installation configurations to align with the new pyproject support.

Reviewed Changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tools/azure-sdk-tools/setup.py Added new CLI entry for building packages.
tools/azure-sdk-tools/ci_tools/scenario/generation.py Replaced direct setup.py path usage with target_setup for package parsing.
tools/azure-sdk-tools/ci_tools/functions.py Updated logging message to reflect changes in requirement updates.
tools/azure-sdk-tools/ci_tools/build.py Introduced build_package function and improved error checking in build commands.
eng/tox/verify_sdist.py Updated glob search to be recursive to locate sdists.
eng/tox/tox.ini Adjusted tox commands to use the new build_package interface.
eng/tox/install_depend_packages.py Renamed parameter and updated path joining for clarity.
eng/scripts/get_package_properties.py Enhanced package discovery to check for pyproject support.
eng/ci_tools.txt Updated build version reference.
eng/test_tools.txt Added additional package requirements for specific Python versions.
Comments suppressed due to low confidence (3)

tools/azure-sdk-tools/ci_tools/scenario/generation.py:70

  • Switching from using a joined 'setup.py' path to passing 'target_setup' directly may affect how ParsedSetup locates the project configuration. Please verify that ParsedSetup.from_path accepts a directory containing pyproject.toml or setup.py as intended.
    target_package = ParsedSetup.from_path(target_setup)

tools/azure-sdk-tools/ci_tools/scenario/generation.py:106

  • Removing the explicit 'setup.py' in the file path when parsing requirements might impact behavior if ParsedSetup expects a specific file. Please confirm that this modification is compatible with projects using both setup.py and pyproject.toml.
                requirements = ParsedSetup.from_path(os.path.join(os.path.abspath(target_setup))).requires

eng/tox/install_depend_packages.py:329

  • [nitpick] The variable renaming from 'setup_py_path' to 'package_directory' should be reflected in the associated documentation/comments. Consider updating the docstring for filter_dev_requirements to clarify this change for better maintainability.
    dev_req_path = os.path.join(package_directory, DEV_REQ_FILE)

@scbedd scbedd moved this from 🤔 Triage to 🐝 Dev in Azure SDK EngSys 🔨🏗️💻🚧 Jun 20, 2025
@scbedd scbedd moved this from 🐝 Dev to 🔬 Dev in PR in Azure SDK EngSys 🔨🏗️💻🚧 Jun 20, 2025
@scbedd scbedd changed the title Last Remaining Support for Pyproject Merge remainder of pyproject support Jun 20, 2025
@scbedd scbedd merged commit ee7c203 into main Jun 20, 2025
29 checks passed
@github-project-automation github-project-automation bot moved this from Untriaged to Done in Azure SDK for Key Vault Jun 20, 2025
@scbedd scbedd deleted the last-pyproject-support branch June 20, 2025 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

3 participants