Skip to content

Port data-plane packages in sdk/core/ to pyproject.toml#45556

Merged
l0lawrence merged 11 commits intomainfrom
copilot/port-data-plane-packages-to-pyproject
Mar 10, 2026
Merged

Port data-plane packages in sdk/core/ to pyproject.toml#45556
l0lawrence merged 11 commits intomainfrom
copilot/port-data-plane-packages-to-pyproject

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 6, 2026

  • Migrate azure-core to use pyproject.toml
  • Migrate azure-core-experimental to use pyproject.toml
  • Migrate azure-core-tracing-opentelemetry to use pyproject.toml
  • Migrate corehttp to use pyproject.toml
  • Migrate azure-common to use pyproject.toml
  • Remove setup.py files from migrated packages
  • Validate migrations build correctly (all packages build sdist and wheel successfully)
  • Fix azure-common: add dependencies = [] to [project] section so ci_tools.parsing.ParsedSetup (used by apistub and other CI tools) doesn't fail with TypeError: 'NoneType' object is not iterable
  • Fix azure-core-experimental: switch to include = ["azure.core.experimental*"] in [tool.setuptools.packages.find] to avoid shipping namespace __init__.py files that overlap with azure-core
  • Fix azure-core-tracing-opentelemetry: switch to include = ["azure.core.tracing.ext.opentelemetry_span*"] to match original setup.py explicit package list and avoid shipping namespace __init__.py files
  • Fix corehttp: remove samples* from exclude list to match original setup.py behavior

💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>
Copilot AI changed the title [WIP] Port data-plane packages in core/ to use pyproject.toml Port data-plane packages in sdk/core/ to pyproject.toml Mar 6, 2026
@l0lawrence l0lawrence marked this pull request as ready for review March 6, 2026 18:53
Copilot AI review requested due to automatic review settings March 6, 2026 18:53
Copy link
Copy Markdown
Contributor

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

Migrates sdk/core/ data-plane packages from setup.py to PEP 517/518 pyproject.toml packaging, consolidating metadata (deps/extras/version/readme/package discovery) into a single declarative config per package.

Changes:

  • Removed legacy setup.py packaging scripts for core packages.
  • Added full PEP 621 [project] metadata plus dynamic version/readme configuration in pyproject.toml.
  • Defined optional dependency extras (e.g., aio, tracing, transport extras) in pyproject.toml.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
sdk/core/corehttp/setup.py Removed legacy setuptools script in favor of pyproject.toml.
sdk/core/corehttp/pyproject.toml Added PEP 621 metadata, extras, dynamic version/readme, and package discovery config.
sdk/core/azure-core/setup.py Removed legacy setuptools script in favor of pyproject.toml.
sdk/core/azure-core/pyproject.toml Added PEP 621 metadata, extras, dynamic version/readme, and package discovery config.
sdk/core/azure-core-tracing-opentelemetry/setup.py Removed legacy setuptools script in favor of pyproject.toml.
sdk/core/azure-core-tracing-opentelemetry/pyproject.toml Added PEP 621 metadata + dynamic version/readme + package discovery config for tracing plugin.
sdk/core/azure-core-experimental/setup.py Removed legacy setuptools script in favor of pyproject.toml.
sdk/core/azure-core-experimental/pyproject.toml Added PEP 621 metadata + dynamic version/readme + package discovery config for experimental package.
sdk/core/azure-common/setup.py Removed legacy setuptools script in favor of pyproject.toml.
sdk/core/azure-common/pyproject.toml Added PEP 621 metadata + dynamic version/readme + package discovery config.

Comment thread sdk/core/azure-core-tracing-opentelemetry/pyproject.toml Outdated
Comment thread sdk/core/azure-core-experimental/pyproject.toml
@l0lawrence
Copy link
Copy Markdown
Member

@copilot apistub is failing for some pkgs help fix that

…ict package discovery for extension packages

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 6, 2026

@copilot apistub is failing for some pkgs help fix that

Fixed in b8fb1fe. Two issues were causing apistub failures:

  1. azure-common: The [project] section had no dependencies key, which caused ci_tools.parsing.ParsedSetup (used by apistub and other CI tools) to fail with TypeError: 'NoneType' object is not iterable. Added dependencies = [].

  2. azure-core-experimental and azure-core-tracing-opentelemetry: Package discovery was using exclude which caused namespace __init__.py files (e.g. azure/core/__init__.py) to be included in the wheels, potentially interfering with azure-core at install time. Switched both to use include to only ship the actual extension packages (azure.core.experimental* and azure.core.tracing.ext.opentelemetry_span* respectively).

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • scanning-api.github.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Comment thread sdk/core/corehttp/pyproject.toml Outdated
Comment thread sdk/core/azure-core-tracing-opentelemetry/pyproject.toml Outdated
Comment thread sdk/core/azure-core-tracing-opentelemetry/setup.py
…havior

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 9, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • scanning-api.github.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

…lemetry

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Mar 9, 2026

Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • scanning-api.github.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@l0lawrence l0lawrence marked this pull request as draft March 9, 2026 16:37
Comment thread sdk/core/azure-core/pyproject.toml
Comment thread sdk/core/corehttp/pyproject.toml
@l0lawrence l0lawrence marked this pull request as ready for review March 10, 2026 16:36
@l0lawrence
Copy link
Copy Markdown
Member

/check-enforcer override unrelated failures

@l0lawrence l0lawrence merged commit 079e76b into main Mar 10, 2026
47 of 52 checks passed
@l0lawrence l0lawrence deleted the copilot/port-data-plane-packages-to-pyproject branch March 10, 2026 19:41
aprilk-ms pushed a commit that referenced this pull request Mar 11, 2026
* Initial plan

* Migrate data-plane packages in core/ to use pyproject.toml

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* Fix pyproject.toml issues: add dependencies=[] to azure-common, restrict package discovery for extension packages

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* fixed?

* remove tests

* Remove samples* exclusion from corehttp to match original setup.py behavior

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* Restore include-based package discovery for azure-core-tracing-opentelemetry

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* more fixes

* this

* fixing ci still

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>
Co-authored-by: Libba Lawrence <llawrence@microsoft.com>
singankit pushed a commit that referenced this pull request Mar 16, 2026
* Initial plan

* Migrate data-plane packages in core/ to use pyproject.toml

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* Fix pyproject.toml issues: add dependencies=[] to azure-common, restrict package discovery for extension packages

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* fixed?

* remove tests

* Remove samples* exclusion from corehttp to match original setup.py behavior

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* Restore include-based package discovery for azure-core-tracing-opentelemetry

Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>

* more fixes

* this

* fixing ci still

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: l0lawrence <100643745+l0lawrence@users.noreply.github.com>
Co-authored-by: Libba Lawrence <llawrence@microsoft.com>
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.

5 participants