Skip to content

chore: Migrate to pyproject.toml for package configuration #20#135

Merged
ayeshurun merged 65 commits intomicrosoft:mainfrom
ayeshurun:enhance-py-project
Jan 14, 2026
Merged

chore: Migrate to pyproject.toml for package configuration #20#135
ayeshurun merged 65 commits intomicrosoft:mainfrom
ayeshurun:enhance-py-project

Conversation

@ayeshurun
Copy link
Copy Markdown
Collaborator

@ayeshurun ayeshurun commented Jan 14, 2026

📥 Pull Request

✨ Description of new changes

🚀 What's new?

This PR modernizes our Python packaging by migrating all configuration from requirements.txt, MANIFEST.in, and mypy.ini into a single pyproject.toml file. This aligns the project with modern Python packaging standards (PEP 621).

🔧 What was changed?

  • pyproject.toml:

    • Consolidated all package metadata, dependencies, and tool configurations.
    • Dependencies are now defined in [project.dependencies].
    • Optional dependencies for development and documentation are grouped under [project.optional-dependencies] as dev and docs extras.
    • mypy configuration is now located in the [tool.mypy] section.
  • CI/CD Workflows (.github/workflows/):

    • The build (fab-build.yml) and documentation (documentation.yml) workflows have been updated to use the new dependency groups (pip install -e .[docs], pip install build).
  • Development Environment (scripts/install_dev_container_dependencies.sh):

    • The dev container setup script now installs dependencies using pip3 install --user -e .[dev], ensuring a consistent environment with the new configuration.
  • 🗑️ Deleted Files:

    • requirements.txt
    • pytest.in
    • mypy.ini

🎯 Why was it changed?

  • Standardization: Adopts the current best practices for Python packaging.
  • Simplicity: Reduces the number of configuration files, making the project easier to navigate and maintain.
  • Consistency: Ensures that dependency management is consistent across local development, CI, and packaging.

ayeshurun and others added 30 commits September 17, 2025 17:11
chore: Introduce release workflowc
@ayeshurun ayeshurun requested a review from a team as a code owner January 14, 2026 09:24
Comment thread pyproject.toml
@ayeshurun ayeshurun merged commit a4ab3c2 into microsoft:main Jan 14, 2026
10 checks passed
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.

4 participants