All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug 1874678] [NEW] [Feature request] python-qemu package
@ 2020-04-24  9:59 Philippe Mathieu-Daudé
  2020-05-18  8:18 ` [Bug 1874678] " Thomas Huth
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Philippe Mathieu-Daudé @ 2020-04-24  9:59 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

It would be useful to have the python/qemu/ files published as a Python
pip package, so users from distribution can also use the QEMU python
methods (in particular for testing) without having to clone the full
repository.

** Affects: qemu
     Importance: Undecided
         Status: New

** Description changed:

- It would be useful to have the python/qemu/ files publish as a Python
+ It would be useful to have the python/qemu/ files published as a Python
  pip package, so users from distribution can also use the QEMU python
  methods (in particular for testing) without having to clone the full
  repository.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1874678

Title:
  [Feature request] python-qemu package

Status in QEMU:
  New

Bug description:
  It would be useful to have the python/qemu/ files published as a
  Python pip package, so users from distribution can also use the QEMU
  python methods (in particular for testing) without having to clone the
  full repository.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1874678/+subscriptions


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug 1874678] Re: [Feature request] python-qemu package
  2020-04-24  9:59 [Bug 1874678] [NEW] [Feature request] python-qemu package Philippe Mathieu-Daudé
@ 2020-05-18  8:18 ` Thomas Huth
  2020-08-13 11:04 ` Rohit Shinde
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2020-05-18  8:18 UTC (permalink / raw)
  To: qemu-devel

** Changed in: qemu
   Importance: Undecided => Wishlist

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1874678

Title:
  [Feature request] python-qemu package

Status in QEMU:
  New

Bug description:
  It would be useful to have the python/qemu/ files published as a
  Python pip package, so users from distribution can also use the QEMU
  python methods (in particular for testing) without having to clone the
  full repository.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1874678/+subscriptions


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug 1874678] Re: [Feature request] python-qemu package
  2020-04-24  9:59 [Bug 1874678] [NEW] [Feature request] python-qemu package Philippe Mathieu-Daudé
  2020-05-18  8:18 ` [Bug 1874678] " Thomas Huth
@ 2020-08-13 11:04 ` Rohit Shinde
  2020-08-24 15:46 ` John Snow
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Rohit Shinde @ 2020-08-13 11:04 UTC (permalink / raw)
  To: qemu-devel

Hello, I am new to the community and I would like to cut my teeth with
this bug. Is this a good starting point? If so, where should I be
looking?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1874678

Title:
  [Feature request] python-qemu package

Status in QEMU:
  New

Bug description:
  It would be useful to have the python/qemu/ files published as a
  Python pip package, so users from distribution can also use the QEMU
  python methods (in particular for testing) without having to clone the
  full repository.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1874678/+subscriptions


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug 1874678] Re: [Feature request] python-qemu package
  2020-04-24  9:59 [Bug 1874678] [NEW] [Feature request] python-qemu package Philippe Mathieu-Daudé
  2020-05-18  8:18 ` [Bug 1874678] " Thomas Huth
  2020-08-13 11:04 ` Rohit Shinde
