Skip to content

Update .github config files for Python (dependabot, copilot-instructions, templates, CONTRIBUTING) #6

Description

@daviburg

Problem

The .github/ configuration files were copied from the .NET SDK repo and reference C#/.NET tooling throughout:

File Problem
copilot-instructions.md C# coding conventions (this. qualification, Allman braces, file-scoped namespaces)
dependabot.yml Configured for nuget package ecosystem instead of pip
pull_request_template.md References dotnet test and Generated/ C# files
ISSUE_TEMPLATE/bug_report.yml Label says "Azure Connectors .NET SDK", asks for ".NET version"
CONTRIBUTING.md Prerequisites list .NET 8.0 SDK, build/test commands use dotnet CLI

What needs to change

copilot-instructions.md — Python coding conventions

Replace C# conventions with Python equivalents:

C# convention Python equivalent
this. instance qualification self. (automatic in Python)
_camelCase private fields _snake_case private attributes
PascalCase methods snake_case methods, PascalCase classes
ConfigureAwait(false) N/A (Python asyncio doesn't need this)
StringComparison parameter N/A
Allman braces PEP 8 indentation
File-scoped namespaces Module-level organization
XML doc comments Google/NumPy docstrings
var for obvious types Type hints (PEP 484)

Add Python-specific rules:

  • Use async/await for all I/O operations
  • Type hints on all public API signatures
  • snake_case for functions/methods, PascalCase for classes
  • __all__ exports in __init__.py
  • Context managers for client lifecycle (async with)

dependabot.yml — Switch to pip ecosystem

`yaml
version: 2
updates:

  • package-ecosystem: "pip"
    directory: "/src"
    schedule:
    interval: "weekly"
    target-branch: "main"
    groups:
    minor-and-patch:
    update-types: ["minor", "patch"]

  • package-ecosystem: "github-actions"
    directory: "/"
    schedule:
    interval: "weekly"
    target-branch: "main"
    groups:
    minor-and-patch:
    update-types: ["minor", "patch"]
    `

pull_request_template.md — Update for Python

  • Replace dotnet test references with pytest
  • Replace Generated/*.cs with generated Python client files
  • Update checklist items for Python conventions

ISSUE_TEMPLATE/bug_report.yml — Fix labels and fields

  • Change label from "Azure Connectors .NET SDK" to "Azure Connectors Python SDK"
  • Replace ".NET version" field with "Python version"
  • Replace "SDK version" NuGet reference with PyPI/pip reference

CONTRIBUTING.md — Python prerequisites and workflow

  • Prerequisites: Python 3.10+, Git (remove .NET 8.0 SDK)
  • Build: pip install -e ".[dev]" (remove dotnet restore/build)
  • Test: pytest (remove dotnet test)
  • Code style: Reference Python copilot-instructions.md
  • Keep CLA, Code of Conduct, PR guidelines (generic sections)

Reference

Acceptance criteria

  • copilot-instructions.md documents Python conventions (PEP 8, type hints, async patterns)
  • dependabot.yml uses pip ecosystem pointing to /src
  • pull_request_template.md references pytest and Python files
  • bug_report.yml asks for Python version, not .NET version
  • CONTRIBUTING.md has Python prerequisites and commands

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions