microsoft / microsoft/PowerPlatform-DataverseClient-Python
`DisplayCollectionName` uses naive + "s" pluralization in tables.create()
Open
@abelmilash-msft is already working on this.
Since Jun 25, 2026.
bug
- Dominant language
- Python
- Stars
- 60
- Forks
- 23
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 3
Description
When creating a table, DisplayCollectionName is always set by appending "s" to the label:
Code:
- https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/f81440d0292933d121127f84677d317fd1f08523/src/PowerPlatform/Dataverse/data/_odata.py#L2121
- https://github.com/microsoft/PowerPlatform-DataverseClient-Python/blob/f81440d0292933d121127f84677d317fd1f08523/src/PowerPlatform/Dataverse/data/_odata.py#L1020
where label is either the provided display_name or falls back to the table schema name. Both paths are affected. Examples of incorrect results:
display_name |
Current result | Expected |
|---|---|---|
"Person" |
"Persons" |
"People" |
"Category" |
"Categorys" |
"Categories" |
"new_Person" (schema fallback) |
"new_Persons" |
"new_People" |
Location: src/PowerPlatform/Dataverse/data/_odata.py, _build_create_entity() (also _create_table() which delegates to it)
Proposed fix: Evaluate and consider a lightweight pluralization library (e.g. inflect).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.