From: John Snow <jsnow@redhat.com>
To: Cleber Rosa <crosa@redhat.com>
Cc: "Fam Zheng" <fam@euphon.net>, "Kevin Wolf" <kwolf@redhat.com>,
"Thomas Huth" <thuth@redhat.com>,
"Eduardo Habkost" <ehabkost@redhat.com>,
qemu-block@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
qemu-devel@nongnu.org,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
"Max Reitz" <mreitz@redhat.com>,
"Willian Rampazzo" <wrampazz@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@redhat.com>,
"Beraldo Leal" <bleal@redhat.com>
Subject: Re: [PATCH v4 08/24] python: Add pipenv support
Date: Wed, 17 Feb 2021 12:28:22 -0500 [thread overview]
Message-ID: <41b213f5-8102-63e3-86d2-68a42f60aa05@redhat.com> (raw)
In-Reply-To: <YCyHVvhDRp+qf4cJ@localhost.localdomain>
On 2/16/21 10:02 PM, Cleber Rosa wrote:
> On Tue, Feb 16, 2021 at 09:59:47PM -0500, Cleber Rosa wrote:
>> On Thu, Feb 11, 2021 at 01:58:40PM -0500, John Snow wrote:
>>> pipenv is a tool used for managing virtual environments with pinned,
>>> explicit dependencies. It is used for precisely recreating python
>>> virtual environments.
>>>
>>> pipenv uses two files to do this:
>>>
>>> (1) Pipfile, which is similar in purpose and scope to what setup.py
>>> lists. It specifies the requisite minimum to get a functional
>>> environment for using this package.
>>>
>>> (2) Pipfile.lock, which is similar in purpose to `pip freeze >
>>> requirements.txt`. It specifies a canonical virtual environment used for
>>> deployment or testing. This ensures that all users have repeatable
>>> results.
>>>
>>> The primary benefit of using this tool is to ensure repeatable CI
>>> results with a known set of packages. Although I endeavor to support as
>>> many versions as I can, the fluid nature of the Python toolchain often
>>> means tailoring code for fairly specific versions.
>>>
>>> Note that pipenv is *not* required to install or use this module; this is
>>> purely for the sake of repeatable testing by CI or developers.
>>>
>>> Here, a "blank" pipfile is added with no dependencies, but specifies
>>> Python 3.6 for the virtual environment.
>>>
>>> Pipfile will specify our version minimums, while Pipfile.lock specifies
>>> an exact loudout of packages that were known to operate correctly. This
>>
>> Layout? Loadout?
>>
>>> latter file provides the real value for easy setup of container images
>>> and CI environments.
>>>
>>> Signed-off-by: John Snow <jsnow@redhat.com>
>>> ---
>>> python/Pipfile | 11 +++++++++++
>>> 1 file changed, 11 insertions(+)
>>> create mode 100644 python/Pipfile
>>>
>>
>> Other than that,
>>
>> Reviewed-by: Cleber Rosa <crosa@redhat.com>
>
> Actually, just one suggestion: bump the position of this patch twice.
> It makes it easier to understand its purpose if it is placed right
> before the "python: add pylint to pipenv" patch.
>
> Cheers,
> - Cleber.
>
The way the series is laid out is:
01-02: pre-requisite fixes
03-07: Create the package, readmes, etc.
08: Pipenv support
09-11: Pylint
12-13: flake8
14-15: mypy
16-17: isort
18-20: Testing and pre-requisites
21-23: Polish
24: CI support
Moving the pipenv patch to just before the final pylint patch works OK,
but breaks up the pylint section. Should I still do it?
--js
(Hm, by this layout, I should probably actually move the pylint fix in
#01 down to appear after the pipenv patch. I could also move the flake8
fixes in #21 up to be near the other flake8 patches.)
next prev parent reply other threads:[~2021-02-17 17:30 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-11 18:58 [PATCH v4 00/24] python: create installable package John Snow
2021-02-11 18:58 ` [PATCH v4 01/24] python/console_socket: avoid one-letter variable John Snow
2021-02-12 4:47 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 02/24] iotests/297: add --namespace-packages to mypy arguments John Snow
2021-02-12 4:53 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 03/24] python: create qemu packages John Snow
2021-02-12 5:17 ` Cleber Rosa
2021-02-15 20:31 ` John Snow
2021-02-11 18:58 ` [PATCH v4 04/24] python: create utils sub-package John Snow
2021-02-17 1:20 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 05/24] python: add qemu package installer John Snow
2021-02-17 2:23 ` Cleber Rosa
2021-02-17 3:38 ` John Snow
2021-02-11 18:58 ` [PATCH v4 06/24] python: add VERSION file John Snow
2021-02-17 2:26 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 07/24] python: add directory structure README.rst files John Snow
2021-02-17 2:47 ` Cleber Rosa
2021-02-18 17:45 ` John Snow
2021-02-11 18:58 ` [PATCH v4 08/24] python: Add pipenv support John Snow
2021-02-17 2:59 ` Cleber Rosa
2021-02-17 3:02 ` Cleber Rosa
2021-02-17 17:28 ` John Snow [this message]
2021-02-17 19:39 ` Cleber Rosa
2021-02-17 3:42 ` John Snow
2021-02-11 18:58 ` [PATCH v4 09/24] python: add pylint import exceptions John Snow
2021-02-17 3:07 ` Cleber Rosa
2021-02-17 3:44 ` John Snow
2021-02-11 18:58 ` [PATCH v4 10/24] python: move pylintrc into setup.cfg John Snow
2021-02-17 3:09 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 11/24] python: add pylint to pipenv John Snow
2021-02-17 4:12 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 12/24] python: move flake8 config to setup.cfg John Snow
2021-02-17 4:17 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 13/24] python: Add flake8 to pipenv John Snow
2021-02-17 4:20 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 14/24] python: move mypy.ini into setup.cfg John Snow
2021-02-11 18:58 ` [PATCH v4 15/24] python: add mypy to pipenv John Snow
2021-02-17 4:38 ` Cleber Rosa
2021-02-17 16:40 ` John Snow
2021-02-11 18:58 ` [PATCH v4 16/24] python: move .isort.cfg into setup.cfg John Snow
2021-02-17 4:44 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 17/24] python/qemu: add isort to pipenv John Snow
2021-02-17 4:45 ` Cleber Rosa
2021-02-11 18:58 ` [PATCH v4 18/24] python/qemu: add qemu package itself " John Snow
2021-02-17 4:47 ` Cleber Rosa
2021-02-17 16:42 ` John Snow
2021-02-11 18:58 ` [PATCH v4 19/24] python: add devel package requirements to setuptools John Snow
2021-02-11 18:58 ` [PATCH v4 20/24] python: add pytest and tests John Snow
2021-02-11 18:58 ` [PATCH v4 21/24] python: add excluded dirs to flake8 config John Snow
2021-02-11 18:58 ` [PATCH v4 22/24] python: add Makefile for some common tasks John Snow
2021-02-11 18:58 ` [PATCH v4 23/24] python: add .gitignore John Snow
2021-02-11 18:58 ` [PATCH v4 24/24] gitlab: add python linters to CI John Snow
2021-02-12 2:52 ` [PATCH v4 00/24] python: create installable package Cleber Rosa
2021-02-15 21:32 ` John Snow
2021-02-17 3:37 ` Cleber Rosa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=41b213f5-8102-63e3-86d2-68a42f60aa05@redhat.com \
--to=jsnow@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=bleal@redhat.com \
--cc=crosa@redhat.com \
--cc=ehabkost@redhat.com \
--cc=fam@euphon.net \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--cc=philmd@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=thuth@redhat.com \
--cc=wainersm@redhat.com \
--cc=wrampazz@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).