@ 2020-08-24 15:46 ` John Snow
  2020-11-11  5:34 ` Thomas Huth
  2021-04-29  6:58 ` Thomas Huth
  4 siblings, 0 replies; 6+ messages in thread
From: John Snow @ 2020-08-24 15:46 UTC (permalink / raw)
  To: qemu-devel

Hi, Rohit! I am actively involved in pursuing this at the moment. I have
patches that do a lot of this work, but they are not complete and did
not get merged in time for 5.1. I will have to update my development
branches (soon) and share that code.

If you'd like to help, there are three main areas of consideration:

(1) I would like to ensure that all code in ./python/qemu is 100%
pylint/mypy/flake8 compliant. I have many patches for this in
particular. Once it's compliant, we need to prevent regressions: This
task is less well defined in my head. Ideally the package is checked
pythonically (via pytest, perhaps?) as well as via hooks in the QEMU
source tree itself as a `make check-python` style target that can be
checked from e.g. gitlab CI.

For now, the python package will live in the QEMU source tree, so it
needs to function in both contexts simultaneously.

I consider this a requisite for packaging our SDK because it will help
us prevent a certain class of regressions. By smoothing out the API and
its typing in advance, the package will be less turbulent and, if needs
be, easier to refactor with confidence in the future.


(2) The code itself needs packaging glue (setup.py et al.). I also have patches here that move ./python/qemu to ./python/qemu/core and installs this as a PEP-420 namespace package, 'qemu.core'. The idea was to add different QEMU modules over time -- possibly with different dependencies, etc.

One of the ideas is for everything in ./python to be checked using the
same flake8/mypy/pylint regimes for consistency; but if we were to
upload any packages to PyPI, I want to be able to upload them
separately. e.g.

./python/qemu/core ==> PyPI "qemu"
./python/qemu/qapi ==> PyPI "qemu.qapi"

I didn't figure out how facilitate that just yet -- at the moment, any
subpackages present in-tree get uploaded as part of the core API, and
that's not what I wanted to do. Some subpackages we create are going to
be ones we don't want to ever upload to PyPI, but having them in a
standard package form will help with regression testing and development
in-tree.


(3) Versioning is a complex topic and needs some consensus.

- Do we version the subpackages separately, or should they use the parent QEMU version?
- Should we release point fixes, or only release alongside official QEMU releases?
- How do we indicate beta status? If we release at version 5.2, people might expect SDK API stability, but we can't promise that yet!
- QEMU does not use semver, but Python ecosystem largely does. The QEMU deprecation policy may not mesh well with Python's expected behavior.

There's a lot there to think about before we push a package to PyPI.
Pushing to PyPI, however, is not a requisite for accomplishing the first
two tasks -- so we can shelf this for a little bit.


If you have some experience with python packaging and distribution and would like to help, let me know. You can sign up for the qemu development mailing list [1], and send a mail introducing yourself and CC the following folks:

John Snow <jsnow@redhat.com>
Cleber Rosa <crosa@redhat.com>
Eduardo Habkost <ehabkost@redhat.com>

Thanks,
--js


[1] https://lists.gnu.org/mailman/listinfo/qemu-devel

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1874678

Title:
  [Feature request] python-qemu package

Status in QEMU:
  New

Bug description:
  It would be useful to have the python/qemu/ files published as a
  Python pip package, so users from distribution can also use the QEMU
  python methods (in particular for testing) without having to clone the
  full repository.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1874678/+subscriptions


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug 1874678] Re: [Feature request] python-qemu package
  2020-04-24  9:59 [Bug 1874678] [NEW] [Feature request] python-qemu package Philippe Mathieu-Daudé
                   ` (2 preceding siblings ...)
  2020-08-24 15:46 ` John Snow
@ 2020-11-11  5:34 ` Thomas Huth
  2021-04-29  6:58 ` Thomas Huth
  4 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2020-11-11  5:34 UTC (permalink / raw)
  To: qemu-devel

** Changed in: qemu
     Assignee: (unassigned) => John Snow (jnsnow)

** Changed in: qemu
       Status: New => In Progress

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1874678

Title:
  [Feature request] python-qemu package

Status in QEMU:
  In Progress

Bug description:
  It would be useful to have the python/qemu/ files published as a
  Python pip package, so users from distribution can also use the QEMU
  python methods (in particular for testing) without having to clone the
  full repository.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1874678/+subscriptions


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug 1874678] Re: [Feature request] python-qemu package
  2020-04-24  9:59 [Bug 1874678] [NEW] [Feature request] python-qemu package Philippe Mathieu-Daudé
                   ` (3 preceding siblings ...)
  2020-11-11  5:34 ` Thomas Huth
@ 2021-04-29  6:58 ` Thomas Huth
  4 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2021-04-29  6:58 UTC (permalink / raw)
  To: qemu-devel

This is an automated cleanup. This bug report has been moved
to QEMU's new bug tracker on gitlab.com and thus gets marked
as 'expired' now. Please continue with the discussion here:

 https://gitlab.com/qemu-project/qemu/-/issues/50


** Changed in: qemu
       Status: In Progress => Expired

** Changed in: qemu
     Assignee: John Snow (jnsnow) => (unassigned)

** Bug watch added: gitlab.com/qemu-project/qemu/-/issues #50
   https://gitlab.com/qemu-project/qemu/-/issues/50

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1874678

Title:
  [Feature request] python-qemu package

Status in QEMU:
  Expired

Bug description:
  It would be useful to have the python/qemu/ files published as a
  Python pip package, so users from distribution can also use the QEMU
  python methods (in particular for testing) without having to clone the
  full repository.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1874678/+subscriptions


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-29  7:06 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-24  9:59 [Bug 1874678] [NEW] [Feature request] python-qemu package Philippe Mathieu-Daudé
2020-05-18  8:18 ` [Bug 1874678] " Thomas Huth
2020-08-13 11:04 ` Rohit Shinde
2020-08-24 15:46 ` John Snow
2020-11-11  5:34 ` Thomas Huth
2021-04-29  6:58 ` Thomas Huth

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.