]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.13] gh-74955: Document that __all__ must contain strings in normalization form...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 24 Mar 2026 02:01:06 +0000 (03:01 +0100)
committerGitHub <noreply@github.com>
Tue, 24 Mar 2026 02:01:06 +0000 (02:01 +0000)
(cherry picked from commit c81e1843d4bc0a51cf4f77d19b5ac4e49f714a0d)

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Doc/reference/simple_stmts.rst

index 5a9c398b54ca92ab2b27321aa7adc6dc0e417498..8ed456a731b101e45545f18cebfb2784bee3138a 100644 (file)
@@ -834,7 +834,9 @@ where the :keyword:`import` statement occurs.
 
 The *public names* defined by a module are determined by checking the module's
 namespace for a variable named ``__all__``; if defined, it must be a sequence
-of strings which are names defined or imported by that module.  The names
+of strings which are names defined or imported by that module.
+Names containing non-ASCII characters must be in the `normalization form`_
+NFKC.  The names
 given in ``__all__`` are all considered public and are required to exist.  If
 ``__all__`` is not defined, the set of public names includes all names found
 in the module's namespace which do not begin with an underscore character
@@ -868,6 +870,8 @@ determine dynamically the modules to be loaded.
 
 .. audit-event:: import module,filename,sys.path,sys.meta_path,sys.path_hooks import
 
+.. _normalization form: https://www.unicode.org/reports/tr15/#Norm_Forms
+
 .. _future:
 
 Future statements