SAP / SAP/python-pyodata

chore: refactorings for Python 3.10 as minimum version

Open
#302 0 comments 0 reactions 1 assignee View on GitHub

@phanak-sap is already working on this.

Since Jun 20, 2026.

chore
Dominant language
Python
Stars
268
Forks
100
PR merge metrics
No merged PRs in 30d

Description

  • [PEP 604] Replace isinstance(x, (A, B)) with isinstance(x, A | B)service.py lines ~1306 and ~1711
  • [PEP 634 / HIGH] Refactor _build_expression operator dispatch to match/caseservice.py (removes
    too-many-return-statements, too-many-branches pylint suppression)
  • [PEP 634 / HIGH] Refactor MetadataBuilder.build() XML type dispatch to match/casemodel.py ~line
    2737
  • [PEP 634 / MEDIUM] Refactor function_import_handler return-type dispatch to match/caseservice.py
    ~line 1711
  • [PEP 634 / MEDIUM] Refactor navigation property multiplicity dispatch to match/caseservice.py ~line
    859
  • [PEP 634 / LOW] Refactor ValueHelper.from_etree annotation property dispatch to match/case
    model.py ~line 2473
  • [CLEANUP] Replace all super(ClassName, self) with super() — 46 locations across exceptions.py,
    model.py, service.py, vendor/SAP.py

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.