Skip to content

DCR: Target Python 3.7 instead of Python 3.6 for BotBuilder-Python #5112

@stevengum

Description

@stevengum

Proposed change

Target Python 3.7 instead of Python 3.6 for BotBuilder-Python

Benefits:

  1. Performance Optimizations
  2. typing module improvements:
    • PEP 563: Postponed Evaluation of Annotations
    • Addresses forward hints (referencing names that haven't yet been defined); good-bye string literals! (PEP 563)
    • Core support for typing module (Much faster) (PEP 560)
  3. asyncio module improvements:
    • much simpler to run asyncio code in synchronous code (asyncio.run(coro))
    • asyncio is faster

Component Impact

No meaningful code changes in our Python SDK

  • In classes with fluent methods we'll use from __future__ import annotations to make use of PEP 563

Customer Impact

  • Users will need to use 3.7 or they'll get SyntaxErrors from the __future__ import

Tracking Status

Python SDK

  • PR
  • Merged

[dcr]

Metadata

Metadata

Assignees

Labels

triagedReviewed by the Triage Team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions