qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: Rohit Shinde <rohit.shinde12194@gmail.com>
Cc: crosa@redhat.com, QEMU Developers <qemu-devel@nongnu.org>,
	ehabkost@redhat.com
Subject: Re: Contributor wanting to get started with simple contributions
Date: Wed, 14 Oct 2020 13:59:10 -0400	[thread overview]
Message-ID: <d5901da0-e1b7-af23-36db-80f4a0ac0e28@redhat.com> (raw)
In-Reply-To: <CA+Ai=tCvVsUNuNZo-gMmsMaQtn+H6CqGstMGhuDgm8rNsf7V5A@mail.gmail.com>

On 10/13/20 2:46 PM, Rohit Shinde wrote:
> Hey John,
> 
> Sorry for the late reply! I was in the midst of a job change and 
> couldn't get time to get to this.
> 
> The work sounds interesting! I have a couple of questions regarding this:
> 
>  1. How do I actually build this part? I am familiar with building and
>     using QEMU. Does the qapi parser get built along with the main code?

It's python, so it doesn't get built. It's in ./scripts/qapi/. It is 
invoked by the build machinery to turn the files in ./qapi into C files 
that get built into QEMU.

Try "make check-qapi-schema" to see this stuff run and get tested.

>  2. If not, how do I start using this part and contributing to it?

Depends on what you want to actually try to do, what interests you, what 
your goals are, etc. Some of the various Python-related tasks that I am 
working on right now are laid out below.

> 
> 
> Thanks,
> Rohit.
> 
> On Tue, Sep 29, 2020 at 9:38 PM John Snow <jsnow@redhat.com 
> <mailto:jsnow@redhat.com>> wrote:
> 
>     On 9/2/20 12:38 PM, Rohit Shinde wrote:
>      > Hey John,
>      >
>      > I wanted to follow up on this, in case you missed my previous
>     email :)
>      >
>      > Thanks,
>      > Rohit.
>      >
> 
>     Sorry Rohit, very buried in my work and haven't been doing a good job
>     with my inbox.
> 
>     Right now, I am working on converting the QAPI parser module to the
>     strictly typed mypy subset:
> 
>     https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg09136.html
> 
>     There are six parts in all, that is part one. I am posting a v4 right
>     now as I write this.
> 

Part one is now merged; parts 2-6 remain.

> 
>     Work that remains to be done after these six parts:
> 
>     - Get ./python/qemu passing under mypy/pylint/flake8 again. I have old
>     patches for this that were on-list prior to the 5.1 release.
> 

This part is done, or mostly done.

>     - Move ./scripts/qapi to ./python/qemu/qapi/
> 

Still pending parts 2-6 of the QAPI cleanup.

>     - Move ./python/qemu to ./python/qemu/core/
> 

Patches on list to do this.

>     - Create a "make check" style script that will run
>     mypy/pylint/flake8/isort on all the code in ./python. (I have patches
>     for this, too.)
> 

Need to resurface old patches to do this. I have a draft that was sent 
to the list prior to 5.1, but haven't touched it since.

>     - Start investigating python scripts in ./scripts and consider moving
>     them to ./python/qemu/tools, fixing them up to pass
>     mypy/flake8/pylint/isort (etc) as I go. There are no existing
>     patches to
>     do this yet.
> 

I started porting ./scripts/qmp very recently. It is based off of my 
python maintainer's branch.

> 
>     Other work I am doing:
> 
>     - Investigating the use of Pydantic to replace ./scripts/qapi/expr.py
>     - Investigating a YAML format for the QAPI parser
>     - Building a JSON-SCHEMA output format for the QAPI generator
> 

Various half-finished drafts exist only on my computer for these.

I also have some very rough prototype work to create an asynchronous QMP 
client in python.

> 
>      > On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde
>      > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>
>     <mailto:rohit.shinde12194@gmail.com
>     <mailto:rohit.shinde12194@gmail.com>>> wrote:
>      >
>      >     Hey John,
>      >
>      >     Sorry to bother you! I just wanted to know if you had any
>     thoughts
>      >     on the mail I sent.
>      >
>      >     Is there anything I can pick up right now with regards to the
>     Python
>      >     package? You mentioned that linting is something that needs to be
>      >     completed before we go ahead, so maybe I can start with that?
>      >
>      >     Thanks,
>      >     Rohit.
>      >
> 



  reply	other threads:[~2020-10-14 18:00 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-13 11:18 Contributor wanting to get started with simple contributions Rohit Shinde
2020-08-25  2:26 ` Rohit Shinde
2020-08-25  5:50   ` Thomas Huth
2020-08-26 15:00     ` Rohit Shinde
2020-08-26 15:51       ` John Snow
2020-08-26 17:55         ` Rohit Shinde
2020-08-29  5:14           ` Rohit Shinde
2020-09-02 16:38             ` Rohit Shinde
2020-09-30  4:38               ` John Snow
2020-10-13 18:46                 ` Rohit Shinde
2020-10-14 17:59                   ` John Snow [this message]
2020-08-27  4:37       ` Thomas Huth
2020-08-28  0:49         ` Rohit Shinde
2020-08-28  4:14           ` Thomas Huth
2020-08-26 15:40   ` John Snow

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=d5901da0-e1b7-af23-36db-80f4a0ac0e28@redhat.com \
    --to=jsnow@redhat.com \
    --cc=crosa@redhat.com \
    --cc=ehabkost@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=rohit.shinde12194@gmail.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).