Re: [Rfc-markdown] [Tools-discuss] [xml2rfc-dev] [xml2rfc] End of support for xml2rfc on Python 2.x is coming soon

Henrik Levkowetz <> Wed, 09 October 2019 06:09 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4C22D120088; Tue, 8 Oct 2019 23:09:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.096
X-Spam-Status: No, score=-1.096 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01] autolearn=no autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id QXoqMIwSv7yH; Tue, 8 Oct 2019 23:09:20 -0700 (PDT)
Received: from (unknown [IPv6:2001:1890:126c::1:2a]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id DA6C7120019; Tue, 8 Oct 2019 23:09:20 -0700 (PDT)
Received: from ([]:56563 helo=tannat.localdomain) by with esmtpsa (TLS1.2:DHE_RSA_AES_128_CBC_SHA1:128) (Exim 4.80) (envelope-from <>) id 1iI59w-0006IT-Tt; Tue, 08 Oct 2019 23:09:19 -0700
To: Job Snijders <>
References: <> <> <> <>
Cc:, IETF <>, Tools Team Discussion <>, Fred Baker <>,,
From: Henrik Levkowetz <>
Message-ID: <>
Date: Wed, 9 Oct 2019 08:09:08 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:45.0) Gecko/20100101 Thunderbird/45.8.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="WPra5w39DAUrBIQdUjTWnCXHsrFmi8132"
X-SA-Exim-Version: 4.2.1 (built Mon, 26 Dec 2011 16:24:06 +0000)
X-SA-Exim-Scanned: Yes (on
X-Clacks-Overhead: GNU Terry Pratchett
Archived-At: <>
Subject: Re: [Rfc-markdown] [Tools-discuss] [xml2rfc-dev] [xml2rfc] End of support for xml2rfc on Python 2.x is coming soon
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "rfc-markdown is a discussion list for people writing I-Ds and RFCs in Markdown and the authors of the tools used for that." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 09 Oct 2019 06:09:23 -0000

Hi Job,

On 2019-10-09 02:00, Job Snijders wrote:
> On Tue, Oct 8, 2019 at 10:23 PM Henrik Levkowetz <> wrote:
>> On 2019-10-08 23:47, Fred Baker wrote:
>> > That all fine, and as predictable as you say. What would very helpful
>> > would be a road map: if you’re using {windows X|Mac X|Linux
>> > X|whatever}, we think you should look at tools {D,E,F}.
>> >
>> > Speaking personally, I am on a Mac and using XMLmind with Fenner’s
>> > tools. They mostly worked (note the past tense) except when they
>> > didn’t. Telling me “well, ABCDEF supports <IETF tools du jour if you
>> > can read Sanskrit>“ doesn’t quite work.
>> >
>> > I used to write in NROFF. I’ll do what it takes. But really?
>> I'm sorry if the text wasn't clear enough.  The roadmap is this:  Please
>> install Python 3.5 or higher on your system, and install coming versions
>> of xml2rfc using the 'pip3' command which is part of that Python install.
>> When we got to the xml2rfc 3.0.0 release, I had planned to update the
>> release note with the information about using pip3, but I'm perfectly
>> happy saying it now, too.
>> Of course, if your default python is Python 3.5 or higher already, then
>> using plain 'pip' to install will continue to work.
> We should note that the potential for pip/pip3 confusion is a result
> of how the python community approached this transition (acknowleding
> what their options were in context of how the packaging eco system was
> set up). Not ideal, but it is what it is.
> I think it would be good to update public facing documentation about
> xml2rfc that pip3 must be used, to make it very clear that any version
> of xml2rfc is not expected to work correctly on python2 systems.


> Perhaps the final update to xml2rfc 2.x series should be to add a
> check at boot whether the python interpreter's major version is lower
> than 3, and if so, exit the xml2rfc program with an informative
> message and a non-zero exit code, inform the user that python3 must be
> used? Sometimes it is better to just break fast & early.

I think that message will come through clearly on first attempt at
installing the first xml2rfc version requiring Python 3, as I expect
that to tell the user that 'this version of xml2rfc requires Python 3',
but I'll do some testing when I come to that point.  Better to fail
during that installation, but still leave the user and system with a
working (though out-of date) version of xml2rfc, than to install a
version that cannot be used to do work.

> Between the name of the tool (note the 2 in "xlm2rfc"), the industry's
> transition from python 2 to python 3, and IETF's transition from the
> v2 to the v3 RFC XML format, it is no surprise to me end users easily
> become confused. A simple strong message that python2 can't be used
> might be helpful, even if it appears somewhat unforgiving.

Yes.  I'd still like to leave the user with a system which hasn't been
robbed of the xml2rfc functionality as a result of installing 'the last
2.x release of xml2rfc'.

Best regards,