Skip to content

[Communication] Migrate packages from setup.py to pyproject.toml#46651

Draft
l0lawrence wants to merge 5 commits intoAzure:mainfrom
l0lawrence:migrate-pyproject/batch-03-communication
Draft

[Communication] Migrate packages from setup.py to pyproject.toml#46651
l0lawrence wants to merge 5 commits intoAzure:mainfrom
l0lawrence:migrate-pyproject/batch-03-communication

Conversation

@l0lawrence
Copy link
Copy Markdown
Member

Summary

Migrates 9 Communication data-plane package(s) from setup.py to a PEP 621 [project] table in pyproject.toml. Modeled after sdk/ai/azure-ai-projects/pyproject.toml.

Packages migrated

  • sdk\communication\azure-communication-callautomation
  • sdk\communication\azure-communication-chat
  • sdk\communication\azure-communication-email
  • sdk\communication\azure-communication-identity
  • sdk\communication\azure-communication-jobrouter
  • sdk\communication\azure-communication-messages
  • sdk\communication\azure-communication-phonenumbers
  • sdk\communication\azure-communication-rooms
  • sdk\communication\azure-communication-sms

Notes

  • license set as SPDX expression MIT (drops the License :: OSI Approved :: MIT License classifier).
  • version is written as a static string read from _version.py at migration time. Dynamic attr resolution fails inside uv build-isolation for legacy pkgutil.extend_path namespaces, so static is used.
  • readme remains dynamic via README.md + CHANGELOG.md.

Part of the ongoing effort to migrate all active data-plane packages off setup.py.

l0lawrence and others added 2 commits May 1, 2026 09:11
Packages: azure-communication-callautomation, azure-communication-chat, azure-communication-email, azure-communication-identity, azure-communication-jobrouter, azure-communication-messages, azure-communication-phonenumbers, azure-communication-rooms, azure-communication-sms

Move package metadata from setup.py to PEP 621 [project] table in
pyproject.toml. Removes setup.py.

- build-system: setuptools >= 77.0.3
- license -> SPDX 'MIT' (drops the License classifier)
- version: static (read from each package's _version.py at migration time)
- readme: dynamic via README.md + CHANGELOG.md
- packages.find excludes mirror the canonical azure-sdk template

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…ackages

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@l0lawrence l0lawrence force-pushed the migrate-pyproject/batch-03-communication branch 5 times, most recently from a5ba529 to b79a66f Compare May 1, 2026 19:21
l0lawrence and others added 3 commits May 1, 2026 12:25
- Restore project.dynamic = ["readme"] outside optional-dependencies
- Add maintainers / fix package-data / dev-status / exclude as needed

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore the exact include/exclude lists used by setup.py's find_packages()
call so the migration is fully behavior-preserving.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore the exact include/exclude lists used by setup.py's find_packages()
call so the migration is fully behavior-preserving.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant