Message ID | 20201020193555.1493936-16-jsnow@redhat.com |
---|---|
State | Superseded |
Headers | show |
Series | python: create installable package | expand |
On Tue, Oct 20, 2020 at 03:35:55PM -0400, John Snow wrote: > This adds the python qemu packages themselves to the pipenv manifest. > 'pipenv sync' will create a virtual environment sufficient to use the SDK. > 'pipenv sync --dev' will create a virtual environment sufficient to use > and test the SDK (with pylint, mypy, isort, flake8, etc.) > > The qemu packages are installed in 'editable' mode; all changes made to > the python package inside the git tree will be reflected in the > installed package without reinstallation. This includes changes made > via git pull and so on. > > Signed-off-by: John Snow <jsnow@redhat.com> > --- Reviewed-by: Cleber Rosa <crosa@redhat.com> Tested-by: Cleber Rosa <crosa@redhat.com>
On 10/28/20 6:59 PM, Cleber Rosa wrote: > On Tue, Oct 20, 2020 at 03:35:55PM -0400, John Snow wrote: >> This adds the python qemu packages themselves to the pipenv manifest. >> 'pipenv sync' will create a virtual environment sufficient to use the SDK. >> 'pipenv sync --dev' will create a virtual environment sufficient to use >> and test the SDK (with pylint, mypy, isort, flake8, etc.) >> >> The qemu packages are installed in 'editable' mode; all changes made to >> the python package inside the git tree will be reflected in the >> installed package without reinstallation. This includes changes made >> via git pull and so on. >> >> Signed-off-by: John Snow <jsnow@redhat.com> >> --- > > Reviewed-by: Cleber Rosa <crosa@redhat.com> > Tested-by: Cleber Rosa <crosa@redhat.com> > Thanks! It looks like the major questions remaining are: - Seriously, how should we lay the files out, and what should the package names be? - Do we want to use something besides pipenv? And from the CI series, a whole heap of other questions ;) Thanks for taking a look and testing. It took a non-trivial amount of time to get all of this corralled together in precisely the right way to make it work in a variety of environments, so I am hoping it's "close" to something that's going to work for everyone. --js
diff --git a/python/Pipfile b/python/Pipfile index 75b96f29d8..214fb175e7 100644 --- a/python/Pipfile +++ b/python/Pipfile @@ -10,6 +10,7 @@ mypy = ">=0.770" pylint = ">=2.6.0" [packages] +qemu = {editable = true,path = "."} [requires] python_version = "3.6" diff --git a/python/Pipfile.lock b/python/Pipfile.lock index 74563b444c..386ca54ea6 100644 --- a/python/Pipfile.lock +++ b/python/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "b89c7a1b8a414f2a4cd708964123fb427d55419ee0b39e088bf2e7d4fbc11979" + "sha256": "e38d142c3fadc2f2ed849e86f7ebd14e25974dc12228751490aef5a9ee074f2f" }, "pipfile-spec": 6, "requires": { @@ -15,7 +15,12 @@ } ] }, - "default": {}, + "default": { + "qemu": { + "editable": true, + "path": "." + } + }, "develop": { "astroid": { "hashes": [
This adds the python qemu packages themselves to the pipenv manifest. 'pipenv sync' will create a virtual environment sufficient to use the SDK. 'pipenv sync --dev' will create a virtual environment sufficient to use and test the SDK (with pylint, mypy, isort, flake8, etc.) The qemu packages are installed in 'editable' mode; all changes made to the python package inside the git tree will be reflected in the installed package without reinstallation. This includes changes made via git pull and so on. Signed-off-by: John Snow <jsnow@redhat.com> --- python/Pipfile | 1 + python/Pipfile.lock | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-)