You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Conversions can be applied at a per-label basis using the ``ulabel`` or ``alabel``
69
-
functions if necessary:
65
+
Conversions can be applied at a per-label basis using the ``ulabel`` or
66
+
``alabel`` functions if necessary:
70
67
71
68
.. code-block:: pycon
72
69
@@ -76,20 +73,22 @@ functions if necessary:
76
73
Compatibility Mapping (UTS #46)
77
74
+++++++++++++++++++++++++++++++
78
75
79
-
As described in `RFC 5895 <https://tools.ietf.org/html/rfc5895>`_, the IDNA
80
-
specification does not normalize input from different potential ways a user
81
-
may input a domain name. This functionality, known as a “mapping”, is
82
-
considered by the specification to be a local user-interface issue distinct
83
-
from IDNA conversion functionality.
76
+
As described in `RFC 5895 <https://tools.ietf.org/html/rfc5895>`_, the
77
+
IDNA specification does not normalize input from different potential
78
+
ways a user may input a domain name. This functionality, known as
79
+
a “mapping”, is considered by the specification to be a local
80
+
user-interface issue distinct from IDNA conversion functionality.
84
81
85
-
This library provides one such mapping, that was developed by the Unicode
86
-
Consortium. Known as `Unicode IDNA Compatibility Processing <https://unicode.org/reports/tr46/>`_,
87
-
it provides for both a regular mapping for typical applications, as well as
88
-
a transitional mapping to help migrate from older IDNA 2003 applications.
82
+
This library provides one such mapping, that was developed by the
83
+
Unicode Consortium. Known as `Unicode IDNA Compatibility Processing
84
+
<https://unicode.org/reports/tr46/>`_, it provides for both a regular
85
+
mapping for typical applications, as well as a transitional mapping to
86
+
help migrate from older IDNA 2003 applications.
89
87
90
-
For example, “Königsgäßchen” is not a permissible label as *LATIN CAPITAL
91
-
LETTER K* is not allowed (nor are capital letters in general). UTS 46 will
92
-
convert this into lower case prior to applying the IDNA conversion.
88
+
For example, “Königsgäßchen” is not a permissible label as *LATIN
89
+
CAPITAL LETTER K* is not allowed (nor are capital letters in general).
90
+
UTS 46 will convert this into lower case prior to applying the IDNA
91
+
conversion.
93
92
94
93
.. code-block:: pycon
95
94
@@ -102,36 +101,38 @@ convert this into lower case prior to applying the IDNA conversion.
102
101
>>> print(idna.decode('xn--knigsgchen-b4a3dun'))
103
102
königsgäßchen
104
103
105
-
Transitional processing provides conversions to help transition from the older
106
-
2003 standard to the current standard. For example, in the original IDNA
107
-
specification, the *LATIN SMALL LETTER SHARP S* (ß) was converted into two
108
-
*LATIN SMALL LETTER S* (ss), whereas in the current IDNA specification this
109
-
conversion is not performed.
104
+
Transitional processing provides conversions to help transition from
105
+
the older 2003 standard to the current standard. For example, in the
106
+
original IDNA specification, the *LATIN SMALL LETTER SHARP S* (ß) was
107
+
converted into two *LATIN SMALL LETTER S* (ss), whereas in the current
108
+
IDNA specification this conversion is not performed.
* **Emoji**. It is an occasional request to support emoji domains in this library. Encoding
199
-
of symbols like emoji is expressly prohibited by the technical standard IDNA 2008 and
200
-
emoji domains are broadly phased out across the domain industry due to associated security
201
-
risks. For now, applications that wish need to support these non-compliant labels may
202
-
wish to consider trying the encode/decode operation in this library first, and then falling
203
-
back to using `encodings.idna`. See `the Github project <https://github.com/kjd/idna/issues/18>`_
204
-
for more discussion.
186
+
* **Version support**. This library supports Python 3.5 and higher.
187
+
As this library serves as a low-level toolkit for a variety of
188
+
applications, many of which strive for broad compatibility with older
189
+
Python versions, there is no rush to remove older intepreter support.
190
+
Removing support for older versions should be well justified in that the
191
+
maintenance burden has become too high.
192
+
193
+
* **Python 2**. Python 2 is supported by version 2.x of this library.
194
+
While active development of the version 2.x series has ended, notable
195
+
issues being corrected may be backported to 2.x. Use "idna<3" in your
196
+
requirements file if you need this library for a Python 2 application.
197
+
198
+
* **Testing**. The library has a test suite based on each rule of the
199
+
IDNA specification, as well as tests that are provided as part of the
200
+
Unicode Technical Standard 46, `Unicode IDNA Compatibility Processing
0 commit comments