# Proposal: \`PrivateSet\[T\]\` — a type hint for externally read-only, internally writable fields

**URL:** <https://discuss.python.org/t/proposal-privateset-t-a-type-hint-for-externally-read-only-internally-writable-fields/104040>\
**Category:** Typing\
**Tags:** typing\
**Created:** [September 30, 2025, 4:45am UTC](https://discuss.python.org/t/proposal-privateset-t-a-type-hint-for-externally-read-only-internally-writable-fields/104040 "2025-09-30T04:45:54Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![blhsing](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/blhsing/32/25812_2.png) [@blhsing](https://discuss.python.org/u/blhsing)\
**Post date:** [September 30, 2025, 8:51am UTC](https://discuss.python.org/t/proposal-privateset-t-a-type-hint-for-externally-read-only-internally-writable-fields/104040/2 "2025-09-30T08:51:38Z")

</div>

> [@gitkoi](#):
>
> The name `ReadOnly` is already used in `TypedDict` (PEP 705) and other libraries, so alternative names are proposed to avoid confusion

`ReadOnly` is arguably the best name for the purpose and should not cause confusion since the current use is confined to `TypedDict` only.

You can refer to the existing thread/PEP on this topic:

> [@PEP 767: Annotating Read-Only Attributes](https://discuss.python.org/t/pep-767-annotating-read-only-attributes/73408):
>
> Hi, I’m presenting PEP 767. It enables the use of ReadOnly within attribute annotations, as a way to remove [[1]](#footnote-212258-1) the ability to reassign or delete an attribute of an object. Any feedback is welcome! at a type checking level

---

_[View the full topic](https://discuss.python.org/t/proposal-privateset-t-a-type-hint-for-externally-read-only-internally-writable-fields/104040)._
